083c8d48 (main)
and
8eb9f739 (PR)
+465 -252
+7 -0
[
{
"title": "Withdrawals fall back to the permissioned game",
"url": "https://etherscan.io/tx/0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"date": "2026-09-16T00:00:00.00Z",
"description": "Guardian moves the respected game type back to the PermissionedDisputeGame; Kailua proposals stop.",
"type": "general"
},
{
"title": "Kona derivation bug",
"url": "https://github.com/op-rs/kona/issues/3108",
"date": "2025-12-05T00:00:00Z",
"description": "To fix a bug in the Kona derivation, the proof system is updated and a state root manually resolved.",
"type": "incident"
},
{
"title": "Proof System Intervention",
"url": "https://app.blocksec.com/explorer/tx/eth/0xa065f636adfc7cdf08007ee81303028fa4daf291279a75a5ae1d3a975acce806?line=7",
"date": "2025-07-24T00:00:00Z",
"description": "A state root proposal is manually resolved after changing the finalization config.",
"type": "incident"
},
{
"title": "OP Kailua Upgrade",
"url": "https://x.com/build_on_bob/status/1948369793796689925",
"date": "2025-07-17T00:00:00Z",
"description": "BOB returns to the rollup section by using a hybrid zk fault proof system.",
"type": "general"
},
{
"title": "Phase 1: Optimistic BOB",
"url": "https://x.com/build_on_bob/status/1763642185101004914",
"date": "2024-05-01T00:00:00Z",
"description": "BOB bootstrapping as an Optimistic Rollup on Ethereum.",
"type": "general"
}
]
+23 -2
[
{
"address": "0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E",
"sinceTimestamp": 1712862059,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287"
"eth:0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712862419,
"transactionHash": "0x86a85eda6fa19f4bcfe42bfe648335d93dde76ba0c31e0582608eefe04dd29b5",
"implementations": [
"eth:0x994e3B01D130944a3E67BFd3B8Fc73069b959FEc"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1753214303,
"transactionHash": "0xa7881069c54f1028d42b83406ac5a768154f8ff34ad37ec7641b4d45766e77c3",
"implementations": [
"eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1773311975,
"transactionHash": "0x0c0e889a96e766d168753f3e596af7d57a9c07f7d84fb0ba05e3d46adf61ddd8",
"implementations": [
"eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x01868AC54B28257A06Aa0BcDB397447F7B896F7F"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7",
"sinceTimestamp": 1712862107,
"tokens": "*",
"excludedTokens": [
"SolvBTC",
"SolvBTC.BBN"
],
"contract": {
"isVerified": true,
"address": "eth:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"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/0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x091dF5E1284E49fA682407096aD34cfD42B95B72",
"sinceTimestamp": 1713786239,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x091dF5E1284E49fA682407096aD34cfD42B95B72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xB531445401926029B1647669cFAc8b4e5d8C7777"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713786239,
"transactionHash": "0x5c9f70728478f27141b59caee9f7e5e113aa710ae69566331419b511d6e4638b",
"implementations": [
"eth:0xB531445401926029B1647669cFAc8b4e5d8C7777"
]
}
],
"url": "https://etherscan.io/address/0x091dF5E1284E49fA682407096aD34cfD42B95B72#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
]
+8 -6
{
"capability": "universal",
"daLayer": [
"Ethereum"
],
"hostChain": {
"id": "ethereum",
"slug": "ethereum",
"name": "Ethereum"
},
"infrastructure": "Superchain",
"layer": "layer2",
"proofSystem": {
"type": "Optimistic",
"name": "OPFP",
"challengeProtocol": "Interactive"
},
"purposes": [
"Universal",
"Bitcoin DApps"
],
"raas": "Conduit",
"reasonsForBeingOther": [
{
"label": "No proofs",
"shortDescription": "The proof system isn't fully functional",
"description": "Projects without a proper proof system fully rely on single entities to safely update the state. A malicious proposer can finalize an invalid state, which can cause loss of funds."
}
],
"stacks": [
"OP Stack"
],
"stage": "Stage 0",
"type": "Optimistic Rollup",
"type": "Other",
"vm": [
"EVM"
]
}
+8 -15
{
"missing": {
"nextStage": "Stage 1",
"requirements": [
"Users' withdrawals can be censored by the permissioned operators.",
"Upgrades executed by actors with more centralized control than a Security Council provide less than 7d for users to exit if the permissioned operator is down or censoring."
],
"principle": "Compromising ≥75% of the Security Council should be the only way (other than bugs) for a rollup to indefinitely block an L2→L1 message (e.g. a withdrawal) or push an invalid L2→L1 message (e.g. an invalid withdrawal) with a <7d exit window."
},
"stage": "Stage 0",
"summary": [
{
"stage": "Stage 0",
"requirements": [
{
"satisfied": true,
"description": "A complete and functional proof system is deployed."
},
{
"satisfied": true,
"description": "There are at least 5 external actors who can submit fraud proofs."
"satisfied": false,
"description": "Fraud proof submission is not sufficiently decentralized."
},
{
"satisfied": true,
"description": "The project calls itself a rollup."
},
{
"satisfied": true,
"description": "State roots are posted to Ethereum L1."
},
{
"satisfied": true,
"description": "Inputs for the state transition function are posted to Ethereum L1."
},
{
"satisfied": true,
"description": "A source-available node exists that can recreate the state from Ethereum L1 data. Please note that the L2BEAT team has not verified the validity of the node source code. [View code](https://boundless-xyz.github.io/kailua/operate.html)"
"description": "A source-available node exists that can recreate the state from Ethereum L1 data. Please note that the L2BEAT team has not verified the validity of the node source code. [View code](https://github.com/ethereum-optimism/optimism/tree/develop/op-node)"
}
]
},
{
"stage": "Stage 1",
"requirements": [
{
"satisfied": true,
"description": "Users are able to exit without the help of the permissioned operators."
"satisfied": false,
"description": "Users' withdrawals can be censored by the permissioned operators."
},
{
"satisfied": false,
"description": "Upgrades executed by actors with more centralized control than a Security Council provide less than 7d for users to exit if the permissioned operator is down or censoring."
},
{
"satisfied": true,
"description": "The proof system meets the minimum trusted setup requirements defined in the L2BEAT [trusted setup assessment framework](https://forum.l2beat.com/t/the-trusted-setups-framework-for-zk-catalog/381)."
},
{
"satisfied": true,
"description": "Prover source code is published."
},
{
"satisfied": true,
"description": "The sources of all programs used are public and program hashes can be independently regenerated."
}
],
"principle": {
"satisfied": false,
"description": "Compromising ≥75% of the Security Council should be the only way (other than bugs) for a rollup to indefinitely block an L2→L1 message (e.g. a withdrawal) or push an invalid L2→L1 message (e.g. an invalid withdrawal) with a <7d exit window."
}
},
{
"stage": "Stage 2",
"requirements": [
{
"satisfied": true,
"description": "Fraud proof submission is open to everyone."
"satisfied": false,
"description": "Fraud proof submission is open only to whitelisted actors."
},
{
"satisfied": false,
"description": "Upgrades unrelated to onchain provable bugs provide less than 30d to exit."
},
{
"satisfied": false,
"description": "The Security Council's actions are not confined to onchain provable bugs."
}
]
}
]
}
+13 -13
{
"self": {
"stateValidation": {
"value": "Fraud proofs (1R, ZK)",
"description": "Fraud proofs allow actors watching the chain to prove that the state is incorrect. Single round proofs (1R) prove the validity of a state proposal, only requiring a single transaction to resolve. A fault proof eliminates a state proposal by proving that any intermediate state transition in the proposal results in a different state root. For either, a ZK proof is used.",
"sentiment": "good",
"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": 43200,
"challengeDelay": 43200,
"sentiment": "bad",
"orderHint": null,
"executionDelay": 86400,
"challengeDelay": 259200,
"initialBond": {
"value": "0.5"
"value": "0.0"
},
"permissioned": false,
"defenderAdvantage": "not-assessed",
"secondLine": "3d challenge period\n+ 1d execution delay"
"permissioned": true,
"defenderAdvantage": "not-applicable",
"secondLine": "12h challenge period\n+ 12h execution delay"
},
"exitWindow": {
"value": "None",
"description": "There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.",
"sentiment": "bad",
"orderHint": -86400
},
"proposerFailure": {
"value": "Self propose",
"description": "The primary whitelisted proposer has an optimistic advantage, letting them win by default if no conflicting proposals are made. This privilege is dropped after 1mo of inactivity, and anyone can leverage the source available zk prover to prove a fault or a conflicting valid proposal to win against the privileged proposer and/or supply a bond and make a counter proposal at any time.",
"sentiment": "good",
"orderHint": 2592000
"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"
}
}
}
+17 -55
{
"architectureImage": "opstack-rollup-superchain-opfp-kailua",
"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/0x3A75346f81302aAc0333FB5DCDD407e12A6CfA83#code"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0x3C877699263119022Cdaa251058c1BAc8Fc43287#code"
"url": "https://etherscan.io/address/0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c#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 1d. Withdrawal inclusion can be proven before state root settlement, but a 1d period has to pass before it becomes actionable. The process of state root settlement takes a challenge period of at least 3d 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 12h. Withdrawal inclusion can be proven before state root settlement, but a 1d period has to pass before it becomes actionable. The process of state root settlement takes a challenge period of at least 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/0x3C877699263119022Cdaa251058c1BAc8Fc43287#code"
"url": "https://etherscan.io/address/0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c#code"
},
{
"title": "OptimismPortal2.sol - Etherscan source code, finalizeWithdrawalTransaction function",
"url": "https://etherscan.io/address/0x3C877699263119022Cdaa251058c1BAc8Fc43287#code"
"url": "https://etherscan.io/address/0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c#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/0x3C877699263119022Cdaa251058c1BAc8Fc43287#code"
"url": "https://etherscan.io/address/0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c#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/bob.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/bob.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.",
"categories": [
{
"title": "State root proposals",
"description": "Proposers submit state roots as children of any (possibly unresolved) previous state root proposal, by calling the `propose()` function in the KailuaTreasury. A parent state root can have multiple conflicting children, composing a tournament. Each proposer requires to lock a bond, currently set to 0.5 ETH, that can be slashed if any proposal made by them is proven incorrect via a fault proof or a conflicting validity proof. The bond can be withdrawn once the proposer has no more pending proposals that need to be resolved and was not eliminated.\n\nProposals consist of a state root and a reference to their parent and implicitly challenge any sibling proposals who have the same parent. A proposal asserts that the proposed state root constitutes a valid state transition from the parent's state root. To offer efficient zk fault proofs, each proposal must include 3600 intermediate state commitments, each spanning 6 L2 blocks. \n\nProposals target sequential tournament epochs of currently 3600 * 6 L2 blocks. A tournament with a resolved parent tournament, a single child- and no conflicting sibling proposals can be resolved after 3d. \n\nThe **Vanguard** is a privileged actor who can always make the first child proposal on a parent state root. They can, in the worst case, delay each tournament for up to 1mo by not making this first proposal. Sibling proposals made after the Vanguard's initial one or after the 1mo vanguardAdvantage in each tournament are permissionless.",
"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": "Sequencing - Kailua Docs",
"url": "https://boundless-xyz.github.io/kailua/design.html#sequencing"
},
{
"title": "Vanguard - Kailua Docs",
"url": "https://boundless-xyz.github.io/kailua/parameters.html#vanguard-advantage"
"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 frozen if",
"text": "the vanguard exploits their vanguard advantage (1mo), halting the chain until they propose."
"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": "Any conflicting sibling proposals within a tournament that are made within the 3d challenge period of a proposal they are challenging, delay resolving the tournament until sufficient ZK proofs are published to leave one single tournament survivor.\n\nIn the tree of proposed state roots, each parent node can have multiple children. These children are indirectly challenging each other in a tournament, which can only be resolved if but a single child survives. A state root can be resolved if it is **the only remaining proposal** due to any combination of the following elimination methods:\n1. the proposal's challenge period of 3d has ended before a conflicting proposal was made\n2. the proposal is proven correct with a full validity proof (invalidates all conflicting proposals)\n3. a conflicting sibling proposal is proven faulty\n\nProving any of the 3600 intermediate state commitments in a proposal faulty invalidates the entire proposal. Proving a proposal valid invalidates all conflicting siblings. Pruning of a tournament's children happens strictly chronologically, which guarantees that the first faulty proposal of a given proposer is always pruned first. When pruned, an invalid proposal leads to the elimination of its proposer, which invalidates all their subsequent proposals, slashes their bond, and disallows future proposals by the same address. A slashed bond is transferred to an address chosen by the prover who caused the slashing.\n\nA single remaining child in a tournament can be 'resolved' and will be finalized and usable for withdrawals after an execution delay of 1d (time for the Guardian to manually blacklist malicious state roots).",
"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 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 25m 43s. The extension is 51m 26s when the next claim is immediately before split depth 30, and 3h 51m (the standard extension plus the 3h 25m oracle challenge period) immediately before the last depth. Along a full-depth path, cumulative extensions can therefore add up to 1d 10h. 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": [
{
"url": "https://boundless-xyz.github.io/kailua/operate.html",
"title": "How to run a challenger - Boundless Docs"
},
{
"url": "https://boundless-xyz.github.io/kailua/dispute.html",
"title": "Disputes - Kailua Book"
"title": "Fraud Proof Wars: OPFP",
"url": "https://medium.com/l2beat/fraud-proof-wars-b0cb4d0f452a"
}
]
},
{
"title": "Validity proofs",
"description": "Validity proofs and fault proofs both must be accompanied by a ZK proof that ensures that the new state was derived by correctly applying a series of valid user transactions to the previous state. These proofs are then verified on Ethereum by a smart contract.\n\nThe Kailua state validation system is primarily optimistically resolved, so no validity proofs are required in the happy case. But two different zk proofs on unresolved state roots are possible and permissionless: The proveValidity() function proves a state root proposal's full validity, automatically invalidating all conflicting sibling proposals. proveOutputFault() allows any actor to eliminate a state root proposal for which they can prove that any of the 3600 intermediate state transitions in the proposal are not correct. Both are zk proofs of validity, although one is used as an efficient fault proof to invalidate a single conflicting state transition.",
"references": [
{
"url": "https://boundless-xyz.github.io/kailua/introduction.html",
"title": "Kailua Proof System - Boundless Docs"
},
{
"url": "https://github.com/risc0/risc0-ethereum/blob/main/contracts/version-management-design.md",
"title": "Verifier upgrade and deprecation - Kailua Docs"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "the validity proof cryptography is broken or implemented incorrectly."
},
{
"category": "Funds can be stolen if",
"text": "no challenger checks the published state."
},
{
"category": "Funds can be stolen if",
"text": "the proposer routes proof verification through a malicious or faulty verifier by specifying an unsafe route selector."
},
{
"category": "Funds can be frozen if",
"text": "a verifier needed for a given proof is paused by its permissioned owner."
}
]
}
]
},
"stateValidationImage": "kailua"
"warning": "The fault proof system is deployed but is not functional. The dispute game commits to an op-program release that predates the Jovian hardfork active on the chain, so it cannot derive current blocks and no dispute can be resolved correctly by execution. Security relies entirely on the permissioned proposer and challengers."
}
+2 -8
[
{
"projectId": "bob",
"sinceTimestamp": 1712861989,
"type": "liveness",
"subtype": "batchSubmissions",
"params": {
"formula": "transfer",
"from": "0x08F9F14fF43E112B18c96f0986F28Cb1878f1D11",
"to": "0x3A75346f81302aAc0333FB5DCDD407e12A6CfA83"
}
},
{
"projectId": "bob",
"sinceTimestamp": 1712861989,
"type": "l2costs",
"subtype": "batchSubmissions",
"params": {
"formula": "transfer",
"from": "0x08F9F14fF43E112B18c96f0986F28Cb1878f1D11",
"to": "0x3A75346f81302aAc0333FB5DCDD407e12A6CfA83"
}
},
{
"projectId": "bob",
"sinceTimestamp": 1712861989,
"type": "liveness",
"subtype": "stateUpdates",
"params": {
"formula": "functionCall",
"address": "0x96123dbFC3253185B594c6a7472EE5A21E9B1079",
"selector": "0x82ecf2f6",
"signature": "function create(uint32 _gameType, bytes32 _rootClaim, bytes _extraData) payable returns (address proxy_)",
"topics": [
"0x5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e35"
]
"signature": "function create(uint32 _gameType, bytes32 _rootClaim, bytes _extraData) payable returns (address proxy_)"
}
},
{
"projectId": "bob",
"sinceTimestamp": 1712861989,
"type": "l2costs",
"subtype": "stateUpdates",
"params": {
"formula": "functionCall",
"address": "0x96123dbFC3253185B594c6a7472EE5A21E9B1079",
"selector": "0x82ecf2f6",
"signature": "function create(uint32 _gameType, bytes32 _rootClaim, bytes _extraData) payable returns (address proxy_)",
"topics": [
"0x5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e35"
]
"signature": "function create(uint32 _gameType, bytes32 _rootClaim, bytes _extraData) payable returns (address proxy_)"
}
}
]
+2 -2
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Bob Multisig 1",
"name": "Bob Multisig 1",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * DelayedWETH [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * KailuaVerifier \n * SystemConfig [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * SuperchainConfig [via: ProxyAdmin]\n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type \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) \n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * DelayedWETH [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * KailuaVerifier \n * SystemConfig [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * SuperchainConfig [via: ProxyAdmin]\n* Can interact with DisputeGameFactory\n * Allowed to challenge or delete state roots proposed by a Proposer \n * set the dispute game implementation and initial bond for any game type \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) \n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]",
"accounts": [
{
"address": "eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E",
"type": "Contract",
"isVerified": true,
"name": "0xC914…764E",
"url": "https://etherscan.io/address/0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x32B8325b7f12ADB06763D6D04c951AC94e36C3D7",
"type": "EOA",
"isVerified": true,
"name": "0x32B8…C3D7",
"url": "https://etherscan.io/address/0x32B8325b7f12ADB06763D6D04c951AC94e36C3D7"
},
{
"address": "eth:0x3C30D693b23F77d55e14b8e0CFB6C00075ff93aB",
"type": "EOA",
"isVerified": true,
"name": "0x3C30…93aB",
"url": "https://etherscan.io/address/0x3C30D693b23F77d55e14b8e0CFB6C00075ff93aB"
},
{
"address": "eth:0xFB771f2640Dfd37B18332a84817B2a6e994f5BF6",
"type": "EOA",
"isVerified": true,
"name": "0xFB77…5BF6",
"url": "https://etherscan.io/address/0xFB771f2640Dfd37B18332a84817B2a6e994f5BF6"
},
{
"address": "eth:0x81175155D85377C337d92f1FA52Da166C3A4E7Ac",
"type": "EOA",
"isVerified": true,
"name": "0x8117…E7Ac",
"url": "https://etherscan.io/address/0x81175155D85377C337d92f1FA52Da166C3A4E7Ac"
},
{
"address": "eth:0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C",
"type": "EOA",
"isVerified": true,
"name": "0xefCf…dD5C",
"url": "https://etherscan.io/address/0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C"
},
{
"address": "eth:0xA0737fea60F0601A192E3d2c98865A883ab0bda2",
"type": "EOA",
"isVerified": true,
"name": "0xA073…bda2",
"url": "https://etherscan.io/address/0xA0737fea60F0601A192E3d2c98865A883ab0bda2"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 3/5 threshold. \n* Can interact with TimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles **with 3d delay** [via: TimelockController with 3d delay]\n * propose transactions \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierRouter\n * add/remove verifiers and the selectors they are mapped to **with 3d delay** [via: TimelockController with 3d delay]\n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"accounts": [
{
"address": "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609",
"type": "Contract",
"isVerified": true,
"name": "0x2E5b…2609",
"url": "https://etherscan.io/address/0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E",
"type": "EOA",
"isVerified": true,
"name": "0x10B0…6A0E",
"url": "https://etherscan.io/address/0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E"
},
{
"address": "eth:0x751708D6341b36c0C258754fc2DbF96074f5BdC7",
"type": "EOA",
"isVerified": true,
"name": "0x7517…BdC7",
"url": "https://etherscan.io/address/0x751708D6341b36c0C258754fc2DbF96074f5BdC7"
},
{
"address": "eth:0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4",
"type": "EOA",
"isVerified": true,
"name": "0xbF58…73a4",
"url": "https://etherscan.io/address/0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4"
},
{
"address": "eth:0xd5D43445d0227a47cA2eACCb9392352746eD9926",
"type": "EOA",
"isVerified": true,
"name": "0xd5D4…9926",
"url": "https://etherscan.io/address/0xd5D43445d0227a47cA2eACCb9392352746eD9926"
},
{
"address": "eth:0xDA8e7102681f9652FB8a10b70949CF7F260e0A01",
"type": "EOA",
"isVerified": true,
"name": "0xDA8e…0A01",
"url": "https://etherscan.io/address/0xDA8e7102681f9652FB8a10b70949CF7F260e0A01"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x08F9F14fF43E112B18c96f0986F28Cb1878f1D11",
"type": "EOA",
"isVerified": true,
"name": "0x08F9…1D11",
"url": "https://etherscan.io/address/0x08F9F14fF43E112B18c96f0986F28Cb1878f1D11",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69",
"type": "EOA",
"isVerified": true,
"name": "0x7cB1…8C69",
"url": "https://etherscan.io/address/0x7cB1022D30b9860C36b243E7B181A1d46f618C69",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with KailuaTreasury\n * propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock ",
"description": "* Can interact with DisputeGameFactory\n * Allowed to post new state roots of the current layer to the host chain \n* Can interact with KailuaTreasury\n * propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"type": "EOA",
"isVerified": true,
"name": "0xF616…d412",
"url": "https://etherscan.io/address/0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"discoveryDrivenData": true
}
]
}
}
+275 -96
{
"addresses": {
"ethereum": [
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 3.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a098988600d87650Fb061FfAff08B97149Fa84D#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.0.3).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287"
"eth:0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712862419,
"transactionHash": "0x86a85eda6fa19f4bcfe42bfe648335d93dde76ba0c31e0582608eefe04dd29b5",
"implementations": [
"eth:0x994e3B01D130944a3E67BFd3B8Fc73069b959FEc"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1753214303,
"transactionHash": "0xa7881069c54f1028d42b83406ac5a768154f8ff34ad37ec7641b4d45766e77c3",
"implementations": [
"eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1773311975,
"transactionHash": "0x0c0e889a96e766d168753f3e596af7d57a9c07f7d84fb0ba05e3d46adf61ddd8",
"implementations": [
"eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x01868AC54B28257A06Aa0BcDB397447F7B896F7F"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c"
]
}
],
"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 KailuaGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Bob Multisig 1",
"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 Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1752686063,
"transactionHash": "0x3e95a733128abc9cdbd115a77debd0838071a349ac5312955eceda05f647cd6e",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"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 Bob Multisig 1\n * **owner**: Bob Multisig 1",
"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 Bob Multisig 1\n * **challengerFromDGF**: Bob Multisig 1\n * **owner**: Bob Multisig 1\n * **proposerFromDGF**: EOA 2",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x96123dbFC3253185B594c6a7472EE5A21E9B1079#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712862287,
"transactionHash": "0x0acb268e79a76416f50ff0418ab696ada4497fc8ff33747d5edc352ef1d5d1db",
"implementations": [
"eth:0xaa0A1EfD35d6578ea6B5704dbc2c40B36A55B590"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1752759527,
"transactionHash": "0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"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 Bob Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs. This older implementation exposes control-root and selector constants but does not expose a VERSION getter.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa70ddfb3e00fCFD083E64B200FE867104f703E1c"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1752682883,
"transactionHash": "0x4fa702e7eff31a313f049d76f06b704a40c7c520d09ccbf8f9373ca25a6ec37e",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
}
],
"description": "This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Bob Multisig 1\n * **guardian**: Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE925205ad05D8d612Ac205C4941CCd61Fc965C46#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"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 Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712862323,
"transactionHash": "0x4fca0abc9070a610b427308a8db3834aa45a425d87a261c2331eb633974de603",
"implementations": [
"eth:0xA67fc05D295d2Be6bC4cBfad4f880c1c58734212"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1752759527,
"transactionHash": "0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752759527,
"transactionHash": "0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712862131,
"transactionHash": "0x49ca0455d3479f3dec361e05c5b47ac8634c14ca765ad8770401421a038eb39d",
"implementations": [
"eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA"
]
},
{
"timestamp": 1712862371,
"transactionHash": "0x352fc46bb0f6c989aeb3dcb8490cd8d4a74bcfe919f9136b60dcfcbd9405a6a4",
"implementations": [
"eth:0x237853621998a33Fa5B9B820592F4c6f4c158c12"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1752759527,
"transactionHash": "0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752759527,
"transactionHash": "0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"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 Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE3d981643b806FB8030CDB677D6E60892E547EdA#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x048D0cfF3F0729117F44da6494Dbf4d78e593D95",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0xebC3681418136F7A9f6cB4B074B1B19fc85879e1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0xebC3681418136F7A9f6cB4B074B1B19fc85879e1"
]
}
],
"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 Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x048D0cfF3F0729117F44da6494Dbf4d78e593D95#code"
},
{
"name": "L1ERC20TokenBridge",
"isVerified": true,
"address": "eth:0x091dF5E1284E49fA682407096aD34cfD42B95B72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xB531445401926029B1647669cFAc8b4e5d8C7777"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713786239,
"transactionHash": "0x5c9f70728478f27141b59caee9f7e5e113aa710ae69566331419b511d6e4638b",
"implementations": [
"eth:0xB531445401926029B1647669cFAc8b4e5d8C7777"
]
}
],
"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/0x091dF5E1284E49fA682407096aD34cfD42B95B72#code"
},
{
"name": "TimelockController",
"isVerified": true,
"address": "eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 3d.\n* Roles:\n * **canceller**: Safe\n * **defaultAdmin**: TimelockController; ultimately Safe\n * **executor**: Safe\n * **proposer**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0b144E07A0826182B6b59788c34b32Bfa86Fb711#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Bob Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x15F80920C8Fec136e2A804E04f26203FF8dAd19A",
"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/0x15F80920C8Fec136e2A804E04f26203FF8dAd19A#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"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 Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x1efDd13f831ceeEa14940806705A53D3211CD698",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1efDd13f831ceeEa14940806705A53D3211CD698#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7#code"
},
{
"name": "RiscZeroSetVerifier",
"isVerified": true,
"address": "eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Set verifier contract for RISC Zero proofs (version 0.9.0). It allows verifying a whole set of proofs identified with a Merkle root at once, afterwards each individual proof could be efficiently verified just by checking Merkle inclusion against the verified root.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712862335,
"transactionHash": "0xd74512bff91a91df00074f49532b5b49055c084c7adfece6155d7300013a0eac",
"implementations": [
"eth:0x0640c9377a4fAC00225097EACbB0295f4D5fbd76"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1752759527,
"transactionHash": "0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"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 Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6#code"
},
{
"name": "MIPS",
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"address": "eth:0x642d1cc835a81c738313EBe85ED61979a44897bF",
"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",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6463dEE3828677F6270d83d45408044fc5eDB908#code"
"url": "https://etherscan.io/address/0x642d1cc835a81c738313EBe85ED61979a44897bF#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x68dC2cB4e61774873971c499D9b239ec5Ac540E3#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x70A3e3112467E177585eF070B63521c9368F9aA1",
"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/0x70A3e3112467E177585eF070B63521c9368F9aA1#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroSetVerifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x844D5f01161E3559d36f23d0Aa9E9620949aF782#code"
},
{
"name": "RiscZeroVerifierRouter",
"isVerified": true,
"address": "eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (TimelockController).\n* Roles:\n * **owner**: TimelockController; ultimately Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319#code"
},
{
"name": "KailuaTreasury",
"isVerified": true,
"address": "eth:0x9937033Cc967eED9d753e31c77D2F146d002ae53",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.\n* Roles:\n * **vanguard**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9937033Cc967eED9d753e31c77D2F146d002ae53#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9F9994Eb4Cb5200198FEfb470f8b50301662e696#code"
},
{
"name": "KailuaVerifier",
"isVerified": true,
"address": "eth:0xa23bf38299bbCbAA01b9ea8a1d3412D9f405b97d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E"
],
"implementations": [
"eth:0xC9934Db60031aDd319d008f8d643E3b723f28e43"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1777898303,
"transactionHash": "0x237eddbdb5201a747c74cb6964186fdb2dd8c7924d61b2d594a15fd8c286f3ad",
"implementations": [
"eth:0xF59DA245d3D69E5432Afd05008E8D332C1bfAb4e"
]
},
{
"timestamp": 1783496147,
"transactionHash": "0x211cae5e55a0b57029752e11536fb7a4175d8059cb9d4ec37ca7e50d635809dd",
"implementations": [
"eth:0xC9934Db60031aDd319d008f8d643E3b723f28e43"
]
}
],
"description": "* Roles:\n * **admin**: Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa23bf38299bbCbAA01b9ea8a1d3412D9f405b97d#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xa70ddfb3e00fCFD083E64B200FE867104f703E1c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Bob Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa70ddfb3e00fCFD083E64B200FE867104f703E1c#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0xb6B6342ff75b4213cBF101c135f1fC33695acc13",
"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/0xb6B6342ff75b4213cBF101c135f1fC33695acc13#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431"
"eth:0x5020964201C4d65555f33FD9Bc281443d65f4C09"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1773311975,
"transactionHash": "0x0c0e889a96e766d168753f3e596af7d57a9c07f7d84fb0ba05e3d46adf61ddd8",
"implementations": [
"eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0xF458DB6Bb82D2Ffa697E8877872d4d114BC51B5C"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x5020964201C4d65555f33FD9Bc281443d65f4C09"
]
}
],
"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 KailuaGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Bob Multisig 1",
"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 Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC9AC21AcD8696B64270716528bF83630Ea7a293c#code"
},
{
"name": "KailuaGame",
"isVerified": true,
"address": "eth:0xD37b0BEdD9094988a31dBbB6BF77dC97269E742b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD37b0BEdD9094988a31dBbB6BF77dC97269E742b#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1#code"
}
]
},
"escrows": [
{
"address": "0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E",
"sinceTimestamp": 1712862059,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287"
"eth:0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712862419,
"transactionHash": "0x86a85eda6fa19f4bcfe42bfe648335d93dde76ba0c31e0582608eefe04dd29b5",
"implementations": [
"eth:0x994e3B01D130944a3E67BFd3B8Fc73069b959FEc"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1753214303,
"transactionHash": "0xa7881069c54f1028d42b83406ac5a768154f8ff34ad37ec7641b4d45766e77c3",
"implementations": [
"eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1773311975,
"transactionHash": "0x0c0e889a96e766d168753f3e596af7d57a9c07f7d84fb0ba05e3d46adf61ddd8",
"implementations": [
"eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x01868AC54B28257A06Aa0BcDB397447F7B896F7F"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789547003,
"transactionHash": "0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7",
"implementations": [
"eth:0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7",
"sinceTimestamp": 1712862107,
"tokens": "*",
"excludedTokens": [
"SolvBTC",
"SolvBTC.BBN"
],
"contract": {
"isVerified": true,
"address": "eth:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"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/0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x091dF5E1284E49fA682407096aD34cfD42B95B72",
"sinceTimestamp": 1713786239,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x091dF5E1284E49fA682407096aD34cfD42B95B72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xB531445401926029B1647669cFAc8b4e5d8C7777"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713786239,
"transactionHash": "0x5c9f70728478f27141b59caee9f7e5e113aa710ae69566331419b511d6e4638b",
"implementations": [
"eth:0xB531445401926029B1647669cFAc8b4e5d8C7777"
]
}
],
"url": "https://etherscan.io/address/0x091dF5E1284E49fA682407096aD34cfD42B95B72#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Kailua fault proof program v1.3.0",
"description": "Program that executes OP Kona client to derive blocks and generate fault or validity proofs, is a part of ZK non-interactive kailua fault proof system. ",
"proverSystemProject": "risc0",
"programUrl": "https://github.com/boundless-xyz/kailua/tree/v1.3.0/crates/kona",
"title": "OP absolute prestate v1.6.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.6.0/op-program/client",
"verificationStatus": "successful",
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct image ID only on linux OS. Steps below were done on Ubuntu 22.04 OS.\n\nPrepare (see [kailua prerequisites](https://github.com/boundless-xyz/kailua?tab=readme-ov-file#prerequisites)):\n\n1. Install rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`, then `. .cargo/env`.\n2. Install dependency libs `sudo apt-get install build-essential libssl-dev clang`.\n3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n4. Install the risc zero toolkit `curl -L https://risczero.com/install | bash`, then `rzup install`.\n5. Install `just`, `svm` and `foundry`.\n6. Install `clang` and `clang++` version 19.\n\nVerify:\n\n1. Checkout the correct branch in [kailua](https://github.com/boundless-xyz/kailua) repo: `git checkout v1.3.0`. Commit hash should be `a11c73fec58f55010b4c6feec0d5c73dd9346f45`.\n2. Make sure docker is running by running `docker ps`.\n3. Fetch git submodules: `git submodule update --init --recursive`.\n4. Execute just script to build FPVM kona image: `just build-fpvm-kona`.\n5. Execute `just export-fpvm`. This command should output correct ImageID in a format of array of hex values instead of a single string. Note that the array elements will have bytes in the reverse order.",
"hash": "0xb2e2b1513e80ea1e8f998e51bf8e7754eec21dbd0463e0b6b115165ba6bac2bf"
},
{
"title": "Set builder program",
"description": "Recursively verifies a Merkle tree of zk proofs at once, identified by a Merkle Mountain Range root.",
"programUrl": "https://github.com/risc0/risc0-ethereum/tree/v3.0.1/crates/aggregation/guest/set-builder",
"proverSystemProject": "risc0",
"verificationStatus": "successful",
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct image ID only on linux OS. Steps below were done on Ubuntu 22.04 OS.\n\nPrepare:\n\n1. Install rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`, then `. .cargo/env`.\n2. Install dependency libs `sudo apt-get install build-essential`.\n3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n4. Install the risc zero toolkit `curl -L https://risczero.com/install | bash`, then `rzup install`.\n\nVerify:\n\n1. Checkout the correct branch in [risc0-ethereum](https://github.com/risc0/risc0-ethereum/tree/main) repo: `git checkout v3.0.1` . Commit hash should be `365e7b2db4f620fa256580c27558d2623362b9ae `.\n2. Make sure docker is running by running `docker ps `.\n3. Set env var to use Risc Zero docker build: `export RISC0_USE_DOCKER=1`.\n4. From the repo root dir: `cargo risczero build --manifest-path crates/aggregation/guest/set-builder/Cargo.toml` to build elf binaries from sources. This command should output correct ImageID.",
"hash": "0x70909b25db0db00f1d4b4016aeb876f53568a3e5a8e6397cb562d79947a02cc9"
"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.6.0` . Commit hash should be `d6fb90dd489e39efa206b55200766ccc075c1d9b`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.",
"hash": "0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6"
}
],
"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": 1783498944,
"baseTimestamp": 1790944898,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "d963a01d",
"date": "Fri, 02 Oct 2026 12:42:45 GMT",
"timestamp": 1790944898,
"description": "Upgrade 18 (op-contracts/v6.0.0) and Upgrade 19b \"Karst\" (op-contracts/v7.0.0), executed in one transaction on 2026-09-16 by Bob Multisig 1 via Conduit-deployed OPContractsManager (v6.0.0) and OPContractsManagerV2 (v7.1.17).\n\n`respectedGameType` `1337` (KailuaGame) -> `1` (PermissionedDisputeGame), set in the same transaction. KailuaGame stays registered as type `1337`. Type-1 prestate: op-program v1.6.0.\n\n`disputeGameFinalityDelaySeconds` 86400 -> 43200. PermissionedDisputeGame `maxClockDuration` 302400 -> 43200, `clockExtension` 10800 -> 1543. PreimageOracle `challengePeriod` 86400 -> 12343. DelayedWETH `delay` 302400 -> 43200.\n\nSystemConfig `batchInbox` changed.\n\nVersion changes and implementation diffs:\n\n- OptimismPortal2 5.1.1 -> 5.6.1: https://disco.l2beat.com/diff/eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287/eth:0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c\n- SystemConfig 3.11.0 -> 3.14.2: https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\n- DisputeGameFactory 1.3.0 -> 1.6.1: https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\n- AnchorStateRegistry 3.5.0 -> 3.9.0: https://disco.l2beat.com/diff/eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431/eth:0x5020964201C4d65555f33FD9Bc281443d65f4C09\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- SuperchainConfig 2.4.0 -> 2.4.2: https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\n- PermissionedDisputeGame 1.8.0 -> 2.4.0: https://disco.l2beat.com/diff/eth:0x15F80920C8Fec136e2A804E04f26203FF8dAd19A/eth:0x642d1cc835a81c738313EBe85ED61979a44897bF\n- MIPS 1.9.0 -> 1.10.1: https://disco.l2beat.com/diff/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908/eth:0xb6B6342ff75b4213cBF101c135f1fC33695acc13\n- PreimageOracle 1.1.4 -> 1.1.5: https://disco.l2beat.com/diff/eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3/eth:0x70A3e3112467E177585eF070B63521c9368F9aA1\n- DelayedWETH 1.5.0 -> 1.5.1: https://disco.l2beat.com/diff/eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998/eth:0xebC3681418136F7A9f6cB4B074B1B19fc85879e1",
"isHighSeverity": true,
"changeCount": 194,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.1.from:\n- \"eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d\"\n+ \"eth:0x048D0cfF3F0729117F44da6494Dbf4d78e593D95\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x15F80920C8Fec136e2A804E04f26203FF8dAd19A) [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 DelayedWETH (eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d) [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 L1StandardBridge (eth:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7) [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 OptimismMintableERC20Factory (eth:0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6) [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.6:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 6\n+ 9\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a) [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.9:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 9\n+ 12\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract 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 EOA (eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\",\"description\":\"Allowed to post new state roots of the current layer to the host chain.\",\"role\":\".proposerFromDGF\"}\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E) [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+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\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 KailuaGame.\"\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:0x3C877699263119022Cdaa251058c1BAc8Fc43287\"\n+ \"eth:0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c\"\n values.$pastUpgrades.11:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x01868AC54B28257A06Aa0BcDB397447F7B896F7F\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.13:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c\"]]\n values.$upgradeCount:\n- 11\n+ 14\n values.disputeGameFinalityDelaySeconds:\n- 86400\n+ 43200\n values.RespectedGameString:\n- \"KailuaGame\"\n+ \"PermissionedDisputeGame\"\n values.respectedGameType:\n- 1337\n+ 1\n values.version:\n- \"5.1.1\"\n+ \"5.6.1\"\n implementationNames.eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287:\n- \"OptimismPortal2\"\n implementationNames.eth:0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x7daf6049672fd2ab7dc8dd3b6287e1d0a40958346c5e2857c4616a73dcac4da6\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.4:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 4\n+ 7\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x15F80920C8Fec136e2A804E04f26203FF8dAd19A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [0,0,0,0,0]\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6b6b6342ff75b4213cbf101c135f1fc33695acc13c9ac21acd8696b64270716528bf83630ea7a293c048d0cff3f0729117f44da6494dbf4d78e593d95000000000000000000000000000000000000000000000000000000000000ed887cb1022d30b9860c36b243e7b181a1d46f618c69c91482a96e9c2a104d9298d1980eccf8c4dc764e\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69\"\n values.version:\n- \"1.3.0\"\n+ \"1.6.1\"\n+++ severity: HIGH\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x048D0cfF3F0729117F44da6494Dbf4d78e593D95\"\n+++ severity: HIGH\n values.absolutePrestateFromDGF:\n+ \"0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6\"\n+++ severity: HIGH\n values.anchorStateRegistryFromDGF:\n+ \"eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c\"\n+++ severity: HIGH\n values.chainIdFromDGF:\n+ 60808\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0x642d1cc835a81c738313EBe85ED61979a44897bF\"\n+++ severity: HIGH\n values.game5:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game5AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game5Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game5Proposer:\n+ \"UNRESOLVED\"\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:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game9AbsolutePrestate:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game9Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game9Vm:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9Weth:\n+ \"UNRESOLVED\"\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+ 0\n+++ severity: HIGH\n values.vmFromDGF:\n+ \"eth:0xb6B6342ff75b4213cBF101c135f1fC33695acc13\"\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:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\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 SystemConfig (eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xaa1b3bedab4e63198240e9dea4503f0e615e4d18a545961c9f11b72143279fbc\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.10:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 10\n+ 13\n values.batchInbox:\n- \"eth:0x3A75346f81302aAc0333FB5DCDD407e12A6CfA83\"\n+ \"eth:0x008e0E9215d6bDb44A351ce5b8b8037A274f055B\"\n values.getAddresses.delayedWETH:\n+ \"eth:0x048D0cfF3F0729117F44da6494Dbf4d78e593D95\"\n values.getAddresses.opcm:\n+ \"eth:0x60Fb77F80B8319b6BDae875BCc29E2e37627F8d3\"\n values.version:\n- \"3.11.0\"\n+ \"3.14.2\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x048D0cfF3F0729117F44da6494Dbf4d78e593D95\"\n values.isCustomGasToken:\n+ false\n values.lastUsedOPCM:\n+ \"eth:0x60Fb77F80B8319b6BDae875BCc29E2e37627F8d3\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract Bob Multisig 1 (eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\",\"description\":\"Allowed to challenge or delete state roots proposed by a Proposer.\",\"role\":\".challengerFromDGF\"}\n receivedPermissions.4.from:\n- \"eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d\"\n+ \"eth:0x048D0cfF3F0729117F44da6494Dbf4d78e593D95\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xf808a203af41f7932eb8e39985e56a7c75c940a260fb17d76d1003a3793281b5\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\"\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:0xd0216bdcC195abDF77746B6a6347CE85e2535431\"\n+ \"eth:0x5020964201C4d65555f33FD9Bc281443d65f4C09\"\n values.$pastUpgrades.2:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0xF458DB6Bb82D2Ffa697E8877872d4d114BC51B5C\"]]\n values.$pastUpgrades.3:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x5020964201C4d65555f33FD9Bc281443d65f4C09\"]]\n values.$upgradeCount:\n- 2\n+ 5\n values.absolutePrestateFromGame:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.challengePeriodFromOracle:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.disputeGameFinalityDelaySeconds:\n- 86400\n+ 43200\n values.oracleFromVm:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.RespectedGameString:\n- \"KailuaGame\"\n+ \"PermissionedDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 1337\n+ 1\n values.version:\n- \"3.5.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.wethFromGame:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.blacklistedGames:\n+ []\n values.getStartingAnchorRoot:\n+ {\"root\":\"0xdead000000000000000000000000000000000000000000000000000000000000\",\"l2SequenceNumber\":0}\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:0xd0216bdcC195abDF77746B6a6347CE85e2535431:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x5020964201C4d65555f33FD9Bc281443d65f4C09:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA) [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.10:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 10\n+ 13\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46) [opstack/SuperchainConfigFake_expiry] {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.3:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x048D0cfF3F0729117F44da6494Dbf4d78e593D95) [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:0x642d1cc835a81c738313EBe85ED61979a44897bF) [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 PreimageOracle (eth:0x70A3e3112467E177585eF070B63521c9368F9aA1) [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:0xb6B6342ff75b4213cBF101c135f1fC33695acc13) [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": "443fb31c",
"date": "Wed, 08 Jul 2026 08:23:37 GMT",
"timestamp": 1783498944,
"description": "Upgraded Kailua to v1.3.0 release, program hash reproduced. Also rotated ms member.",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract KailuaVerifier (eth:0xa23bf38299bbCbAA01b9ea8a1d3412D9f405b97d) [N/A] {\n +++ description: None\n values.$implementation:\n- \"eth:0xF59DA245d3D69E5432Afd05008E8D332C1bfAb4e\"\n+ \"eth:0xC9934Db60031aDd319d008f8d643E3b723f28e43\"\n values.$pastUpgrades.1:\n+ [\"2026-07-08T07:35:47.000Z\",\"0x211cae5e55a0b57029752e11536fb7a4175d8059cb9d4ec37ca7e50d635809dd\",[\"eth:0xC9934Db60031aDd319d008f8d643E3b723f28e43\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.FPVM_IMAGE_ID:\n- \"0x3768ea4f0e0d940f69c4cc5bd39a9e2772bfe3cb57818ce526bbe68033ee5934\"\n+ \"0xb2e2b1513e80ea1e8f998e51bf8e7754eec21dbd0463e0b6b115165ba6bac2bf\"\n values.ROLLUP_CONFIG_HASH:\n- \"0x8afe7ad42347f5d9f9ad307825d14a39630504005cb998d5132dcd0d0485d64d\"\n+ \"0x56ed6a78ed98a992a16a46513ee4ee496a86302a96d0f2bcee133c21351cd681\"\n implementationNames.eth:0xF59DA245d3D69E5432Afd05008E8D332C1bfAb4e:\n- \"KailuaVerifier\"\n implementationNames.eth:0xC9934Db60031aDd319d008f8d643E3b723f28e43:\n+ \"KailuaVerifier\"\n }\n```\n\n```diff\n contract Bob Multisig 1 (eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) [GnosisSafe] {\n +++ description: None\n values.$members.4:\n- \"eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"eth:0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n }\n```"
}
]
},
{
"id": "6e0a0f51",
"date": "Fri, 03 Jul 2026 10:00:00 GMT",
"timestamp": 1783072732,
"description": "Upgrade to Kailua [v1.2.0](https://github.com/boundless-xyz/kailua/releases/tag/v1.2.0).\n\n- Vanguard advantage activated: previously `0s` (disabled), now `1mo` with a designated vanguard (`0x7cB1022D…`). The vanguard can delay the first child proposal of each parent tournament by up to a month; sibling proposals stay permissionless (v1.2.0 retains the `childCount() == 1` gate).\n- `KailuaGame` impl rotated ([diff](https://disco.l2beat.com/diff/eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF/eth:0xD37b0BEdD9094988a31dBbB6BF77dC97269E742b)) — now holds a direct `KAILUA_VERIFIER` reference (read once from the treasury at construction) and calls the verifier for proof checking. The vanguard gate is unchanged (`assignVanguard`, `vanguardAdvantage`, `childCount() == 1`), but tournament payout economics were reworked (see below).\n- `KailuaTreasury` rotated ([diff](https://disco.l2beat.com/diff/eth:0x9B3E1661bccAF907893B71e4016c01513ae9263C/eth:0x9937033Cc967eED9d753e31c77D2F146d002ae53)) — drops the `RISC_ZERO_VERIFIER`, `FPVM_IMAGE_ID`, and `ROLLUP_CONFIG_HASH` immutables (moved to KailuaVerifier) and holds a `KAILUA_VERIFIER` reference instead.\n- `KailuaVerifier` (new in v1.2.0) — proxy-wrapped, holds the proof config that used to sit on KailuaTreasury, and replaces the previous `RiscZeroVerifierRouter` + emergency-stop path. Adds optional fault-proof permits: a prover can lock collateral to reserve an exclusive window for collecting the fault-proof reward (anti-front-run). On bob the permit window is effectively off (`PERMIT_DELAY=0`, `PERMIT_DURATION=1` → 1-second active window); fault-proof submission remains permissionless.\n- Tournament payout economics reworked (independent of the vanguard gate). Slashed participation bonds now split 1/3 prover / 1/3 winner / 1/3 burn (`ELIMINATION_SPLIT_DENOM=3`, `PROVER_NUM=1`, `WINNER_NUM=1`) accrued via `eliminationRewards` / `winnerSharesByParent` and claimed with `claimEliminationRewards()`, replacing the old full-bond `claimEliminationBonds(uint256)` / `eliminations[]` mechanic. And `KailuaGame.getPayoutRecipient` now routes the fault-proof reward through `KAILUA_VERIFIER.faultProofPermitBeneficiary` before falling back to the fault/validity prover (inert on bob given the 1-second permit window).\n- New FPVM image ID deployed alongside the v1.2.0 contracts.",
"isHighSeverity": true,
"changeCount": 43,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) [global/TimelockController] {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n values.accessControl.PROPOSER_ROLE.members.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.accessControl.CANCELLER_ROLE.members.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.accessControl.EXECUTOR_ROLE.members.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.12:\n+ {\"id\":\"0x5fb8d6ab7b9ad6614a645faf85120306acf72c02bc66de00b027c8ec57eff377\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15db09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc10000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.13:\n+ {\"id\":\"0x336fa76c82918a2642423bcae028021a204288e86965316b58737fb6e6a2d985\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15dd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e630000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.14:\n+ {\"id\":\"0x0c0f9e544f5acb8eafdf44bbd4a1f21cde030970ad1f76c01504ff1c291f0e9d\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15dfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f7830000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.15:\n+ {\"id\":\"0x89a458a6781bd045d785361e429a3df71167dff9e14996fa5f98ca7c5eb9d4c3\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0xd547741fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.16:\n+ {\"id\":\"0x4acc61e26f03e0270258c3fe8aec76d8ce5c80e8e100972e3091fc77c8882819\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0xd547741fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.17:\n+ {\"id\":\"0xf239631e46b22677b2b8b3b35d3780a1de298d9234c6906ce98aa3168d52cc97\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0xd547741ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.15:\n+ {\"id\":\"0x5fb8d6ab7b9ad6614a645faf85120306acf72c02bc66de00b027c8ec57eff377\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15db09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc10000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.16:\n+ {\"id\":\"0x336fa76c82918a2642423bcae028021a204288e86965316b58737fb6e6a2d985\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15dd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e630000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.17:\n+ {\"id\":\"0x0c0f9e544f5acb8eafdf44bbd4a1f21cde030970ad1f76c01504ff1c291f0e9d\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15dfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f7830000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.18:\n+ {\"id\":\"0x89a458a6781bd045d785361e429a3df71167dff9e14996fa5f98ca7c5eb9d4c3\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0xd547741fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.19:\n+ {\"id\":\"0x4acc61e26f03e0270258c3fe8aec76d8ce5c80e8e100972e3091fc77c8882819\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0xd547741fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.20:\n+ {\"id\":\"0xf239631e46b22677b2b8b3b35d3780a1de298d9234c6906ce98aa3168d52cc97\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0xd547741ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n values.Canceller.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.Executor.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.Proposer.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x1efDd13f831ceeEa14940806705A53D3211CD698) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9 that allows pausing (emergency stop) the verifier by its owner.\n values.owner:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaGame (eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF) [risc0/KailuaGame]\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97 that allows pausing (emergency stop) the verifier by its owner.\n values.owner:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n EOA (eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0x9937033Cc967eED9d753e31c77D2F146d002ae53\",\"description\":\"propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock.\",\"role\":\".vanguard\"}]\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85 that allows pausing (emergency stop) the verifier by its owner.\n values.owner:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) [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.game1337:\n- \"eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF\"\n+ \"eth:0xD37b0BEdD9094988a31dBbB6BF77dC97269E742b\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaTreasury (eth:0x9B3E1661bccAF907893B71e4016c01513ae9263C) [risc0/KailuaTreasury]\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 0s.\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D that allows pausing (emergency stop) the verifier by its owner.\n values.owner:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n contract Bob Multisig 1 (eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) [GnosisSafe] {\n +++ description: None\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xa23bf38299bbCbAA01b9ea8a1d3412D9f405b97d\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF that allows pausing (emergency stop) the verifier by its owner.\n values.owner:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n EOA (eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"description\":\"cancel queued transactions.\",\"role\":\".Canceller\"}\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"description\":\"execute transactions that are ready.\",\"role\":\".Executor\"}\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"description\":\"manage all access control roles.\",\"role\":\".defaultAdminAC\",\"via\":[{\"address\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"delay\":259200}]}\n receivedPermissions.3:\n- {\"permission\":\"interact\",\"from\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"description\":\"propose transactions.\",\"role\":\".Proposer\"}\n receivedPermissions.4:\n- {\"permission\":\"interact\",\"from\":\"eth:0x1efDd13f831ceeEa14940806705A53D3211CD698\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n receivedPermissions.6:\n- {\"permission\":\"interact\",\"from\":\"eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n receivedPermissions.7:\n- {\"permission\":\"interact\",\"from\":\"eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n receivedPermissions.8:\n- {\"permission\":\"interact\",\"from\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"description\":\"add/remove verifiers and the selectors they are mapped to.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"delay\":259200}]}\n receivedPermissions.9:\n- {\"permission\":\"interact\",\"from\":\"eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n receivedPermissions.10:\n- {\"permission\":\"interact\",\"from\":\"eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"delay\":259200,\"role\":\".Executor\"}]\n }\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (eth:0x9937033Cc967eED9d753e31c77D2F146d002ae53) [risc0/KailuaTreasury]\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaVerifier (eth:0xa23bf38299bbCbAA01b9ea8a1d3412D9f405b97d) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0xD37b0BEdD9094988a31dBbB6BF77dC97269E742b) [risc0/KailuaGame]\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```"
}
]
},
{
"id": "62d1a908",
"date": "Thu, 04 Jun 2026 17:38:21 GMT",
"timestamp": 1773320760,
"description": "New game name (aggregateVerifier) added to portal.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C) [N/A]\n +++ description: None\n```"
}
]
},
{
"id": "7dab5b50",
"date": "Thu, 12 Mar 2026 13:08:25 GMT",
"timestamp": 1773320760,
"description": "OptimismPortal2 and AnchorStateRegistry upgraded (same tx). proofMaturityDelaySeconds reduced from 604800 (7 days) to 86400 (1 day), disputeGameFinalityDelaySeconds from 302400 (3.5 days) to 86400 (1 day). Actual withdrawal time still depends on Kailua game resolution / proof timing. Templates still match — no new functionality, just constructor parameter changes baked into the new implementations. OptimismPortal2 diff: https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287 AnchorStateRegistry diff: https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431",
"isHighSeverity": true,
"changeCount": 13,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E) {\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 KailuaGame.\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287\"\n values.$pastUpgrades.10:\n+ [\"2026-03-12T10:39:35.000Z\",\"0x0c0e889a96e766d168753f3e596af7d57a9c07f7d84fb0ba05e3d46adf61ddd8\",[\"eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.disputeGameFinalityDelaySeconds:\n- 302400\n+ 86400\n values.proofMaturityDelaySeconds:\n- 604800\n+ 86400\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c) {\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 KailuaGame.\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431\"\n values.$pastUpgrades.1:\n+ [\"2026-03-12T10:39:35.000Z\",\"0x0c0e889a96e766d168753f3e596af7d57a9c07f7d84fb0ba05e3d46adf61ddd8\",[\"eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.disputeGameFinalityDelaySeconds:\n- 302400\n+ 86400\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431:\n+ \"AnchorStateRegistry\"\n }\n```"
}
]
},
{
"id": "c0a5cd9a",
"date": "Fri, 06 Mar 2026 10:05:07 GMT",
"timestamp": 1772791434,
"description": "New KailuaGame and KailuaTreasury instances deployed with the same implementation code (identical source hashes). The ROLLUP_CONFIG_HASH changed (0x4910...→0x69d9...) in preparation for BOB's Jovian hardfork activation on March 12, 2026 (mainnet timestamp 1773325801). The Kailua config hash includes hardfork timestamps, so adding jovian_time changes the hash. Ref: https://github.com/bob-collective/bob/pull/960. The KailuaTreasury L2_BLOCK_NUMBER also advanced (29576476→29835945).\n\nKailuaGame diff: https://disco.l2beat.com/diff/eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a/eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF\n\nKailuaTreasury diff: https://disco.l2beat.com/diff/eth:0xE99AF5F4C60E06Beb3827F4ffdD06E88c55fB895/eth:0x9B3E1661bccAF907893B71e4016c01513ae9263C",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\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.game1337:\n- \"eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a\"\n+ \"eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaGame (eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n- Status: DELETED\n contract KailuaTreasury (eth:0xE99AF5F4C60E06Beb3827F4ffdD06E88c55fB895)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 0s.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (eth:0x9B3E1661bccAF907893B71e4016c01513ae9263C)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 0s.\n```"
}
]
},
{
"id": "d3b597f3",
"date": "Thu, 26 Feb 2026 22:03:44 GMT",
"timestamp": 1772143358,
"description": "BOB's Kailua dispute system was updated with new KailuaGame and KailuaTreasury contract instances. The DisputeGameFactory's game1337 implementation changed from 0xe4341585 to 0xe34577E7.\n\nThe new KailuaTreasury (0xE99AF5F4) retains the 0.5 ETH participation bond but has no vanguard advantage set (previously 1 month). The source code change is the addition of an OP-Contracts v5 compatibility shim: an `anchorStateRegistry()` function that returns `msg.sender`, allowing withdrawals under op-contracts v5.0.0.\n\nThe FPVM image ID also updated (0xf176eb82 → 0x4aca4abd), indicating a new ZK verification image for the RISC Zero prover.\n\nKailuaGame diff: https://disco.l2beat.com/diff/eth:0xe4341585B9BbC55A44C20A3C037058891e7A053b/eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a\n\nKailuaTreasury diff: https://disco.l2beat.com/diff/eth:0x6F27A23Fc28C18EB2C268BFe1d575E051Ad94420/eth:0xE99AF5F4C60E06Beb3827F4ffdD06E88c55fB895",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract KailuaTreasury (eth:0x6F27A23Fc28C18EB2C268BFe1d575E051Ad94420)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.\n```\n\n```diff\n EOA (eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"eth:0x6F27A23Fc28C18EB2C268BFe1d575E051Ad94420\",\"description\":\"propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock.\",\"role\":\".vanguard\"}]\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\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.game1337:\n- \"eth:0xe4341585B9BbC55A44C20A3C037058891e7A053b\"\n+ \"eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaGame (eth:0xe4341585B9BbC55A44C20A3C037058891e7A053b)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (eth:0xE99AF5F4C60E06Beb3827F4ffdD06E88c55fB895)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 0s.\n```"
}
]
},
{
"id": "fa1c0e70",
"date": "Tue, 27 Jan 2026 16:46:34 GMT",
"timestamp": 1769532258,
"description": "New KailuaGame implementation (type 1337) deployed with OP-Contracts v5 compatibility patch. The new implementation adds a mock `anchorStateRegistry()` function that returns `msg.sender` as a workaround - OP-Contracts v5 expects dispute games to have this function for withdrawal finalization.\n\nDiff: https://disco.l2beat.com/diff/eth:0x1E987CF54A39CA2AC5FdC97DCaFbbB805ef356bD/eth:0xe4341585B9BbC55A44C20A3C037058891e7A053b",
"isHighSeverity": true,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract KailuaGame (eth:0x1E987CF54A39CA2AC5FdC97DCaFbbB805ef356bD)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\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.game1337:\n- \"eth:0x1E987CF54A39CA2AC5FdC97DCaFbbB805ef356bD\"\n+ \"eth:0xe4341585B9BbC55A44C20A3C037058891e7A053b\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0xe4341585B9BbC55A44C20A3C037058891e7A053b)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```"
}
]
},
{
"id": "9a3232bd",
"date": "Wed, 21 Jan 2026 10:03:40 GMT",
"timestamp": 1768989690,
"description": "Upgraded to op-contracts v1.8.0-rc.4 (isthmus). Major version upgrades: OptimismPortal2 3.14.0 → 5.1.1, SystemConfig 2.5.0 → 3.11.0, L1CrossDomainMessenger 2.6.0 → 2.11.0, L1StandardBridge 2.3.0 → 2.8.0, L1ERC721Bridge 2.4.0 → 2.9.0, DisputeGameFactory 1.0.1 → 1.3.0. New dispute game infrastructure deployed with MIPS64, PermissionedDisputeGame, DelayedWETH, and AnchorStateRegistry at new addresses. SystemConfig maximumGasLimit increased from 200M to 500M.\n\nNotable changes specific to Bob: disputeGameFinalityDelaySeconds increased from 1 day to 3.5 days, proofMaturityDelaySeconds increased from 1 day to 7 days. SuperchainConfig upgraded to v2.4.0 with pause expiry feature (3mo 1d).",
"isHighSeverity": true,
"changeCount": 123,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0) {\n +++ description: None\n directlyReceivedPermissions.1.from:\n- \"eth:0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13\"\n+ \"eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d\"\n directlyReceivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xeBA14d52F1b19cA65455E5ECaB72D2FfD9e43fEF\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13)\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:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.3.0\"\n+ \"2.8.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.systemConfig:\n+ \"eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.5:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.7:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$pastUpgrades.8:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.4.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.systemConfig:\n+ \"eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E) {\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 KailuaGame.\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.8:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$pastUpgrades.9:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.disputeGameFinalityDelaySeconds:\n- 86400\n+ 302400\n values.proofMaturityDelaySeconds:\n- 86400\n+ 604800\n values.respectedGameTypeUpdatedAt:\n- 1752761915\n+ 1768920023\n values.version:\n- \"3.14.0\"\n+ \"5.1.1\"\n values.anchorStateRegistry:\n+ \"eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c\"\n values.ethLockbox:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n implementationNames.eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.2:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$pastUpgrades.3:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 2\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xe3BD00F57B44E7aa4A6C212878427c85D638702A\"\n+ \"eth:0x15F80920C8Fec136e2A804E04f26203FF8dAd19A\"\n values.version:\n- \"1.0.1\"\n+ \"1.3.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.8:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$pastUpgrades.9:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.guardian:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.initVersion:\n+ 3\n values.l2ChainId:\n+ 60808\n values.minBaseFee:\n+ 0\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.superchainConfig:\n+ \"eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46\"\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract Bob Multisig 1 (eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.4.from:\n- \"eth:0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13\"\n+ \"eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d\"\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n receivedPermissions.13:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xeBA14d52F1b19cA65455E5ECaB72D2FfD9e43fEF\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xe3BD00F57B44E7aa4A6C212878427c85D638702A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.8:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$pastUpgrades.9:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.version:\n- \"2.6.0\"\n+ \"2.11.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.systemConfig:\n+ \"eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46) {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n template:\n- \"opstack/SuperchainConfigFake\"\n+ \"opstack/SuperchainConfigFake_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n description:\n- \"This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.1:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$pastUpgrades.2:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.4.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"3mo 1d\"\n values.proxyAdmin:\n+ \"eth:0xa70ddfb3e00fCFD083E64B200FE867104f703E1c\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n category.name:\n- \"Governance\"\n+ \"Shared Infrastructure\"\n category.priority:\n- 3\n+ 4\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0xeBA14d52F1b19cA65455E5ECaB72D2FfD9e43fEF)\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 (eth:0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x15F80920C8Fec136e2A804E04f26203FF8dAd19A)\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:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d)\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:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c)\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 KailuaGame.\n```"
}
]
},
{
"id": "0af4c649",
"date": "Fri, 05 Dec 2025 16:55:04 GMT",
"timestamp": 1764953632,
"description": "Upgrade to v3.0.4:\n\nFix bug in Kona, update FPVM image id to `0xf176eb82fbbb5d2d281a9cce459062bcdbe65f93d7156829b174fae2b4690c23`.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract KailuaTreasury (eth:0x220C56BCB401001e5D218604c143D38DA107fC4a)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.\n```\n\n```diff\n EOA (eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x220C56BCB401001e5D218604c143D38DA107fC4a\"\n+ \"eth:0x6F27A23Fc28C18EB2C268BFe1d575E051Ad94420\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\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.game1337:\n- \"eth:0xe65E24a2130d0a52A0f9B988dFA06D5759eBa22B\"\n+ \"eth:0x1E987CF54A39CA2AC5FdC97DCaFbbB805ef356bD\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaGame (eth:0xe65E24a2130d0a52A0f9B988dFA06D5759eBa22B)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0x1E987CF54A39CA2AC5FdC97DCaFbbB805ef356bD)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (eth:0x6F27A23Fc28C18EB2C268BFe1d575E051Ad94420)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.\n```"
}
]
},
{
"id": "7742af1a",
"date": "Wed, 03 Dec 2025 08:47:22 GMT",
"timestamp": 1764751565,
"description": "update the FPVM image id from `0x7ce98c36408e86dac21fc16af301740d07a849be0a80529debcb0797fd66f5e3` to `0xd7c1d74ce26e897e8bc7ea094667dcdb04c405ba1836bdb9b0ad773fc9fd0651`, also:\n\n1. switch to permissioned dispute game (type 1): https://app.blocksec.com/explorer/tx/eth/0x0632241f1d1c26ac8f6f32deafaa02c48f35e030c013289ca36d125f8a09ce7b\n2. set implementation for type 1337 (kailua treasury), propose state: https://app.blocksec.com/explorer/tx/eth/0x7e5a439e3040d6ae3a3b604b8a92c584755cb389991c47c6c557979c49c50ec9\n3. resolve game, set implementation for type 1337 (kailua game), switch to gametype 1337 https://app.blocksec.com/explorer/tx/eth/0x3afce50f425057d0505cec3c97729811011862fade71ec3f04ed5d372eb84d69 \n\ntldr: this injects unproven state in the second transaction, which cannot be used for withdrawals but can be used as a base for future state proposals",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract KailuaTreasury (eth:0x0e4152204995877DF34BD26d6dab78baf9393Ae2)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.\n```\n\n```diff\n EOA (eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x0e4152204995877DF34BD26d6dab78baf9393Ae2\"\n+ \"eth:0x220C56BCB401001e5D218604c143D38DA107fC4a\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\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.game1337:\n- \"eth:0x9b9f9CD7A6BfCB55c18bfA35392F409F98B35B44\"\n+ \"eth:0xe65E24a2130d0a52A0f9B988dFA06D5759eBa22B\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaGame (eth:0x9b9f9CD7A6BfCB55c18bfA35392F409F98B35B44)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (eth:0x220C56BCB401001e5D218604c143D38DA107fC4a)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0xe65E24a2130d0a52A0f9B988dFA06D5759eBa22B)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```"
}
]
},
{
"id": "c1f6733c",
"date": "Thu, 13 Nov 2025 11:05:32 GMT",
"timestamp": 1763031834,
"description": "Two verifiers removed from RiscZeroVerifierRouter, unrelated to BOB verifiers still active.",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.10:\n+ {\"id\":\"0xcb59c64b787c143323784e652a53a3df139307efbcefa80b438a461680142a2b\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0x93d237f650bd176900000000000000000000000000000000000000000000000000000000\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.11:\n+ {\"id\":\"0x02c881bb278f937c1b8b577c6a44e474f471442762ddaf1e416b5ae793acf8cc\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0x93d237f6c101b42b00000000000000000000000000000000000000000000000000000000\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.13:\n+ {\"id\":\"0xcb59c64b787c143323784e652a53a3df139307efbcefa80b438a461680142a2b\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0x93d237f650bd176900000000000000000000000000000000000000000000000000000000\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.14:\n+ {\"id\":\"0x02c881bb278f937c1b8b577c6a44e474f471442762ddaf1e416b5ae793acf8cc\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0x93d237f6c101b42b00000000000000000000000000000000000000000000000000000000\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n }\n```"
}
]
},
{
"id": "197c85eb",
"date": "Tue, 30 Sep 2025 16:39:37 GMT",
"timestamp": 1759250312,
"description": "Operator fee decrease, multisig key rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.operatorFeeConstant:\n- 45000000000000\n+ 15000000000000\n }\n```\n\n```diff\n contract Bob Multisig 1 (eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n values.$members.3:\n- \"eth:0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n+ \"eth:0x81175155D85377C337d92f1FA52Da166C3A4E7Ac\"\n }\n```"
}
]
},
{
"id": "d25db477",
"date": "Mon, 08 Sep 2025 10:22:22 GMT",
"timestamp": 1757326876,
"description": "- Added RiscZeroSetVerifier contract that allows verifying a set of proofs at once (identified by a Merkle root). Once a set of proofs is verified, each individual proof could be efficiently verified just by checking Merkle inclusion.\n- Guest program for this verifier could be found here: https://github.com/risc0/risc0-ethereum/tree/main/crates/aggregation.\n- This contract does not verify any zkp on itself and rather redirects them to actual verifeirs.\n- Templatized this RiscZeroSetVerifier.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.9:\n+ {\"id\":\"0xaee8ce52716542c6fedc0f10553f1b763702d9bef05dcdcdf8c5cb2ed8d6cabb\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0xd0a6af30242f9d5b00000000000000000000000000000000000000000000000000000000000000000000000000000000844d5f01161e3559d36f23d0aa9e9620949af782\"}\n }\n```\n\n```diff\n contract RiscZeroVerifierRouter (eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319) {\n +++ description: A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711).\n values.verifier7Manual:\n- \"EXPECT_REVERT\"\n+ \"eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782\"\n }\n```\n\n```diff\n EOA (eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412) {\n +++ description: None\n receivedPermissions.5:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroSetVerifier (eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85)\n +++ description: Set verifier contract for RISC Zero proofs (version 0.9.0). It allows verifying a whole set of proofs identified with a Merkle root at once, afterwards each individual proof could be efficiently verified just by checking Merkle inclusion against the verified root.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782)\n +++ description: A verifier wrapper for the eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85 that allows pausing (emergency stop) the verifier by its owner.\n```"
}
]
},
{
"id": "983d5bd1",
"date": "Wed, 03 Sep 2025 12:05:12 GMT",
"timestamp": 1756900853,
"description": "- Scheduled tx: new risc zero verifier is being added.\n- KailuaTreasury has been updated to change a few immutables related to proving with no code changes.\n- added handler that will discover the new verifier as soon as it is deployed\n- add template for the groth16 verifier v3",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.12:\n+ {\"id\":\"0xaee8ce52716542c6fedc0f10553f1b763702d9bef05dcdcdf8c5cb2ed8d6cabb\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0xd0a6af30242f9d5b00000000000000000000000000000000000000000000000000000000000000000000000000000000844d5f01161e3559d36f23d0aa9e9620949af782\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaTreasury (eth:0x72284bbB177B13db6F7b703846EEDfB24914B764)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 30d.\n```\n\n```diff\n EOA (eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x72284bbB177B13db6F7b703846EEDfB24914B764\"\n+ \"eth:0x0e4152204995877DF34BD26d6dab78baf9393Ae2\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\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.game1337:\n- \"eth:0xD5A72E5C2d8fC5e12cba6F81FA67d9A5F4A48B6a\"\n+ \"eth:0x9b9f9CD7A6BfCB55c18bfA35392F409F98B35B44\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaGame (eth:0xD5A72E5C2d8fC5e12cba6F81FA67d9A5F4A48B6a)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (eth:0x0e4152204995877DF34BD26d6dab78baf9393Ae2)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 30d.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0x9b9f9CD7A6BfCB55c18bfA35392F409F98B35B44)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```"
}
]
},
{
"id": "4349dbdf",
"date": "Tue, 02 Sep 2025 09:11:51 GMT",
"timestamp": 1756804191,
"description": "Increased operator fee.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.operatorFeeConstant:\n- 15000000000000\n+ 45000000000000\n }\n```"
}
]
},
{
"id": "4fcfab69",
"date": "Wed, 20 Aug 2025 13:20:38 GMT",
"timestamp": 1755696029,
"description": "Fee changes.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393) {\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- 10000000\n+ 2000000\n values.operatorFeeConstant:\n- 0\n+ 15000000000000\n }\n```"
}
]
},
{
"id": "5d7229ab",
"date": "Tue, 19 Aug 2025 08:50:03 GMT",
"timestamp": 1755593388,
"description": "The decoded first scheduled and then executed call can be found [here](https://tools.l2beat.com/decoder-new/?data=u7BsvUHxkfBdDESC-TOnvPbZqsA4499vd_7uAAOxpGfTAA&to=0x8eab2d97dfce405a1692a21b3ff3a172d593d319&chainId=1) and it adds a `RiscZeroVerifierEmergencyStop`\n- Address: `0x9f9994eb4cb5200198fefb470f8b50301662e696`\n- Selector: `0x73c457ba`\n\nHonestly im not sure why all other verifiers are commented out if they can still be used. Will ask basti when he gets back. For now i added this one and kept the previous one.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.8:\n+ {\"id\":\"0x8f9bc667a318296f0c9a7a2773fd371cfedc904128c7ff5af6c246d383cb46db\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0xd0a6af3073c457ba000000000000000000000000000000000000000000000000000000000000000000000000000000009f9994eb4cb5200198fefb470f8b50301662e696\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.11:\n+ {\"id\":\"0x8f9bc667a318296f0c9a7a2773fd371cfedc904128c7ff5af6c246d383cb46db\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0xd0a6af3073c457ba000000000000000000000000000000000000000000000000000000000000000000000000000000009f9994eb4cb5200198fefb470f8b50301662e696\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n }\n```\n\n```diff\n contract RiscZeroVerifierRouter (0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319) {\n +++ description: A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711).\n values.verifier6Manual:\n+ \"eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696\"\n errors:\n- {\"verifier6Manual\":\"Processing error occurred.\"}\n }\n```\n\n```diff\n EOA (0xF616A4f81857CFEe54A4A049Ec187172574bd412) {\n +++ description: None\n receivedPermissions.6:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0x2a098988600d87650Fb061FfAff08B97149Fa84D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (0x9F9994Eb4Cb5200198FEfb470f8b50301662e696)\n +++ description: A verifier wrapper for the eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D that allows pausing (emergency stop) the verifier by its owner.\n```"
}
]
},
{
"id": "144a73c4",
"date": "Wed, 06 Aug 2025 12:09:36 GMT",
"timestamp": 1754482163,
"description": "single MS member switched.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Bob Multisig 1 (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n values.$members.3:\n- \"eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n+ \"eth:0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n }\n```"
}
]
},
{
"id": "7493af41",
"date": "Thu, 24 Jul 2025 16:48:18 GMT",
"timestamp": 1753375698,
"description": "set dispute game impl changes to high severity.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract KailuaTreasury (0x0fbC22B052f4745Bc9F80760D2D47E4993F36746)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 30d.\n```\n\n```diff\n EOA (0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x0fbC22B052f4745Bc9F80760D2D47E4993F36746\"\n+ \"eth:0x72284bbB177B13db6F7b703846EEDfB24914B764\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\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.game1337:\n- \"eth:0xCD1173B1B7A93E63070E1Ec37E8c8a9316f5AfDb\"\n+ \"eth:0xD5A72E5C2d8fC5e12cba6F81FA67d9A5F4A48B6a\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaGame (0xCD1173B1B7A93E63070E1Ec37E8c8a9316f5AfDb)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (0x72284bbB177B13db6F7b703846EEDfB24914B764)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 30d.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (0xD5A72E5C2d8fC5e12cba6F81FA67d9A5F4A48B6a)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```"
}
]
},
{
"id": "2f577ebe",
"date": "Wed, 23 Jul 2025 06:06:54 GMT",
"timestamp": 1753250814,
"description": "07-23: Upgrade OptimismPortal2 again to change the finality delays ([no code changes](https://disco.l2beat.com/diff/eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4/eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273)). \n- proofMaturityDelaySeconds: 7d->1d\n- disputeGameFinalityDelaySeconds: 3.5d->1d \n\nUpgrade to standard OP stack v3 contracts (OptiPortal2) with [KAILUA Hybrid mode](https://boundless-xyz.github.io/kailua/design.html) as respected dispute game. Kailua is configured in [Vanguard mode](https://boundless-xyz.github.io/kailua/parameters.html?highlight=vanguard#vanguard-advantage).\n\nsummary:\n- standard op stack contracts\n- standard op stack DisputeGameFactory with **custom** game1337 dispute game implementation\n- state validation: hybrid optimistic + zk proven proposal tree:\n - a proposal must include a bond and a blob with intermediate state roots (3600)\n - any new proposal under the same parent state root implicitly challenges its siblings\n - but to eliminate siblings, such a new proposer needs to actively prove something after making their proposal (since the older siblings would win by their challenge window expiring first)\n - how to compete against siblings:\n 1. MAX_CLOCK_DURATION on a node (KailuaGame) expires without a fault proof or sibling's validity proof = node optimistically wins against all siblings\n 2. a validity proof over the entire range (3600*6 blocks) of a proposal can be zk-proven at any stage, immediately winning the game (**eliminating all siblings**)\n 3. a 'fault proof' **eliminates a single sibling**: proves that a single intermediary state transition (6 blocks) in an opponents proposal results in a different (proven) state root than they committed to\n - vanguard mode:\n - first child proposal (to progress the state) can only be made by the vanguard address for `vanguardAdvantage` period (30d)\n - `proveOutputFault()` and `proveValidity()` are always permissionless during that time (a vanguard's proposal can be (in)validated))\n - siblings can be created as soon as the vanguard has proposed the first, meaning the vanguard only has the 'optimistic' advantage, giving the 'burden of proof' to other actors\n - DISPUTE_GAME_FINALITY_DELAY_SECONDS (execution delay) = 3.5d\n - for everyone incl vanguard this delays finalization of a winning (resolved) state root (for example to have time to blacklist the winning dispute game by the guardian)\n\nsome code:\n- diff PermissionedDisputeGame/KailuaGame: https://disco.l2beat.com/diff/eth:0xF27d54dB0587442b01d6036C0F7f67CDaaBa1743/eth:0xCD1173B1B7A93E63070E1Ec37E8c8a9316f5AfDb\n- moved TimelockController of the RiscZeroVerifierRouter to standard template ([diff](https://disco.l2beat.com/diff/eth:0x45828180bbE489350D621d002968A0585406d487/eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711)): 3d delay, EOA-controlled\n- superchainconfigFake: added v1.2.0 template (same code as opstack superchainconf, different gov addresses): https://disco.l2beat.com/diff/eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7/eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7",
"isHighSeverity": true,
"changeCount": 136,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13\",\"role\":\"admin\"}\n directlyReceivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6\",\"role\":\"admin\"}\n directlyReceivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\",\"role\":\"admin\"}\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xdDa53E23f8a32640b04D7256e651C1db98dB11C1\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xeBA14d52F1b19cA65455E5ECaB72D2FfD9e43fEF\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract L1StandardBridge (0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x79abdbd90460fe2ac0535b5cb7b4c45284322b49a0a090d1c509cdaf35dbc87e\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"eth:0xEEAfA156A5dd3811Ee0D9F91db57A77eA53A8d31\"\n+ \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"1.1.1\"\n+ \"2.3.0\"\n values.otherBridge:\n+ \"eth:0x4200000000000000000000000000000000000010\"\n values.paused:\n+ false\n values.superchainConfig:\n+ \"eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46\"\n implementationNames.eth:0xEEAfA156A5dd3811Ee0D9F91db57A77eA53A8d31:\n- \"L1StandardBridge\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n EOA (0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions.0.description:\n+ \"propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock.\"\n receivedPermissions.0.role:\n- \".PROPOSER\"\n+ \".vanguard\"\n receivedPermissions.0.from:\n- \"eth:0xdDa53E23f8a32640b04D7256e651C1db98dB11C1\"\n+ \"eth:0x0fbC22B052f4745Bc9F80760D2D47E4993F36746\"\n receivedPermissions.0.permission:\n- \"propose\"\n+ \"interact\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E) {\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 KailuaGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0xd7fe53899c31d6d8e73b6724694736dc3c3c4ebc8f4ddbe989fe9d3dba26692d\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\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 KailuaGame.\"\n values.$implementation:\n- \"eth:0x994e3B01D130944a3E67BFd3B8Fc73069b959FEc\"\n+ \"eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273\"\n values.$pastUpgrades.1:\n+ [\"2025-07-17T13:28:47.000Z\",\"0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1\",[\"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-17T13:28:47.000Z\",\"0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1\",[\"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589\"]]\n values.$pastUpgrades.3:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.4:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.5:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$pastUpgrades.6:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]]\n values.$pastUpgrades.7:\n+ [\"2025-07-22T19:58:23.000Z\",\"0xa7881069c54f1028d42b83406ac5a768154f8ff34ad37ec7641b4d45766e77c3\",[\"eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273\"]]\n values.$upgradeCount:\n- 1\n+ 8\n values.GUARDIAN:\n- \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.L2_ORACLE:\n- \"eth:0xdDa53E23f8a32640b04D7256e651C1db98dB11C1\"\n values.SYSTEM_CONFIG:\n- \"eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393\"\n values.version:\n- \"1.7.2\"\n+ \"3.14.0\"\n values.disputeGameFactory:\n+ \"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\"\n values.disputeGameFinalityDelaySeconds:\n+ 86400\n values.guardian:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.proofMaturityDelaySeconds:\n+ 86400\n values.RespectedGameString:\n+ \"KailuaGame\"\n values.respectedGameType:\n+ 1337\n values.respectedGameTypeUpdatedAt:\n+ 1752761915\n values.superchainConfig:\n+ \"eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46\"\n values.systemConfig:\n+ \"eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393\"\n implementationNames.eth:0x994e3B01D130944a3E67BFd3B8Fc73069b959FEc:\n- \"OptimismPortal\"\n implementationNames.eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273:\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\",\"1337\":\"KailuaGame\"}}]\n }\n```\n\n```diff\n contract SystemConfig (0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393) {\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- \"0x29908eb7685943ff431cd384af851ce36a30997bbad880f9b4385bfc3abb86a2\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"eth:0xaa0A1EfD35d6578ea6B5704dbc2c40B36A55B590\"\n+ \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.1:\n+ [\"2025-07-17T13:28:47.000Z\",\"0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1\",[\"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-17T13:28:47.000Z\",\"0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1\",[\"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]]\n values.$pastUpgrades.3:\n+ [\"2025-07-17T13:38:47.000Z\",\"0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56\",[\"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.4:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.5:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.6:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$pastUpgrades.7:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]]\n values.$upgradeCount:\n- 1\n+ 8\n values.version:\n- \"1.3.1\"\n+ \"2.5.0\"\n values.basefeeScalar:\n+ 10000000\n values.BATCH_INBOX_SLOT:\n+ \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n+ \"eth:0x3A75346f81302aAc0333FB5DCDD407e12A6CfA83\"\n values.blobbasefeeScalar:\n+ 611590\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\"\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA\",\"l1ERC721Bridge\":\"eth:0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a\",\"l1StandardBridge\":\"eth:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7\",\"disputeGameFactory\":\"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\",\"optimismPortal\":\"eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E\",\"optimismMintableERC20Factory\":\"eth:0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6\"}\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+ \"eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA\"\n values.l1ERC721Bridge:\n+ \"eth:0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a\"\n values.l1StandardBridge:\n+ \"eth:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7\"\n values.maximumGasLimit:\n+ 200000000\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n values.OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT:\n+ \"0xa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320c\"\n values.OPTIMISM_PORTAL_SLOT:\n+ \"0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac\"\n values.optimismMintableERC20Factory:\n+ \"eth:0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6\"\n values.optimismPortal:\n+ \"eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E\"\n values.START_BLOCK_SLOT:\n+ \"0xa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb19f\"\n values.startBlock:\n+ 19634330\n implementationNames.eth:0xaa0A1EfD35d6578ea6B5704dbc2c40B36A55B590:\n- \"SystemConfig\"\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract Bob Multisig 1 (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n receivedPermissions.0.role:\n- \".CHALLENGER\"\n+ \".guardian\"\n receivedPermissions.0.from:\n- \"eth:0xdDa53E23f8a32640b04D7256e651C1db98dB11C1\"\n+ \"eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46\"\n receivedPermissions.0.permission:\n- \"challenge\"\n+ \"guard\"\n receivedPermissions.1.description:\n+ \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.1.role:\n- \".GUARDIAN\"\n+ \".owner\"\n receivedPermissions.1.from:\n- \"eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E\"\n+ \"eth:0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13\"\n receivedPermissions.1.permission:\n- \"guard\"\n+ \"interact\"\n receivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xdDa53E23f8a32640b04D7256e651C1db98dB11C1\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n receivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xa70ddfb3e00fCFD083E64B200FE867104f703E1c\"}]}\n receivedPermissions.13:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xeBA14d52F1b19cA65455E5ECaB72D2FfD9e43fEF\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n directlyReceivedPermissions.1:\n+ {\"permission\":\"act\",\"from\":\"eth:0xa70ddfb3e00fCFD083E64B200FE867104f703E1c\",\"role\":\".owner\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (0xdDa53E23f8a32640b04D7256e651C1db98dB11C1)\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 L1CrossDomainMessenger (0xE3d981643b806FB8030CDB677D6E60892E547EdA) {\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- \"0xebfb36a18bcaa176678925149b43fdc5f9f943d98a6405ae1cbc26f4c168ff88\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"eth:0x237853621998a33Fa5B9B820592F4c6f4c158c12\"\n+ \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.2:\n+ [\"2025-07-17T13:28:47.000Z\",\"0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1\",[\"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1\"]]\n values.$pastUpgrades.3:\n+ [\"2025-07-17T13:28:47.000Z\",\"0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1\",[\"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.4:\n+ [\"2025-07-17T13:38:47.000Z\",\"0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.5:\n+ [\"2025-07-17T13:38:47.000Z\",\"0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56\",[\"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.6:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$pastUpgrades.7:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]]\n values.$upgradeCount:\n- 2\n+ 8\n values.version:\n- \"1.4.1\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.otherMessenger:\n+ \"eth:0x4200000000000000000000000000000000000007\"\n values.paused:\n+ false\n values.portal:\n+ \"eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E\"\n values.superchainConfig:\n+ \"eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.eth:0x237853621998a33Fa5B9B820592F4c6f4c158c12:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract TimelockController (0x0b144E07A0826182B6b59788c34b32Bfa86Fb711)\n +++ description: A timelock with access control. The current minimum delay is 3d.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (0x0fbC22B052f4745Bc9F80760D2D47E4993F36746)\n +++ description: Entrypoint for state root proposals. Manages bonds and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (0x1efDd13f831ceeEa14940806705A53D3211CD698)\n +++ description: A verifier wrapper for the eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9 that allows pausing (emergency stop) the verifier by its owner.\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 (0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13)\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 OptimismMintableERC20Factory (0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6)\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 L1ERC721Bridge (0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierRouter (0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319)\n +++ description: A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711).\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x96123dbFC3253185B594c6a7472EE5A21E9B1079)\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 (0xa70ddfb3e00fCFD083E64B200FE867104f703E1c)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9)\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (0xCD1173B1B7A93E63070E1Ec37E8c8a9316f5AfDb)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xe3BD00F57B44E7aa4A6C212878427c85D638702A)\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 SuperchainConfig (0xE925205ad05D8d612Ac205C4941CCd61Fc965C46)\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 AnchorStateRegistry (0xeBA14d52F1b19cA65455E5ECaB72D2FfD9e43fEF)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (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": "6f640f84",
"date": "Mon, 14 Jul 2025 12:44:50 GMT",
"timestamp": 1752497090,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L1ERC20TokenBridge (0x091dF5E1284E49fA682407096aD34cfD42B95B72)\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 ProxyAdmin (0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393)\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 Bob Multisig 1 (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0xdDa53E23f8a32640b04D7256e651C1db98dB11C1)\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 L1CrossDomainMessenger (0xE3d981643b806FB8030CDB677D6E60892E547EdA)\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 (0xF2dc77c697e892542cC53336178a78Bb313DFDC7)\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": "e3a1273c",
"date": "Thu, 03 Apr 2025 10:05:37 GMT",
"timestamp": 1743674737,
"description": "ms signer change.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Bob Multisig 1 (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n values.$members.3:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n values.$members.2:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.$members.1:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n }\n```"
}
]
},
{
"id": "163173aa",
"date": "Fri, 21 Mar 2025 10:19:20 GMT",
"timestamp": 1742552360,
"description": "MS signer change.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Bob Multisig 1 (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n values.$members.6:\n- \"0xFB771f2640Dfd37B18332a84817B2a6e994f5BF6\"\n values.$members.5:\n- \"0x32B8325b7f12ADB06763D6D04c951AC94e36C3D7\"\n+ \"0xFB771f2640Dfd37B18332a84817B2a6e994f5BF6\"\n values.$members.4:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0x32B8325b7f12ADB06763D6D04c951AC94e36C3D7\"\n values.$members.3:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n values.$members.2:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n values.$members.1:\n- \"0x56b73FA51e09D0BBFA3A5346aaB7576Edc9d0436\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.$members.0:\n- \"0xC9D2c719d6C8Ba2876FC9B443c7d2690072F04ad\"\n+ \"0x3C30D693b23F77d55e14b8e0CFB6C00075ff93aB\"\n values.$threshold:\n- 5\n+ 4\n values.multisigThreshold:\n- \"5 of 7 (71%)\"\n+ \"4 of 6 (67%)\"\n }\n```"
}
]
},
{
"id": "1ffbb65f",
"date": "Fri, 14 Mar 2025 12:52:53 GMT",
"timestamp": 1741956773,
"description": "MS member change.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract BobMultisig (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n values.$members.6:\n+ \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n values.$members.5:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.$members.4:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n values.$members.3:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0xFB771f2640Dfd37B18332a84817B2a6e994f5BF6\"\n values.$members.2:\n- \"0xFB771f2640Dfd37B18332a84817B2a6e994f5BF6\"\n+ \"0xC9D2c719d6C8Ba2876FC9B443c7d2690072F04ad\"\n values.$members.1:\n- \"0xC9D2c719d6C8Ba2876FC9B443c7d2690072F04ad\"\n+ \"0x56b73FA51e09D0BBFA3A5346aaB7576Edc9d0436\"\n values.$members.0:\n- \"0x56b73FA51e09D0BBFA3A5346aaB7576Edc9d0436\"\n+ \"0x32B8325b7f12ADB06763D6D04c951AC94e36C3D7\"\n values.$threshold:\n- 4\n+ 5\n values.multisigThreshold:\n- \"4 of 6 (67%)\"\n+ \"5 of 7 (71%)\"\n }\n```"
}
]
},
{
"id": "bcb8ea75",
"date": "Wed, 22 May 2024 16:40:05 GMT",
"timestamp": 1716396005,
"description": "Fee change for the L2 fee calculation. The new scalar value is [encoded](https://specs.optimism.io/protocol/exec-engine.html#ecotone-l1-cost-fee-changes-eip-4844-da).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393) {\n +++ description: None\n values.overhead:\n- 188\n+ 0\n values.scalar:\n- 684000\n+ \"452312848583266388373324160190187140051835877600158453279131273430256651056\"\n }\n```\n\n```diff\n contract RollupOwnerMultisig (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n values.nonce:\n- 2\n+ 3\n }\n```"
}
]
},
{
"id": "9ef2e5d6",
"date": "Wed, 08 May 2024 14:32:16 GMT",
"timestamp": 1715178736,
"description": "Initial discovery: BOB (build on bitcoin) is a general-purpose OP stack rollup (.97 similarity with base excluding USDC bridge).\nThey are early in their roadmap but aim to offer BTC defi options, a Bitcoin light client and security inheritance from Bitcoin PoW.",
"isHighSeverity": false,
"changeCount": 12,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract L1ERC20TokenBridge (0x091dF5E1284E49fA682407096aD34cfD42B95B72)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1UsdcBridge (0x450D55a4B4136805B0e5A6BB59377c71FC4FaCBb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x778870B55576Bdb2B5368A3CB225fBcED2B8D0Ff)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract UsdcBridgeOwnerMultisig (0xC73b6E6ec346f9f1A07D2e7A4380858D7BEa0194)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RollupOwnerMultisig (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0xdDa53E23f8a32640b04D7256e651C1db98dB11C1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0xE3d981643b806FB8030CDB677D6E60892E547EdA)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xF2dc77c697e892542cC53336178a78Bb313DFDC7)\n +++ description: None\n```"
}
]
}
]
+95 -54
{
"changes": [
{
"timestamp": 1712862371,
"type": "code",
"earliest": 1712862371
},
{
"timestamp": 1741870439,
"type": "state",
"earliest": 1741870439
},
{
"timestamp": 1742468147,
"type": "state",
"earliest": 1742468147
},
{
"timestamp": 1752686123,
"type": "state",
"earliest": 1752686123
},
{
"timestamp": 1752758927,
"type": "code",
"earliest": 1752758927
},
{
"timestamp": 1752758927,
"type": "code",
"earliest": 1752758927
},
{
"timestamp": 1752758927,
"type": "code",
"earliest": 1752758927
},
{
"timestamp": 1752759527,
"type": "code",
"earliest": 1752759527
},
{
"timestamp": 1752759527,
"type": "code",
"earliest": 1752759527
},
{
"timestamp": 1752759527,
"type": "code",
"updateId": "2f577ebe",
"earliest": 1752759527
},
{
"timestamp": 1752759527,
"type": "state",
"updateId": "2f577ebe",
"earliest": 1752759527
},
{
"timestamp": 1752761915,
"type": "code",
"earliest": 1752761915
},
{
"timestamp": 1752761915,
"type": "code",
"earliest": 1752761915
},
{
"timestamp": 1752761915,
"type": "code",
"earliest": 1752761915
},
{
"timestamp": 1752761915,
"type": "code",
"earliest": 1752761915
},
{
"timestamp": 1752761915,
"type": "state",
"earliest": 1752761915
},
{
"timestamp": 1752764699,
"type": "state",
"earliest": 1752764699
},
{
"timestamp": 1752765491,
"type": "state",
"earliest": 1752765491
},
{
"timestamp": 1753214303,
"type": "code",
"earliest": 1753214303
},
{
"timestamp": 1753361039,
"type": "state",
"updateId": "7493af41",
"earliest": 1753361039
},
{
"timestamp": 1753361759,
"type": "state",
"earliest": 1753361759
},
{
"timestamp": 1755555779,
"type": "state",
"updateId": "5d7229ab",
"earliest": 1755555779
},
{
"timestamp": 1756823843,
"type": "state",
"updateId": "983d5bd1",
"earliest": 1756823843
},
{
"timestamp": 1756838747,
"type": "state",
"earliest": 1756838747
},
{
"timestamp": 1757106887,
"type": "state",
"updateId": "d25db477",
"earliest": 1757106887
},
{
"timestamp": 1762813583,
"type": "state",
"updateId": "c1f6733c",
"earliest": 1762813583
},
{
"timestamp": 1762813655,
"type": "state",
"earliest": 1762813655
},
{
"timestamp": 1764685823,
"type": "state",
"updateId": "7742af1a",
"earliest": 1764685823
},
{
"timestamp": 1764687071,
"type": "state",
"earliest": 1764687071
},
{
"timestamp": 1764861527,
"type": "state",
"updateId": "0af4c649",
"earliest": 1764861527
},
{
"timestamp": 1764861971,
"type": "state",
"earliest": 1764861971
},
{
"timestamp": 1768920023,
"type": "code",
"earliest": 1768920023
},
{
"timestamp": 1768920023,
"type": "code",
"earliest": 1768920023
},
{
"timestamp": 1768920023,
"type": "code",
"earliest": 1768920023
},
{
"timestamp": 1768920023,
"type": "code",
"earliest": 1768920023
},
{
"timestamp": 1768920023,
"type": "code",
"earliest": 1768920023
},
{
"timestamp": 1768920023,
"type": "state",
"updateId": "9a3232bd",
"earliest": 1768920023
},
{
"timestamp": 1768920023,
"type": "state",
"updateId": "9a3232bd",
"earliest": 1768920023
},
{
"timestamp": 1768920023,
"type": "code",
"updateId": "9a3232bd",
"earliest": 1768920023
},
{
"timestamp": 1768920023,
"type": "state",
"updateId": "9a3232bd",
"earliest": 1768920023
},
{
"timestamp": 1769450699,
"type": "state",
"updateId": "fa1c0e70",
"earliest": 1769450699
},
{
"timestamp": 1772045687,
"type": "state",
"updateId": "d3b597f3",
"earliest": 1772045687
},
{
"timestamp": 1772046431,
"type": "state",
"earliest": 1772046431
},
{
"timestamp": 1772624639,
"type": "state",
"updateId": "c0a5cd9a",
"earliest": 1772624639
},
{
"timestamp": 1772638067,
"type": "state",
"earliest": 1772638067
},
{
"timestamp": 1773311975,
"type": "code",
"earliest": 1773311975
},
{
"timestamp": 1773311975,
"type": "code",
"earliest": 1773311975
},
{
"timestamp": 1777981427,
"type": "state",
"updateId": "6e0a0f51",
"earliest": 1777981427
},
{
"timestamp": 1777988075,
"type": "state",
"updateId": "6e0a0f51",
"earliest": 1777988075
},
{
"timestamp": 1778580971,
"type": "state",
"updateId": "6e0a0f51",
"earliest": 1778580971
},
{
"timestamp": 1779312767,
"type": "state",
"updateId": "6e0a0f51",
"earliest": 1779312767
},
{
"timestamp": 1779312767,
"type": "state",
"updateId": "6e0a0f51",
"earliest": 1779312767
},
{
"timestamp": 1779312767,
"type": "state",
"updateId": "6e0a0f51",
"earliest": 1779312767
},
{
"timestamp": 1779395783,
"type": "state",
"updateId": "6e0a0f51",
"earliest": 1779395783
},
{
"timestamp": 1783496147,
"type": "code",
"earliest": 1783496147
},
{
"timestamp": 1789547003,
"type": "code",
"earliest": 1789547003
},
{
"timestamp": 1789547003,
"type": "code",
"earliest": 1789547003
},
{
"timestamp": 1789547003,
"type": "code",
"earliest": 1789547003
},
{
"timestamp": 1789547003,
"type": "code",
"earliest": 1789547003
},
{
"timestamp": 1789547003,
"type": "code",
"earliest": 1789547003
},
{
"timestamp": 1789547003,
"type": "code",
"earliest": 1789547003
},
{
"timestamp": 1789547003,
"type": "state",
"updateId": "d963a01d",
"earliest": 1789547003
},
{
"timestamp": 1789547003,
"type": "state",
"updateId": "d963a01d",
"earliest": 1789547003
},
{
"timestamp": 1789547003,
"type": "code",
"updateId": "d963a01d",
"earliest": 1789547003
}
],
"contracts": [
{
"name": "DelayedWETH",
"address": "eth:0x048D0cfF3F0729117F44da6494Dbf4d78e593D95",
"isVerified": true,
"ossifyingSince": 1789547003,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1StandardBridge",
"address": "eth:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7",
"isVerified": true,
"ossifyingSince": 1789547003,
"codeChangeCount": 3,
"stateChangeCount": 2
},
{
"name": "OptimismPortal2",
"address": "eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E",
"isVerified": true,
"ossifyingSince": 1789547003,
"codeChangeCount": 6,
"stateChangeCount": 1
},
{
"name": "DisputeGameFactory",
"address": "eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079",
"isVerified": true,
"ossifyingSince": 1777988075,
"codeChangeCount": 2,
"ossifyingSince": 1789547003,
"codeChangeCount": 3,
"stateChangeCount": 20
},
{
"name": "OptimismPortal2",
"address": "eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E",
"name": "SystemConfig",
"address": "eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393",
"isVerified": true,
"ossifyingSince": 1773311975,
"ossifyingSince": 1789547003,
"codeChangeCount": 5,
"stateChangeCount": 1
"stateChangeCount": 0
},
{
"name": "AnchorStateRegistry",
"address": "eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c",
"isVerified": true,
"ossifyingSince": 1773311975,
"codeChangeCount": 1,
"stateChangeCount": 0
"ossifyingSince": 1789547003,
"codeChangeCount": 2,
"stateChangeCount": 1
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0x15F80920C8Fec136e2A804E04f26203FF8dAd19A",
"name": "L1CrossDomainMessenger",
"address": "eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA",
"isVerified": true,
"ossifyingSince": 1768920023,
"codeChangeCount": 0,
"ossifyingSince": 1789547003,
"codeChangeCount": 6,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d",
"name": "SuperchainConfig",
"address": "eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46",
"isVerified": true,
"ossifyingSince": 1768920023,
"codeChangeCount": 0,
"ossifyingSince": 1789547003,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393",
"name": "PermissionedDisputeGame",
"address": "eth:0x642d1cc835a81c738313EBe85ED61979a44897bF",
"isVerified": true,
"ossifyingSince": 1768920023,
"codeChangeCount": 4,
"ossifyingSince": 1788947087,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA",
"name": "PreimageOracle",
"address": "eth:0x70A3e3112467E177585eF070B63521c9368F9aA1",
"isVerified": true,
"ossifyingSince": 1768920023,
"codeChangeCount": 5,
"ossifyingSince": 1788946907,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SuperchainConfig",
"address": "eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46",
"isVerified": true,
"ossifyingSince": 1768920023,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"address": "eth:0xb6B6342ff75b4213cBF101c135f1fC33695acc13",
"isVerified": true,
"ossifyingSince": 1762212215,
"ossifyingSince": 1788946907,
"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
}
],
"observedSince": 1712862023,
"resets": [
1712862023,
1712862035,
1712862107,
1712862131,
1712862287,
1712862419,
1718237363,
1718237375,
1740762647,
1751494331,
1751494343,
1752682883,
1752682883,
1752686063,
1753250814,
1755283775,
1755283787,
1756842743,
1756842755,
1762212215,
1768920023,
1768920023,
1768920023,
1768989690,
1768989690,
1768989690,
1777898303,
1777898303,
1777898303
1777898303,
1788946907,
1788946907,
1788947087,
1789547003
]
}
+373 -135
+16 -2
[
{
"address": "0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77",
"sinceTimestamp": 1771964639,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1",
"sinceTimestamp": 1771964639,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"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/0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08",
"sinceTimestamp": 1655883630,
"tokens": "*",
"excludedTokens": [
"AXS",
"USDC",
"WBTC",
"YGG",
"WETH"
],
"contract": {
"name": "MainchainGateway",
"isVerified": true,
"address": "eth:0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x2Cf3CFb17774Ce0CFa34bB3f3761904e7fc3FaDB"
],
"implementations": [
"eth:0x5019d41B0737e39B51Fd6dA4859F3e27579E4e69"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1655883630,
"transactionHash": "0x8f2924a52e63564c9cb0b119d72dc8290daa39c59cbe02e7f1ab6b2160ac9aa4",
"implementations": [
"eth:0x2DBA725f0a3485382a7F125a31cBF4361539aF73"
]
},
{
"timestamp": 1656414982,
"transactionHash": "0xbb60c9f020bd6f9c6737b28290f75272d2090f529d8450deafdf5d675fa8bcc0",
"implementations": [
"eth:0x71356E37e0368Bd10bFDbF41dC052fE5FA24cD05"
]
},
{
"timestamp": 1681283663,
"transactionHash": "0xa090f035d1895ab7b69fc72303e122d0c565becf9c6c684ecf7257c0311233af",
"implementations": [
"eth:0xa67BA5315AF4961Eb937158032AF9300C657dAcD"
]
},
{
"timestamp": 1698119543,
"transactionHash": "0xbbbeadcbf7df225dfef18cb3add0f29cbd2e90921acb7a3851b3a250832d12fe",
"implementations": [
"eth:0x72E28A9009Ad12dE019BFF418CD210D4bbc3D403"
]
},
{
"timestamp": 1722934127,
"transactionHash": "0x855dd3b1194e3b889f4667b6a0996220e350e034d35d3eab29b4f23bc205767e",
"implementations": [
"eth:0xfc274EC92bBb1A1472884558d1B5CaaC6F8220Ee"
]
},
{
"timestamp": 1724989295,
"transactionHash": "0x167c741a87278fa0a50f0ed15e89edd1d05ed43a5808476e564347f1d34f784d",
"implementations": [
"eth:0xD6c4986bbe09f2dDb262B4611b0BA06891be605e"
]
},
{
"timestamp": 1745306903,
"transactionHash": "0x234e508f2cf87b9d204402ded64d6fa13a65ac85e77b206b0be5718b9ce2a3b5",
"implementations": [
"eth:0x450032864C52Cb9210da8e30cE97CEaC8e215953"
]
},
{
"timestamp": 1751007983,
"transactionHash": "0x4befaa551b1c1300d7476e827cf84165dcf444b2815576ea5003554bdfac1416",
"implementations": [
"eth:0x5019d41B0737e39B51Fd6dA4859F3e27579E4e69"
]
}
],
"description": "Legacy multi-sig-secured Ronin bridge (pre-CCIP). Holds residual ETH and ERC-20 deposits. Withdrawals authorised by the Ronin BridgeOperator threshold-signature set.",
"url": "https://etherscan.io/address/0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Ronin Bridge (legacy multi-sig)"
}
]
},
"chainId": 1
}
]
+4 -4
{
"architectureImage": "opstack-optimium-superchain-opfp",
"dataAvailability": [
{
"name": "Data is posted to EigenDA",
"description": "Transactions roots are posted onchain and the full data is posted on EigenDA. The sequencer is publishing data to EigenDA v2. Since the DACert Verifier is not used, availability of the data is not verified against EigenDA operators, meaning that the Sequencer can single-handedly publish unavailable commitments.",
"risks": [
{
"category": "Funds can be lost if",
"text": "the sequencer posts an unavailable transaction root.",
"isCritical": true
},
{
"category": "Funds can be lost if",
"text": "the data is not available on the external provider.",
"isCritical": true
}
],
"references": [
{
"title": "EigenDA Docs - Overview",
"url": "https://docs.eigenda.xyz/overview"
},
{
"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/0x003A7A2d3129838Adb01c8d9b7DA62Ac6Ec27961#code"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B#code"
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#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/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
},
{
"title": "OptimismPortal2.sol - Etherscan source code, finalizeWithdrawalTransaction function",
"url": "https://etherscan.io/address/0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B#code"
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#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/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#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"
}
]
},
{
"name": "External bridge architecture",
"description": "The May 2026 L2 migration deployed the OP Stack canonical bridge (OptimismPortal2 and L1StandardBridge) but did not migrate user funds into it; it is currently empty. User assets are custodied on two separate L1 paths, neither of which is the canonical bridge analyzed on this page: (1) Chainlink CCIP TokenPools, the active bridge since April 2025, securing 12 tokens including AXS, USDC, WETH, WBTC (new contract), YGG, PIXEL and SLP via Chainlink DON attestations and the Risk Management Network; (2) the legacy MainchainGateway, deprecated in April 2025 but still holding residual balances (legacy WBTC, ETH backing of legacy WETH, dust), withdrawable through the Ronin BridgeOperator stake-weighted multisig. Sky Mavis has not announced a plan to migrate liquidity into the OP Stack bridge.",
"risks": [],
"references": [
{
"title": "MainchainGateway - Etherscan",
"url": "https://etherscan.io/address/0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08"
},
{
"title": "Ronin Bridge to Chainlink CCIP migration - Ronin Blog",
"url": "https://blog.roninchain.com/p/the-ronin-bridge-chainlink-ccip-migration"
}
]
}
],
"stateValidation": {
"description": "Since 2026-09-07 withdrawals are settled against the PermissionedDisputeGame (game type 1). Only the permissioned proposer can create state root proposals and only the permissioned proposer and challenger can dispute them. The game commits to the op-program v1.3.1 absolute prestate, whose embedded superchain-registry snapshot does not include chain ID 2020, so the fault proof program cannot execute the Ronin state transition and no dispute can be resolved correctly by execution. The Kailua ZK game (game type 1337) remains deployed and registered in the DisputeGameFactory but is not the respected game type, so its proposals are not used 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.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"
},
{
"title": "setRespectedGameType(1) - Etherscan",
"url": "https://etherscan.io/tx/0x7f1b70133a82bfc754095412ea556b3582bc2be189f1dbe26f1718827cded482"
},
{
"title": "absolutePrestate hash registered in superchain-registry as op-program v1.3.1",
"url": "https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/standard/standard-prestates.toml"
},
{
"title": "op-program v1.3.1 release (commit e3c2f04, 2024-08-23)",
"url": "https://github.com/ethereum-optimism/optimism/releases/tag/op-program%2Fv1.3.1"
},
{
"title": "superchain-registry snapshot pinned at op-program v1.3.1 build (42bd03ba8313)",
"url": "https://github.com/ethereum-optimism/superchain-registry/blob/42bd03ba8313/chainList.json"
}
]
}
]
},
"stateValidationImage": "opfp",
"warning": "Since 2026-09-07 withdrawals settle against the PermissionedDisputeGame instead of the Kailua ZK game. The fault proof system is deployed but is not functional: the permissioned dispute game commits to the op-program v1.3.1 prestate, whose embedded superchain registry snapshot does not include Ronin (chain ID 2020), so no dispute can be resolved correctly by execution. Security relies entirely on the honesty of the permissioned proposer."
}
+1 -1
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "RoninConduitOwner",
"name": "RoninConduitOwner",
"description": "A Multisig with 5/6 threshold. \n5-of-6 joint Ronin/Conduit Safe.\n* Can upgrade **with no delay**\n * AnchorStateRegistry [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * KailuaVerifier \n * L1StandardBridge [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * SuperchainConfig [via: ProxyAdmin]\n * L1CrossDomainMessenger [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 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) ",
"description": "A Multisig with 5/6 threshold. \n5-of-6 joint Ronin/Conduit Safe.\n* Can upgrade **with no delay**\n * AnchorStateRegistry [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * KailuaVerifier \n * L1StandardBridge [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * SuperchainConfig [via: ProxyAdmin]\n * L1CrossDomainMessenger [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 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) ",
"accounts": [
{
"address": "eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607",
"type": "Contract",
"isVerified": true,
"name": "0xE9Ad…5607",
"url": "https://etherscan.io/address/0xE9Ad9723C24d946958f9FD3Bc861BbF983525607"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xea42A416fdDFA91C69C879A7EdA3923394783B28",
"type": "EOA",
"isVerified": true,
"name": "0xea42…3B28",
"url": "https://etherscan.io/address/0xea42A416fdDFA91C69C879A7EdA3923394783B28"
},
{
"address": "eth:0xaa6a1e7C2979F1D49d97F7f6E5F7B7c25d2f85c2",
"type": "EOA",
"isVerified": true,
"name": "0xaa6a…85c2",
"url": "https://etherscan.io/address/0xaa6a1e7C2979F1D49d97F7f6E5F7B7c25d2f85c2"
},
{
"address": "eth:0x8e0759dCEDbA69Ce4D1528395F13a13a25252070",
"type": "EOA",
"isVerified": true,
"name": "0x8e07…2070",
"url": "https://etherscan.io/address/0x8e0759dCEDbA69Ce4D1528395F13a13a25252070"
},
{
"address": "eth:0x8f9C82DD023D692cB74bF7d3d9436C9f5c2A3552",
"type": "EOA",
"isVerified": true,
"name": "0x8f9C…3552",
"url": "https://etherscan.io/address/0x8f9C82DD023D692cB74bF7d3d9436C9f5c2A3552"
},
{
"address": "eth:0x81175155D85377C337d92f1FA52Da166C3A4E7Ac",
"type": "EOA",
"isVerified": true,
"name": "0x8117…E7Ac",
"url": "https://etherscan.io/address/0x81175155D85377C337d92f1FA52Da166C3A4E7Ac"
},
{
"address": "eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6",
"type": "EOA",
"isVerified": true,
"name": "0x6BB4…83A6",
"url": "https://etherscan.io/address/0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6"
}
],
"discoveryDrivenData": true
},
{
"id": "Conduit Multisig 1",
"name": "Conduit Multisig 1",
"description": "A Multisig with 4/11 threshold. \n* Can interact with DisputeGameFactory\n * Allowed to challenge or delete state roots proposed by a Proposer ",
"accounts": [
{
"address": "eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746",
"type": "Contract",
"isVerified": true,
"name": "0x4a49…A746",
"url": "https://etherscan.io/address/0x4a4962275DF8C60a80d3a25faEc5AA7De116A746"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x9402c42dB162d5a0927c032136f40Cc9C71853F2",
"type": "EOA",
"isVerified": true,
"name": "0x9402…53F2",
"url": "https://etherscan.io/address/0x9402c42dB162d5a0927c032136f40Cc9C71853F2"
},
{
"address": "eth:0xcdC931935768c0562AfE989A366a3Dc4d52F4853",
"type": "EOA",
"isVerified": true,
"name": "0xcdC9…4853",
"url": "https://etherscan.io/address/0xcdC931935768c0562AfE989A366a3Dc4d52F4853"
},
{
"address": "eth:0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09",
"type": "EOA",
"isVerified": true,
"name": "0xA9FC…8d09",
"url": "https://etherscan.io/address/0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09"
},
{
"address": "eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6",
"type": "EOA",
"isVerified": true,
"name": "0x6BB4…83A6",
"url": "https://etherscan.io/address/0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6"
},
{
"address": "eth:0x2103c69696CB2D3779f5445393808239034E911c",
"type": "EOA",
"isVerified": true,
"name": "0x2103…911c",
"url": "https://etherscan.io/address/0x2103c69696CB2D3779f5445393808239034E911c"
},
{
"address": "eth:0x81175155D85377C337d92f1FA52Da166C3A4E7Ac",
"type": "EOA",
"isVerified": true,
"name": "0x8117…E7Ac",
"url": "https://etherscan.io/address/0x81175155D85377C337d92f1FA52Da166C3A4E7Ac"
},
{
"address": "eth:0xA0737fea60F0601A192E3d2c98865A883ab0bda2",
"type": "EOA",
"isVerified": true,
"name": "0xA073…bda2",
"url": "https://etherscan.io/address/0xA0737fea60F0601A192E3d2c98865A883ab0bda2"
},
{
"address": "eth:0xF3313C48BD8E17b823d5498D62F37019dFEA647D",
"type": "EOA",
"isVerified": true,
"name": "0xF331…647D",
"url": "https://etherscan.io/address/0xF3313C48BD8E17b823d5498D62F37019dFEA647D"
},
{
"address": "eth:0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038",
"type": "EOA",
"isVerified": true,
"name": "0xa0C6…9038",
"url": "https://etherscan.io/address/0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038"
},
{
"address": "eth:0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C",
"type": "EOA",
"isVerified": true,
"name": "0xefCf…dD5C",
"url": "https://etherscan.io/address/0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C"
},
{
"address": "eth:0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe",
"type": "EOA",
"isVerified": true,
"name": "0x4D80…5BAe",
"url": "https://etherscan.io/address/0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe"
}
],
"discoveryDrivenData": true
},
{
"id": "MainchainBridgeManager",
"name": "MainchainBridgeManager",
"accounts": [
{
"address": "eth:0x2Cf3CFb17774Ce0CFa34bB3f3761904e7fc3FaDB",
"type": "Contract",
"isVerified": true,
"name": "0x2Cf3…FaDB",
"url": "https://etherscan.io/address/0x2Cf3CFb17774Ce0CFa34bB3f3761904e7fc3FaDB"
}
],
"chain": "ethereum",
"description": "Governance and proxy-admin contract for the legacy MainchainGateway bridge. Holds the operator/governor set, tallies stake-weighted votes for bridge proposals (operator rotations, threshold changes, withdrawals).\n* Can upgrade **with no delay**\n * MainchainGateway ",
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 3/5 threshold. \n* Can interact with TimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles **with 3d delay** [via: TimelockController with 3d delay]\n * propose transactions \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierRouter\n * add/remove verifiers and the selectors they are mapped to **with 3d delay** [via: TimelockController with 3d delay]\n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"accounts": [
{
"address": "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609",
"type": "Contract",
"isVerified": true,
"name": "0x2E5b…2609",
"url": "https://etherscan.io/address/0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E",
"type": "EOA",
"isVerified": true,
"name": "0x10B0…6A0E",
"url": "https://etherscan.io/address/0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E"
},
{
"address": "eth:0x751708D6341b36c0C258754fc2DbF96074f5BdC7",
"type": "EOA",
"isVerified": true,
"name": "0x7517…BdC7",
"url": "https://etherscan.io/address/0x751708D6341b36c0C258754fc2DbF96074f5BdC7"
},
{
"address": "eth:0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4",
"type": "EOA",
"isVerified": true,
"name": "0xbF58…73a4",
"url": "https://etherscan.io/address/0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4"
},
{
"address": "eth:0xd5D43445d0227a47cA2eACCb9392352746eD9926",
"type": "EOA",
"isVerified": true,
"name": "0xd5D4…9926",
"url": "https://etherscan.io/address/0xd5D43445d0227a47cA2eACCb9392352746eD9926"
},
{
"address": "eth:0xDA8e7102681f9652FB8a10b70949CF7F260e0A01",
"type": "EOA",
"isVerified": true,
"name": "0xDA8e…0A01",
"url": "https://etherscan.io/address/0xDA8e7102681f9652FB8a10b70949CF7F260e0A01"
}
],
"discoveryDrivenData": true
},
{
"id": "LegacyBridgeOwner",
"name": "LegacyBridgeOwner",
"description": "A Multisig with 3/5 threshold. \n* Can upgrade **with no delay**\n * MainchainBridgeManager ",
"accounts": [
{
"address": "eth:0x51F6696Ae42C6C40CA9F5955EcA2aaaB1Cefb26e",
"type": "Contract",
"isVerified": true,
"name": "0x51F6…b26e",
"url": "https://etherscan.io/address/0x51F6696Ae42C6C40CA9F5955EcA2aaaB1Cefb26e"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x4BFEc2a63B72c67e6c3f599fCc40E1d42AE519ff",
"type": "EOA",
"isVerified": true,
"name": "0x4BFE…19ff",
"url": "https://etherscan.io/address/0x4BFEc2a63B72c67e6c3f599fCc40E1d42AE519ff"
},
{
"address": "eth:0x0182147F7aC923BF8024C953acA2225C91206485",
"type": "EOA",
"isVerified": true,
"name": "0x0182…6485",
"url": "https://etherscan.io/address/0x0182147F7aC923BF8024C953acA2225C91206485"
},
{
"address": "eth:0xC93f43dbbf0a1346D9E0d623B68d78891b131Bf9",
"type": "EOA",
"isVerified": true,
"name": "0xC93f…1Bf9",
"url": "https://etherscan.io/address/0xC93f43dbbf0a1346D9E0d623B68d78891b131Bf9"
},
{
"address": "eth:0xFE1a01580d7Cd7EC333DDC087b2c4DE3226f6031",
"type": "EOA",
"isVerified": true,
"name": "0xFE1a…6031",
"url": "https://etherscan.io/address/0xFE1a01580d7Cd7EC333DDC087b2c4DE3226f6031"
},
{
"address": "eth:0xCfD1C43CdB2bD66c7B66a7aBe66Fb6BE497d7f86",
"type": "EOA",
"isVerified": true,
"name": "0xCfD1…7f86",
"url": "https://etherscan.io/address/0xCfD1C43CdB2bD66c7B66a7aBe66Fb6BE497d7f86"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x9aA8feACbB42659a806cDD6933ab3982586824F1",
"type": "EOA",
"isVerified": true,
"name": "0x9aA8…24F1",
"url": "https://etherscan.io/address/0x9aA8feACbB42659a806cDD6933ab3982586824F1",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xD379de941E78Ab394d4D4917FcCE1CC45b6cd620",
"type": "EOA",
"isVerified": true,
"name": "0xD379…d620",
"url": "https://etherscan.io/address/0xD379de941E78Ab394d4D4917FcCE1CC45b6cd620",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with DisputeGameFactory\n * Allowed to post new state roots of the current layer to the host chain \n* Can interact with KailuaTreasury\n * propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"type": "EOA",
"isVerified": true,
"name": "0xF616…d412",
"url": "https://etherscan.io/address/0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"discoveryDrivenData": true
}
]
}
}
+217 -84
{
"addresses": {
"ethereum": [
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 3.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a098988600d87650Fb061FfAff08B97149Fa84D#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"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 RoninConduitOwner\n * **challengerFromDGF**: Conduit Multisig 1\n * **owner**: RoninConduitOwner\n * **proposerFromDGF**: EOA 2",
"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 RoninConduitOwner\n * **challengerFromDGF**: Conduit Multisig 1\n * **owner**: RoninConduitOwner\n * **proposerFromDGF**: EOA 2",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x45dA2CD511DA5FEAa535eBF166E628314a65843a#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.0.3).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"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 RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"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 RoninConduitOwner\n * **batcherHash**: EOA 1\n * **owner**: RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs. This older implementation exposes control-root and selector constants but does not expose a VERSION getter.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x502e993a5aFC9fE59b00B07ee500729D71092E34"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964591,
"transactionHash": "0x7188bd8c0868aa05fff966307d86c6d5b840bee115e91449bd0b9e1ad7f097ea",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1780988555,
"transactionHash": "0x7e9202c4d6cb60aa8f0d86f9524f58cc3b5edb505495f61503d9374e3859cdb6",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1780988555,
"transactionHash": "0x7e9202c4d6cb60aa8f0d86f9524f58cc3b5edb505495f61503d9374e3859cdb6",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
}
],
"description": "This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RoninConduitOwner\n * **guardian**: RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"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 RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xF9aD628d9F907ad5d46Ab80100dacDf09EAc9A8e",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"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 RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF9aD628d9F907ad5d46Ab80100dacDf09EAc9A8e#code"
},
{
"name": "TimelockController",
"isVerified": true,
"address": "eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 3d.\n* Roles:\n * **canceller**: Safe\n * **defaultAdmin**: TimelockController; ultimately Safe\n * **executor**: Safe\n * **proposer**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0b144E07A0826182B6b59788c34b32Bfa86Fb711#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"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 PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RoninConduitOwner",
"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 RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x1efDd13f831ceeEa14940806705A53D3211CD698",
"address": "eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"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/0x1efDd13f831ceeEa14940806705A53D3211CD698#code"
"url": "https://etherscan.io/address/0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0#code"
},
{
"name": "PreimageOracle",
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"address": "eth:0x1efDd13f831ceeEa14940806705A53D3211CD698",
"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": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3#code"
"url": "https://etherscan.io/address/0x1efDd13f831ceeEa14940806705A53D3211CD698#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x2562ae2FB030274E3cEB63fCd32C232ab0FceC6d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"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 RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2562ae2FB030274E3cEB63fCd32C232ab0FceC6d#code"
},
{
"name": "KailuaGame",
"isVerified": true,
"address": "eth:0x296e7aD6D441b0627768bC0650179a4206479444",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x296e7aD6D441b0627768bC0650179a4206479444#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7#code"
},
{
"name": "RiscZeroSetVerifier",
"isVerified": true,
"address": "eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Set verifier contract for RISC Zero proofs (version 0.9.0). It allows verifying a whole set of proofs identified with a Merkle root at once, afterwards each individual proof could be efficiently verified just by checking Merkle inclusion against the verified root.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x502e993a5aFC9fE59b00B07ee500729D71092E34",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: RoninConduitOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x502e993a5aFC9fE59b00B07ee500729D71092E34#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x51639D151456d0384285C6974e441A5D2B784B7D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"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 RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x51639D151456d0384285C6974e441A5D2B784B7D#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A",
"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/0x58bf355C5d4EdFc723eF89d99582ECCfd143266A#code"
},
{
"name": "MainchainGateway",
"isVerified": true,
"address": "eth:0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x2Cf3CFb17774Ce0CFa34bB3f3761904e7fc3FaDB"
],
"implementations": [
"eth:0x5019d41B0737e39B51Fd6dA4859F3e27579E4e69"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1655883630,
"transactionHash": "0x8f2924a52e63564c9cb0b119d72dc8290daa39c59cbe02e7f1ab6b2160ac9aa4",
"implementations": [
"eth:0x2DBA725f0a3485382a7F125a31cBF4361539aF73"
]
},
{
"timestamp": 1656414982,
"transactionHash": "0xbb60c9f020bd6f9c6737b28290f75272d2090f529d8450deafdf5d675fa8bcc0",
"implementations": [
"eth:0x71356E37e0368Bd10bFDbF41dC052fE5FA24cD05"
]
},
{
"timestamp": 1681283663,
"transactionHash": "0xa090f035d1895ab7b69fc72303e122d0c565becf9c6c684ecf7257c0311233af",
"implementations": [
"eth:0xa67BA5315AF4961Eb937158032AF9300C657dAcD"
]
},
{
"timestamp": 1698119543,
"transactionHash": "0xbbbeadcbf7df225dfef18cb3add0f29cbd2e90921acb7a3851b3a250832d12fe",
"implementations": [
"eth:0x72E28A9009Ad12dE019BFF418CD210D4bbc3D403"
]
},
{
"timestamp": 1722934127,
"transactionHash": "0x855dd3b1194e3b889f4667b6a0996220e350e034d35d3eab29b4f23bc205767e",
"implementations": [
"eth:0xfc274EC92bBb1A1472884558d1B5CaaC6F8220Ee"
]
},
{
"timestamp": 1724989295,
"transactionHash": "0x167c741a87278fa0a50f0ed15e89edd1d05ed43a5808476e564347f1d34f784d",
"implementations": [
"eth:0xD6c4986bbe09f2dDb262B4611b0BA06891be605e"
]
},
{
"timestamp": 1745306903,
"transactionHash": "0x234e508f2cf87b9d204402ded64d6fa13a65ac85e77b206b0be5718b9ce2a3b5",
"implementations": [
"eth:0x450032864C52Cb9210da8e30cE97CEaC8e215953"
]
},
{
"timestamp": 1751007983,
"transactionHash": "0x4befaa551b1c1300d7476e827cf84165dcf444b2815576ea5003554bdfac1416",
"implementations": [
"eth:0x5019d41B0737e39B51Fd6dA4859F3e27579E4e69"
]
}
],
"description": "Legacy multi-sig-secured Ronin bridge contract holding the L1 side of deposits made before the April 2025 Chainlink CCIP migration. Still custodies residual user balances (ETH backing legacy WETH on Ronin, the deprecated WBTC contract, and dust). Withdrawals authorised by the Ronin BridgeOperator stake-weighted threshold via MainchainBridgeManager.\n* Roles:\n * **admin**: MainchainBridgeManager",
"upgradableBy": [
{
"name": "MainchainBridgeManager",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6463dEE3828677F6270d83d45408044fc5eDB908#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x68dC2cB4e61774873971c499D9b239ec5Ac540E3#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"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 RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x69Fcd2E75af364295EaF48Dc058338F80CFfb434#code"
},
{
"name": "KailuaVerifier",
"isVerified": true,
"address": "eth:0x6b49976a7340D0A3C00d1bEBE0E36E2367D89c7C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607"
],
"implementations": [
"eth:0xDd26da83B27987A7040caE31f2E35d9Bd6f5DE59"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1780027571,
"transactionHash": "0xa6d65a7371559f4e7ef00b5e2037850046dce7282d57f0aca5becd5fce93f995",
"implementations": [
"eth:0x7fC721ACC2183c292737C5a28Ea1B30d19f1cF29"
]
},
{
"timestamp": 1782901175,
"transactionHash": "0x07bf7a192a2ea3b5324ef5cef339715fc6b972b261463e751f39a3f7bb2ae72d",
"implementations": [
"eth:0xDd26da83B27987A7040caE31f2E35d9Bd6f5DE59"
]
}
],
"description": "Proxy in front of the Kailua proof verifier; routes verification requests to the canonical RiscZeroVerifierRouter and asserts the chain-specific rollup config and FPVM image ID.\n* Roles:\n * **admin**: RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6b49976a7340D0A3C00d1bEBE0E36E2367D89c7C#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: RoninConduitOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroSetVerifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x844D5f01161E3559d36f23d0Aa9E9620949aF782#code"
},
{
"name": "RiscZeroVerifierRouter",
"isVerified": true,
"address": "eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (TimelockController).\n* Roles:\n * **owner**: TimelockController; ultimately Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9F9994Eb4Cb5200198FEfb470f8b50301662e696#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": "Wrapped Ether Token",
"isVerified": true,
"address": "eth:0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2#code"
},
{
"name": "KailuaTreasury",
"isVerified": true,
"address": "eth:0xc7EaCDd1E755d2823463Abc4434CA445F752b336",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Kailua (RISC Zero ZK fault-proof) treasury: holds participation bonds, mints KailuaGame clones, and defines the vanguard proposer economics. Bonds confiscated from eliminated proposers are split 1/3 to the prover, 1/3 to the tournament winner, 1/3 burned.\n* Roles:\n * **vanguard**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc7EaCDd1E755d2823463Abc4434CA445F752b336#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1#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": "PauseEnforcer",
"isVerified": true,
"address": "eth:0xF184a6Cd470Cac2CF5cD4fBa34e20D482D6A6062",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable emergency-pause contract for the legacy MainchainGateway. Holders of the SENTRY_ROLE can flip MainchainGateway into a paused state to halt deposits and withdrawals in an emergency.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF184a6Cd470Cac2CF5cD4fBa34e20D482D6A6062#code"
}
]
},
"escrows": [
{
"address": "0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77",
"sinceTimestamp": 1771964639,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1789973519,
"transactionHash": "0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34",
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1",
"sinceTimestamp": 1771964639,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"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/0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08",
"sinceTimestamp": 1655883630,
"tokens": "*",
"excludedTokens": [
"AXS",
"USDC",
"WBTC",
"YGG",
"WETH"
],
"contract": {
"name": "MainchainGateway",
"isVerified": true,
"address": "eth:0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x2Cf3CFb17774Ce0CFa34bB3f3761904e7fc3FaDB"
],
"implementations": [
"eth:0x5019d41B0737e39B51Fd6dA4859F3e27579E4e69"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1655883630,
"transactionHash": "0x8f2924a52e63564c9cb0b119d72dc8290daa39c59cbe02e7f1ab6b2160ac9aa4",
"implementations": [
"eth:0x2DBA725f0a3485382a7F125a31cBF4361539aF73"
]
},
{
"timestamp": 1656414982,
"transactionHash": "0xbb60c9f020bd6f9c6737b28290f75272d2090f529d8450deafdf5d675fa8bcc0",
"implementations": [
"eth:0x71356E37e0368Bd10bFDbF41dC052fE5FA24cD05"
]
},
{
"timestamp": 1681283663,
"transactionHash": "0xa090f035d1895ab7b69fc72303e122d0c565becf9c6c684ecf7257c0311233af",
"implementations": [
"eth:0xa67BA5315AF4961Eb937158032AF9300C657dAcD"
]
},
{
"timestamp": 1698119543,
"transactionHash": "0xbbbeadcbf7df225dfef18cb3add0f29cbd2e90921acb7a3851b3a250832d12fe",
"implementations": [
"eth:0x72E28A9009Ad12dE019BFF418CD210D4bbc3D403"
]
},
{
"timestamp": 1722934127,
"transactionHash": "0x855dd3b1194e3b889f4667b6a0996220e350e034d35d3eab29b4f23bc205767e",
"implementations": [
"eth:0xfc274EC92bBb1A1472884558d1B5CaaC6F8220Ee"
]
},
{
"timestamp": 1724989295,
"transactionHash": "0x167c741a87278fa0a50f0ed15e89edd1d05ed43a5808476e564347f1d34f784d",
"implementations": [
"eth:0xD6c4986bbe09f2dDb262B4611b0BA06891be605e"
]
},
{
"timestamp": 1745306903,
"transactionHash": "0x234e508f2cf87b9d204402ded64d6fa13a65ac85e77b206b0be5718b9ce2a3b5",
"implementations": [
"eth:0x450032864C52Cb9210da8e30cE97CEaC8e215953"
]
},
{
"timestamp": 1751007983,
"transactionHash": "0x4befaa551b1c1300d7476e827cf84165dcf444b2815576ea5003554bdfac1416",
"implementations": [
"eth:0x5019d41B0737e39B51Fd6dA4859F3e27579E4e69"
]
}
],
"description": "Legacy multi-sig-secured Ronin bridge (pre-CCIP). Holds residual ETH and ERC-20 deposits. Withdrawals authorised by the Ronin BridgeOperator threshold-signature set.",
"url": "https://etherscan.io/address/0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Ronin Bridge (legacy multi-sig)"
}
]
},
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.3.1",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-node/v1.3.1/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.3.1` . Commit hash should be `e3c2f046c2d7103c765cbd47e949a284e511a47d`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.",
"hash": "0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c"
}
],
"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": 1789077777,
"baseTimestamp": 1790944906,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "b817e3a5",
"date": "Fri, 02 Oct 2026 12:42:51 GMT",
"timestamp": 1790944906,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0), executed on 2026-09-21 by RoninConduitOwner via a Conduit-deployed OPContractsManagerV2 (v7.1.17). Absolute prestate unchanged (op-program v1.3.1).\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- SuperchainConfig 2.4.0 -> 2.4.2: https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\n- PermissionedDisputeGame 2.2.0 -> 2.4.0: https://disco.l2beat.com/diff/eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A/eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\n- MIPS 1.9.0 -> 1.10.1: https://disco.l2beat.com/diff/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908/eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\n- PreimageOracle 1.1.4 -> 1.1.5: https://disco.l2beat.com/diff/eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3/eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0\n- DelayedWETH 1.5.0 -> 1.5.1: https://disco.l2beat.com/diff/eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998/eth:0xE440CC08A71694C8229323803F59024E3144630e",
"isHighSeverity": true,
"changeCount": 175,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AnchorStateRegistry (eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A) [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.1:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.absolutePrestateFromGame:\n- \"0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c\"\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:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434\"\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- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959) [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.1:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 1\n+ 3\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 DisputeGameFactory (eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a) [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.1:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 1\n+ 3\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- \"0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c6463dee3828677f6270d83d45408044fc5edb9080b95ff1d1b113bac3e29ac0bbf2089126c9ae81a69fcd2e75af364295eaf48dc058338f80cffb43400000000000000000000000000000000000000000000000000000000000007e4d379de941e78ab394d4d4917fcce1cc45b6cd6204a4962275df8c60a80d3a25faec5aa7de116a746\"\n+ \"0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54cacc005dcd857b401e4732e6f7837135a22825cfa0b95ff1d1b113bac3e29ac0bbf2089126c9ae81a2562ae2fb030274e3ceb63fcd32c232ab0fcec6d00000000000000000000000000000000000000000000000000000000000007e4d379de941e78ab394d4d4917fcce1cc45b6cd6204a4962275df8c60a80d3a25faec5aa7de116a746\"\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n+++ severity: HIGH\n values.wethFromDGF:\n- \"eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434\"\n+ \"eth:0x2562ae2FB030274E3cEB63fCd32C232ab0FceC6d\"\n+++ severity: HIGH\n values.absolutePrestateFromDGF:\n+ \"0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c\"\n+++ severity: HIGH\n values.anchorStateRegistryFromDGF:\n+ \"eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A\"\n+++ severity: HIGH\n values.chainIdFromDGF:\n+ 2020\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game5:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game5AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game5Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game5Proposer:\n+ \"UNRESOLVED\"\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:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game9AbsolutePrestate:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game9Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game9Vm:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9Weth:\n+ \"UNRESOLVED\"\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+ 0\n+++ severity: HIGH\n values.vmFromDGF:\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\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 OptimismMintableERC20Factory (eth:0x51639D151456d0384285C6974e441A5D2B784B7D) [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.1:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"\n values.proxyAdminOwner:\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\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 OptimismPortal2 (eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77) [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.1:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 1\n+ 3\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:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434) [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 AddressManager (eth:0x6FFbcf498CcF81111f397fa6065dEA13A47E573C) [opstack/AddressManager] {\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+++ severity: HIGH\n values.OVM_L1CrossDomainMessenger:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x2562ae2FB030274E3cEB63fCd32C232ab0FceC6d\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1) [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.1:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x2562ae2FB030274E3cEB63fCd32C232ab0FceC6d\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x2562ae2FB030274E3cEB63fCd32C232ab0FceC6d\"\n values.getAddresses.opcm:\n+ \"eth:0x0D5058007D566E60b5473c63A4d43e87F31f348c\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x0D5058007D566E60b5473c63A4d43e87F31f348c\"\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 RoninConduitOwner (eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607) [GnosisSafe] {\n +++ description: 5-of-6 joint Ronin/Conduit Safe.\n receivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x2562ae2FB030274E3cEB63fCd32C232ab0FceC6d\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c) [opstack/SuperchainConfigFake_expiry] {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.3:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 3\n+ 5\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:0xF9aD628d9F907ad5d46Ab80100dacDf09EAc9A8e) [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.1:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 1\n+ 3\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 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 DelayedWETH (eth:0x2562ae2FB030274E3cEB63fCd32C232ab0FceC6d) [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": "8c7d17d4",
"date": "Fri, 11 Sep 2026 16:12:17 GMT",
"timestamp": 1789077777,
"description": "`respectedGameType` switched from `1337` (KailuaGame) to `1` (PermissionedDisputeGame) on the AnchorStateRegistry and OptimismPortal2. No implementation change, no game retirement or blacklist. Withdrawals now settle against permissioned proposals.\n\nThe type-1 prestate is op-program v1.3.1 (`0x038512e0…`), which cannot execute for chain 2020.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AnchorStateRegistry (eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A) [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 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 KailuaGame.\"\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 values.RespectedGameString:\n- \"KailuaGame\"\n+ \"PermissionedDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 1337\n+ 1\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77) [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 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 KailuaGame.\"\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.RespectedGameString:\n- \"KailuaGame\"\n+ \"PermissionedDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 1337\n+ 1\n }\n```"
}
]
},
{
"id": "572b36cc",
"date": "Thu, 27 Aug 2026 12:41:08 GMT",
"timestamp": 1787834376,
"description": "Conduit Multisig 1: member added; threshold 4/10 → 4/11.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0x9402c42dB162d5a0927c032136f40Cc9C71853F2\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "f6059a61",
"date": "Mon, 06 Jul 2026 08:53:30 GMT",
"timestamp": 1783327943,
"description": "Kailua cutover: `respectedGameType` on OptimismPortal2 and AnchorStateRegistry moved from 1 (PermissionedDisputeGame) to 1337 (KailuaGame). Withdrawals now clear through the ZK fault-proof game.\n\nDisputeGameFactory `game1337` slot repointed from KailuaTreasury (`eth:0xc7EaCDd1…`) to the KailuaGame implementation (`eth:0x296e7aD6…`); the treasury continues to hold bonds and mint game clones.\n\nKailuaVerifier proxy upgraded (impl `eth:0x7fC721AC…` → `eth:0xDd26da83…`, 2026-07-01), with new `FPVM_IMAGE_ID` (`0xd3c097df…`) and `ROLLUP_CONFIG_HASH` (`0x96ff8605…`).\n\nKailuaTreasury economic parameters now live: `participationBond` = 0.5 ETH, `vanguard` = `eth:0xD379de94…`, `vanguardAdvantage` = 1 month.",
"isHighSeverity": true,
"changeCount": 21,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AnchorStateRegistry (eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A) [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 KailuaGame.\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. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\"\n values.RespectedGameString:\n- \"PermissionedDisputeGame\"\n+ \"KailuaGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 1\n+ 1337\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a) [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.game1337:\n- \"eth:0xc7EaCDd1E755d2823463Abc4434CA445F752b336\"\n+ \"eth:0x296e7aD6D441b0627768bC0650179a4206479444\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77) [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 KailuaGame.\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 KailuaGame.\"\n values.RespectedGameString:\n- \"PermissionedDisputeGame\"\n+ \"KailuaGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 1\n+ 1337\n }\n```\n\n```diff\n contract KailuaVerifier (eth:0x6b49976a7340D0A3C00d1bEBE0E36E2367D89c7C) [N/A] {\n +++ description: Proxy in front of the Kailua proof verifier; routes verification requests to the canonical RiscZeroVerifierRouter and asserts the chain-specific rollup config and FPVM image ID.\n values.$implementation:\n- \"eth:0x7fC721ACC2183c292737C5a28Ea1B30d19f1cF29\"\n+ \"eth:0xDd26da83B27987A7040caE31f2E35d9Bd6f5DE59\"\n values.$pastUpgrades.1:\n+ [\"2026-07-01T10:19:35.000Z\",\"0x07bf7a192a2ea3b5324ef5cef339715fc6b972b261463e751f39a3f7bb2ae72d\",[\"eth:0xDd26da83B27987A7040caE31f2E35d9Bd6f5DE59\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.FPVM_IMAGE_ID:\n- \"0xc2e7bc71ae10caf806a1a073e4170daf3f4ac31099f1f854f7062dd70ed12fe3\"\n+ \"0xd3c097dfec583bb305eefcb5dcddc313b072e372cee66e13492c37fb50e6a90b\"\n values.ROLLUP_CONFIG_HASH:\n- \"0xc1f5bee1ef35d2b73a7cd351e650b2b123cb3bec91b0de3941af90539d5fc829\"\n+ \"0x96ff86054c51b6b832108a14d93ced530c42e0ee5a113b47671c912fc19f5b1a\"\n implementationNames.eth:0x7fC721ACC2183c292737C5a28Ea1B30d19f1cF29:\n- \"KailuaVerifier\"\n implementationNames.eth:0xDd26da83B27987A7040caE31f2E35d9Bd6f5DE59:\n+ \"KailuaVerifier\"\n }\n```\n\n```diff\n contract KailuaTreasury (eth:0xc7EaCDd1E755d2823463Abc4434CA445F752b336) [risc0/KailuaTreasury] {\n +++ description: Kailua (RISC Zero ZK fault-proof) treasury: holds participation bonds, mints KailuaGame clones, and defines the vanguard proposer economics. Bonds confiscated from eliminated proposers are split 1/3 to the prover, 1/3 to the tournament winner, 1/3 burned.\n values.participationBond:\n- 0\n+ \"500000000000000000\"\n values.participationBondFmt:\n- \"0\"\n+ \"0.5\"\n values.vanguard:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xD379de941E78Ab394d4D4917FcCE1CC45b6cd620\"\n values.vanguardAdvantage:\n- 0\n+ 2592000\n values.vanguardAdvantageFmt:\n- \"0s\"\n+ \"1mo\"\n }\n```\n\n```diff\n EOA (eth:0xD379de941E78Ab394d4D4917FcCE1CC45b6cd620) {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xc7EaCDd1E755d2823463Abc4434CA445F752b336\",\"description\":\"propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock.\",\"role\":\".vanguard\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0x296e7aD6D441b0627768bC0650179a4206479444) [risc0/KailuaGame]\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```"
}
]
},
{
"id": "02745172",
"date": "Mon, 15 Jun 2026 13:58:14 GMT",
"timestamp": 1781531783,
"description": "Guardian role on OptimismPortal2, SystemConfig and SuperchainConfig moved from Conduit Multisig 1 to the joint Ronin/Conduit Safe (RoninConduitOwner): SuperchainConfig was re-initialized via the standard StorageSetter→same-impl pattern, bumping `initVersion` 1 → 2 and setting the new guardian address. Conduit Multisig 1 remains challenger in DGF.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.4:\n- \"eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007\"\n values.$members.8:\n- \"eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 10 (40%)\"\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c\",\"description\":\"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).\",\"role\":\".guardian\"}\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77) [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.guardian:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1) [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.guardian:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract RoninConduitOwner (eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607) [GnosisSafe] {\n +++ description: 5-of-6 joint Ronin/Conduit Safe.\n receivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c\",\"description\":\"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).\",\"role\":\".guardian\"}\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c) [opstack/SuperchainConfigFake_expiry] {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n values.$pastUpgrades.1:\n+ [\"2026-06-09T07:02:35.000Z\",\"0x7e9202c4d6cb60aa8f0d86f9524f58cc3b5edb505495f61503d9374e3859cdb6\",[\"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1\"]]\n values.$pastUpgrades.2:\n+ [\"2026-06-09T07:02:35.000Z\",\"0x7e9202c4d6cb60aa8f0d86f9524f58cc3b5edb505495f61503d9374e3859cdb6\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```"
}
]
},
{
"id": "8d0ae0ed",
"date": "Thu, 04 Jun 2026 20:29:53 GMT",
"timestamp": 1780557929,
"description": "Kailua (RISC Zero ZK fault-proof) deployed but not yet active.\nDisputeGameFactory registered game type 1337 → KailuaTreasury (`eth:0xc7EaCDd1…`).\nOptimismPortal2 and AnchorStateRegistry still have respectedGameType = 1 (PermissionedDisputeGame); cutover requires a separate change.\n\nRonin KailuaTreasury (v1.2.0, `eth:0xc7EaCDd1…`): verifier extracted to a separate `KAILUA_VERIFIER` proxy, bond accounting reworked. Diff vs BOB v0.1.0 baseline: https://disco.l2beat.com/diff/eth:0xc7EaCDd1E755d2823463Abc4434CA445F752b336/eth:0x9B3E1661bccAF907893B71e4016c01513ae9263C.\n\nRoninConduitOwner got admin over the KailuaVerifier proxy (`eth:0x6b49976a…`), so the verifier proxy is upgradable along the same path as the other OP Stack contracts.\n\nRiscZeroVerifierRouter (`eth:0x8EaB2D97…`) is the shared RISC Zero verifier-selector router. Owner is a TimelockController (`eth:0x0b144E07…`, 3d delay) governed by Safe `eth:0x2E5bcc…`. Both are shared RISC Zero infrastructure, not Ronin-specific.",
"isHighSeverity": true,
"changeCount": 21,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a) [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.game1337:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xc7EaCDd1E755d2823463Abc4434CA445F752b336\"\n }\n```\n\n```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xcdC931935768c0562AfE989A366a3Dc4d52F4853\"\n values.$members.8:\n- \"eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n }\n```\n\n```diff\n contract RoninConduitOwner (eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607) [GnosisSafe] {\n +++ description: 5-of-6 joint Ronin/Conduit Safe.\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6b49976a7340D0A3C00d1bEBE0E36E2367D89c7C\",\"role\":\"admin\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) [global/TimelockController]\n +++ description: A timelock with access control. The current minimum delay is 3d.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x1efDd13f831ceeEa14940806705A53D3211CD698) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 3.0.0).\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroSetVerifier (eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85) [risc0/RiscZeroSetVerifier]\n +++ description: Set verifier contract for RISC Zero proofs (version 0.9.0). It allows verifying a whole set of proofs identified with a Merkle root at once, afterwards each individual proof could be efficiently verified just by checking Merkle inclusion against the verified root.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaVerifier (eth:0x6b49976a7340D0A3C00d1bEBE0E36E2367D89c7C) [N/A]\n +++ description: Proxy in front of the Kailua proof verifier; routes verification requests to the canonical RiscZeroVerifierRouter and asserts the chain-specific rollup config and FPVM image ID.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierRouter (eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319) [risc0/RiscZeroVerifierRouter]\n +++ description: A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711).\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (eth:0xc7EaCDd1E755d2823463Abc4434CA445F752b336) [risc0/KailuaTreasury]\n +++ description: Kailua (RISC Zero ZK fault-proof) game implementation registered as game type 1337 in the DisputeGameFactory. Deployed but NOT yet active. Bonds confiscated from eliminated proposers are split 1/3 to the prover, 1/3 to the tournament winner, 1/3 burned.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C) [N/A]\n +++ description: None\n```"
}
]
},
{
"id": "3f3ba4f2",
"date": "Thu, 21 May 2026 21:43:21 GMT",
"timestamp": 1779399734,
"description": "ProxyAdminOwner / `owner` rotated from Conduit Multisig 1 to a new 5-of-6 Safe (`eth:0xE9Ad9723…`) that is a joint Ronin/Conduit multisig (per Ronin team: 4 Ronin signers + 2 Conduit signers retained from Conduit Multisig 1). Affects AnchorStateRegistry, L1ERC721Bridge, DisputeGameFactory (owner + proxyAdminOwner), and the other Ronin contracts under that ProxyAdmin.",
"isHighSeverity": false,
"changeCount": 29,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AnchorStateRegistry (eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A) [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 values.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.owner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n values.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"eth:0x6FFbcf498CcF81111f397fa6065dEA13A47E573C\",\"description\":\"set and change address mappings.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.3:\n- {\"permission\":\"interact\",\"from\":\"eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}\n receivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x51639D151456d0384285C6974e441A5D2B784B7D\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1\",\"description\":\"upgrading the bridge implementation can give access to all funds escrowed therein.\",\"role\":\".$admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x502e993a5aFC9fE59b00B07ee500729D71092E34\"}]}\n receivedPermissions.13:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xF9aD628d9F907ad5d46Ab80100dacDf09EAc9A8e\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0x502e993a5aFC9fE59b00B07ee500729D71092E34\",\"role\":\".owner\"},{\"permission\":\"act\",\"from\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x502e993a5aFC9fE59b00B07ee500729D71092E34) [global/ProxyAdmin] {\n +++ description: None\n values.owner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77) [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.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract DelayedWETH (eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434) [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.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC) [global/ProxyAdmin] {\n +++ description: None\n values.owner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n values.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1) [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:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n values.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c) [opstack/SuperchainConfigFake_expiry] {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n values.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xF9aD628d9F907ad5d46Ab80100dacDf09EAc9A8e) [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.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n+ Status: CREATED\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: CREATED\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: CREATED\n contract Safe (eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607) [GnosisSafe]\n +++ description: None\n```"
}
]
},
{
"id": "02af6712",
"date": "Mon, 18 May 2026 09:19:34 GMT",
"timestamp": 1779095885,
"description": "Initial discovery.",
"isHighSeverity": false,
"changeCount": 20,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A) [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```\n\n```diff\n+ Status: CREATED\n contract MainchainBridgeManager (eth:0x2Cf3CFb17774Ce0CFa34bB3f3761904e7fc3FaDB) [N/A]\n +++ description: Governance and proxy-admin contract for the legacy MainchainGateway bridge. Holds the operator/governor set, tallies stake-weighted votes for bridge proposals (operator rotations, threshold changes, withdrawals).\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (eth:0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959) [opstack/L1ERC721Bridge]\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a) [opstack/DisputeGameFactory]\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 Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (eth:0x502e993a5aFC9fE59b00B07ee500729D71092E34) [global/ProxyAdmin]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (eth:0x51639D151456d0384285C6974e441A5D2B784B7D) [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```\n\n```diff\n+ Status: CREATED\n contract LegacyBridgeOwner (eth:0x51F6696Ae42C6C40CA9F5955EcA2aaaB1Cefb26e) [GnosisSafe]\n +++ description: None\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```\n\n```diff\n+ Status: CREATED\n contract MainchainGateway (eth:0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08) [N/A]\n +++ description: Legacy multi-sig-secured Ronin bridge contract holding the L1 side of deposits made before the April 2025 Chainlink CCIP migration. Still custodies residual user balances (ETH backing legacy WETH on Ronin, the deprecated WBTC contract, and dust). Withdrawals authorised by the Ronin BridgeOperator stake-weighted threshold via MainchainBridgeManager.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77) [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```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434) [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 AddressManager (eth:0x6FFbcf498CcF81111f397fa6065dEA13A47E573C) [opstack/AddressManager]\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 ProxyAdmin (eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC) [global/ProxyAdmin]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (eth:0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1) [opstack/L1StandardBridge]\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 Wrapped Ether Token (eth:0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1) [opstack/SystemConfig]\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 (eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c) [opstack/SuperchainConfigFake_expiry]\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n```\n\n```diff\n+ Status: CREATED\n contract PauseEnforcer (eth:0xF184a6Cd470Cac2CF5cD4fBa34e20D482D6A6062) [N/A]\n +++ description: Immutable emergency-pause contract for the legacy MainchainGateway. Holders of the SENTRY_ROLE can flip MainchainGateway into a paused state to halt deposits and withdrawals in an emergency.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (eth:0xF9aD628d9F907ad5d46Ab80100dacDf09EAc9A8e) [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```"
}
]
}
]
+120 -43
{
"changes": [
{
"timestamp": 1779285407,
"type": "state",
"updateId": "3f3ba4f2",
"earliest": 1779285407
},
{
"timestamp": 1779399734,
"type": "state",
"updateId": "3f3ba4f2",
"earliest": 1779204482
},
{
"timestamp": 1780066583,
"type": "state",
"updateId": "8d0ae0ed",
"earliest": 1780066583
},
{
"timestamp": 1780988555,
"type": "code",
"earliest": 1780988555
},
{
"timestamp": 1782901175,
"type": "code",
"earliest": 1782901175
},
{
"timestamp": 1782901175,
"type": "state",
"updateId": "f6059a61",
"earliest": 1782901175
},
{
"timestamp": 1782901175,
"type": "state",
"updateId": "f6059a61",
"earliest": 1782901175
},
{
"timestamp": 1782901175,
"type": "state",
"updateId": "f6059a61",
"earliest": 1782901175
},
{
"timestamp": 1788777107,
"type": "state",
"updateId": "8c7d17d4",
"earliest": 1788777107
},
{
"timestamp": 1789973519,
"type": "code",
"earliest": 1789973519
},
{
"timestamp": 1789973519,
"type": "code",
"earliest": 1789973519
},
{
"timestamp": 1789973519,
"type": "code",
"earliest": 1789973519
},
{
"timestamp": 1789973519,
"type": "code",
"earliest": 1789973519
},
{
"timestamp": 1789973519,
"type": "code",
"earliest": 1789973519
},
{
"timestamp": 1789973519,
"type": "code",
"earliest": 1789973519
},
{
"timestamp": 1789973519,
"type": "code",
"earliest": 1789973519
},
{
"timestamp": 1789973519,
"type": "state",
"updateId": "b817e3a5",
"earliest": 1789973519
},
{
"timestamp": 1789973519,
"type": "state",
"updateId": "b817e3a5",
"earliest": 1789973519
},
{
"timestamp": 1789973519,
"type": "state",
"updateId": "b817e3a5",
"earliest": 1789973519
},
{
"timestamp": 1789973519,
"type": "code",
"updateId": "b817e3a5",
"earliest": 1789973519
}
],
"contracts": [
{
"name": "AnchorStateRegistry",
"address": "eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A",
"isVerified": true,
"ossifyingSince": 1789973519,
"codeChangeCount": 1,
"stateChangeCount": 3
},
{
"name": "DelayedWETH",
"address": "eth:0x2562ae2FB030274E3cEB63fCd32C232ab0FceC6d",
"isVerified": true,
"ossifyingSince": 1789973519,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1ERC721Bridge",
"address": "eth:0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959",
"isVerified": true,
"ossifyingSince": 1789973519,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "DisputeGameFactory",
"address": "eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a",
"isVerified": true,
"ossifyingSince": 1789973519,
"codeChangeCount": 1,
"stateChangeCount": 3
},
{
"name": "OptimismPortal2",
"address": "eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77",
"isVerified": true,
"ossifyingSince": 1789973519,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"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",
"name": "SystemConfig",
"address": "eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1",
"isVerified": true,
"ossifyingSince": 1788777107,
"codeChangeCount": 0,
"stateChangeCount": 2
"ossifyingSince": 1789973519,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "DisputeGameFactory",
"address": "eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a",
"name": "SuperchainConfig",
"address": "eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c",
"isVerified": true,
"ossifyingSince": 1782901175,
"codeChangeCount": 0,
"stateChangeCount": 3
"ossifyingSince": 1789973519,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "SuperchainConfig",
"address": "eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c",
"name": "L1CrossDomainMessenger",
"address": "eth:0xF9aD628d9F907ad5d46Ab80100dacDf09EAc9A8e",
"isVerified": true,
"ossifyingSince": 1780988555,
"ossifyingSince": 1789973519,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "RoninConduitOwner",
"address": "eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607",
"isVerified": true,
"ossifyingSince": 1779285407,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "L1ERC721Bridge",
"address": "eth:0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959",
"name": "PreimageOracle",
"address": "eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"isVerified": true,
"ossifyingSince": 1771964639,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77",
"name": "MIPS",
"address": "eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA",
"isVerified": true,
"ossifyingSince": 1771964639,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC",
"name": "PermissionedDisputeGame",
"address": "eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e",
"isVerified": true,
"ossifyingSince": 1771964639,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1",
"name": "ProxyAdmin",
"address": "eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC",
"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
}
],
"observedSince": 1778598960,
"resets": [
1680797639,
1718237363,
1718237375,
1740762647,
1751494331,
1751494343,
1755283775,
1755283787,
1756842743,
1756842755,
1762212215,
1766424179,
1771964591,
1771964591,
1771964639,
1771964639,
1771964639,
1771964639,
1771964639,
1771964639,
1771964639,
1771964639,
1771964639,
1771964639,
1771964639,
1778190599,
1778190599,
1778190599,
1778240927,
1779285407,
1779399734,
1779399734,
1780027571,
1780027583,
1780027583,
1782901175,
1782901175,
1782901175,
1782901175,
1782901175,
1782901175,
1782901175,
1782901175,
1782901175,
1782901175,
1782901175
1782901175,
1789973519
]
}
+249 -57
+16 -2
[
{
"address": "0xFc1D560eB01443e31B0EB56620703E80e42A7E4e",
"sinceTimestamp": 1740171575,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1774892915,
"transactionHash": "0x5fdafef75018bf815bd1af062fd43e5e043d9a85562796e959c9f346c74aeb74",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1775542511,
"transactionHash": "0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1777880603,
"transactionHash": "0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1779125963,
"transactionHash": "0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xFc1D560eB01443e31B0EB56620703E80e42A7E4e#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0",
"sinceTimestamp": 1740171575,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"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/0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
]
+4 -4
{
"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/0x003E40D3125591bD722aB1bB880c78e4D74d0977#code"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B#code"
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#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/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
},
{
"title": "OptimismPortal2.sol - Etherscan source code, finalizeWithdrawalTransaction function",
"url": "https://etherscan.io/address/0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B#code"
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#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/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#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"
}
]
}
],
"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.",
"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"
}
]
}
]
}
}
+22 -5
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Alchemy Multisig 1",
"name": "Alchemy Multisig 1",
"description": "A Multisig with 3/8 threshold. \n* Can upgrade **with no delay**\n * SystemConfig [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type ",
"description": "A Multisig with 3/8 threshold. \n* Can upgrade **with no delay**\n * SystemConfig [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with DisputeGameFactory\n * Allowed to challenge or delete state roots proposed by a Proposer \n * set the dispute game implementation and initial bond for any game type ",
"accounts": [
{
"address": "eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d",
"type": "Contract",
"isVerified": true,
"name": "0xA4fB…bF1d",
"url": "https://etherscan.io/address/0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xa3353Ae4458F663f1F888705b044269bd30cd110",
"type": "EOA",
"isVerified": true,
"name": "0xa335…d110",
"url": "https://etherscan.io/address/0xa3353Ae4458F663f1F888705b044269bd30cd110"
},
{
"address": "eth:0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca",
"type": "EOA",
"isVerified": true,
"name": "0xFB00…B1ca",
"url": "https://etherscan.io/address/0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca"
},
{
"address": "eth:0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7",
"type": "EOA",
"isVerified": true,
"name": "0x35A2…E1d7",
"url": "https://etherscan.io/address/0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7"
},
{
"address": "eth:0x001271c57AeC639952B5201D052767c316755512",
"type": "EOA",
"isVerified": true,
"name": "0x0012…5512",
"url": "https://etherscan.io/address/0x001271c57AeC639952B5201D052767c316755512"
},
{
"address": "eth:0x04a25F65200E56EAd142652b7E5eF372E169F2Bd",
"type": "EOA",
"isVerified": true,
"name": "0x04a2…F2Bd",
"url": "https://etherscan.io/address/0x04a25F65200E56EAd142652b7E5eF372E169F2Bd"
},
{
"address": "eth:0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670",
"type": "EOA",
"isVerified": true,
"name": "0xd144…1670",
"url": "https://etherscan.io/address/0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670"
},
{
"address": "eth:0xeD9919D57162D518014C391a687AA8fb9DB55654",
"type": "EOA",
"isVerified": true,
"name": "0xeD99…5654",
"url": "https://etherscan.io/address/0xeD9919D57162D518014C391a687AA8fb9DB55654"
},
{
"address": "eth:0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d",
"type": "EOA",
"isVerified": true,
"name": "0xB2aa…1a9d",
"url": "https://etherscan.io/address/0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth: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": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * SuperchainConfig [via: SuperchainProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x1bC6Df949b8eDC8EE61adB99d578A7a6E6Ff7310",
"type": "EOA",
"isVerified": true,
"name": "0x1bC6…7310",
"url": "https://etherscan.io/address/0x1bC6Df949b8eDC8EE61adB99d578A7a6E6Ff7310",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with DisputeGameFactory\n * Allowed to post new state roots of the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0x57669299e2a7D5BE46Ba817d8039C1350af830e8",
"type": "EOA",
"isVerified": true,
"name": "0x5766…30e8",
"url": "https://etherscan.io/address/0x57669299e2a7D5BE46Ba817d8039C1350af830e8",
"displayName": "EOA 1"
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0xD0b4c3aC8A50B6F1B3949ADaf55Cc9805620EB57",
"type": "EOA",
"isVerified": true,
"name": "0xD0b4…EB57",
"url": "https://etherscan.io/address/0xD0b4c3aC8A50B6F1B3949ADaf55Cc9805620EB57",
"displayName": "EOA 2"
"displayName": "EOA 3"
}
],
"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
}
]
}
}
+192 -45
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1774892915,
"transactionHash": "0x5fdafef75018bf815bd1af062fd43e5e043d9a85562796e959c9f346c74aeb74",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1775542511,
"transactionHash": "0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1777880603,
"transactionHash": "0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1779125963,
"transactionHash": "0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee",
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"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",
"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 3\n * **owner**: EOA 2",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1775542511,
"transactionHash": "0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1777880603,
"transactionHash": "0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1779125963,
"transactionHash": "0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee",
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"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 Alchemy Multisig 1\n * **owner**: Alchemy Multisig 1",
"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 * **challengerFromDGF**: Alchemy Multisig 1\n * **owner**: Alchemy Multisig 1\n * **proposerFromDGF**: EOA 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1774892915,
"transactionHash": "0x5fdafef75018bf815bd1af062fd43e5e043d9a85562796e959c9f346c74aeb74",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1775542511,
"transactionHash": "0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1777880603,
"transactionHash": "0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1779125963,
"transactionHash": "0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"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/0xFc1D560eB01443e31B0EB56620703E80e42A7E4e#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:0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1774892915,
"transactionHash": "0x5fdafef75018bf815bd1af062fd43e5e043d9a85562796e959c9f346c74aeb74",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1775542511,
"transactionHash": "0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1777880603,
"transactionHash": "0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1779125963,
"transactionHash": "0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"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/0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1774892915,
"transactionHash": "0x5fdafef75018bf815bd1af062fd43e5e043d9a85562796e959c9f346c74aeb74",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1775542511,
"transactionHash": "0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1777880603,
"transactionHash": "0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1779125963,
"transactionHash": "0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"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/0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0#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",
"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": "DelayedWETH",
"isVerified": true,
"address": "eth:0x3f1cE63c69d437FDd9F5d5Ad294f677a1b7Db08B",
"address": "eth:0x378B79fA4336111818Bb97162374EDF4C289D966",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1775542511,
"transactionHash": "0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9",
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"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/0x3f1cE63c69d437FDd9F5d5Ad294f677a1b7Db08B#code"
"url": "https://etherscan.io/address/0x378B79fA4336111818Bb97162374EDF4C289D966#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x44e9388e88Bb8edE446d62590d8A4C6d34813e98",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1777880603,
"transactionHash": "0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1779125963,
"transactionHash": "0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"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/0x44e9388e88Bb8edE446d62590d8A4C6d34813e98#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",
"isVerified": true,
"address": "eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A",
"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/0x58bf355C5d4EdFc723eF89d99582ECCfd143266A#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x63e956115F7618A95Bb968ecEF2E72e99cdBA80F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1775542511,
"transactionHash": "0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1779125963,
"transactionHash": "0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee",
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"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 PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"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/0x63e956115F7618A95Bb968ecEF2E72e99cdBA80F#code"
},
{
"name": "MIPS",
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"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",
"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/0x6463dEE3828677F6270d83d45408044fc5eDB908#code"
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "DeputyPauseModule",
"name": "MIPS",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"address": "eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA",
"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",
"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/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
"url": "https://etherscan.io/address/0xaCc005DCd857B401e4732E6F7837135A22825cfA#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Alchemy Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd35FeF329Bb6569baa373BDa702F3dfF59D57321#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": "0xFc1D560eB01443e31B0EB56620703E80e42A7E4e",
"sinceTimestamp": 1740171575,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1774892915,
"transactionHash": "0x5fdafef75018bf815bd1af062fd43e5e043d9a85562796e959c9f346c74aeb74",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1775542511,
"transactionHash": "0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1777880603,
"transactionHash": "0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1779125963,
"transactionHash": "0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316311,
"transactionHash": "0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363",
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xFc1D560eB01443e31B0EB56620703E80e42A7E4e#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0",
"sinceTimestamp": 1740171575,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"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/0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0#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": 1789562974,
"baseTimestamp": 1790944912,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "dc6ef284",
"date": "Fri, 02 Oct 2026 12:43:02 GMT",
"timestamp": 1790944912,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0), executed on 2026-09-25 by Alchemy Multisig 1 via the shared OPContractsManagerV2 (v7.1.17). SuperchainConfig upgraded to v2.4.3 on 2026-09-24.\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- SuperchainConfig 2.4.2 -> 2.4.3: https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\n- PermissionedDisputeGame 2.2.0 -> 2.4.0: https://disco.l2beat.com/diff/eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A/eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\n- MIPS 1.9.0 -> 1.10.1: https://disco.l2beat.com/diff/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908/eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\n- PreimageOracle 1.1.4 -> 1.1.5: https://disco.l2beat.com/diff/eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3/eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0\n- DelayedWETH 1.5.0 -> 1.5.1: https://disco.l2beat.com/diff/eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998/eth:0xE440CC08A71694C8229323803F59024E3144630e",
"isHighSeverity": true,
"changeCount": 174,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.7:\n+ [\"2026-09-25T06:05:11.000Z\",\"0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-25T06:05:11.000Z\",\"0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x378B79fA4336111818Bb97162374EDF4C289D966\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x378B79fA4336111818Bb97162374EDF4C289D966\"\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 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 DelayedWETH (eth:0x3f1cE63c69d437FDd9F5d5Ad294f677a1b7Db08B) [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 OptimismMintableERC20Factory (eth:0x44e9388e88Bb8edE446d62590d8A4C6d34813e98) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.4:\n+ [\"2026-09-25T06:05:11.000Z\",\"0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-25T06:05:11.000Z\",\"0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363\",[\"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:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\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 AnchorStateRegistry (eth:0x63e956115F7618A95Bb968ecEF2E72e99cdBA80F) [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-09-25T06:05:11.000Z\",\"0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-09-25T06:05:11.000Z\",\"0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363\",[\"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:0x3f1cE63c69d437FDd9F5d5Ad294f677a1b7Db08B\"\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- 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 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:0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.6:\n+ [\"2026-09-25T06:05:11.000Z\",\"0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-25T06:05:11.000Z\",\"0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) [GnosisSafe] {\n +++ description: None\n receivedPermissions.4.from:\n- \"eth:0x3f1cE63c69d437FDd9F5d5Ad294f677a1b7Db08B\"\n+ \"eth:0x378B79fA4336111818Bb97162374EDF4C289D966\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.6:\n+ [\"2026-09-25T06:05:11.000Z\",\"0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-25T06:05:11.000Z\",\"0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.2.from:\n- \"eth:0x3f1cE63c69d437FDd9F5d5Ad294f677a1b7Db08B\"\n+ \"eth:0x378B79fA4336111818Bb97162374EDF4C289D966\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76) [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-09-25T06:05:11.000Z\",\"0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-25T06:05:11.000Z\",\"0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363\",[\"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- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb90863e956115f7618a95bb968ecef2e72e99cdba80f3f1ce63c69d437fdd9f5d5ad294f677a1b7db08b00000000000000000000000000000000000000000000000000000000000014fb1bc6df949b8edc8ee61adb99d578a7a6e6ff7310a4fb12d15eb85dc9284a7df0adbc8b696edbbf1d\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6eacc005dcd857b401e4732e6f7837135a22825cfa63e956115f7618a95bb968ecef2e72e99cdba80f378b79fa4336111818bb97162374edf4c289d96600000000000000000000000000000000000000000000000000000000000014fb1bc6df949b8edc8ee61adb99d578a7a6e6ff7310a4fb12d15eb85dc9284a7df0adbc8b696edbbf1d\"\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n+++ severity: HIGH\n values.wethFromDGF:\n- \"eth:0x3f1cE63c69d437FDd9F5d5Ad294f677a1b7Db08B\"\n+ \"eth:0x378B79fA4336111818Bb97162374EDF4C289D966\"\n+++ severity: HIGH\n values.absolutePrestateFromDGF:\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n+++ severity: HIGH\n values.anchorStateRegistryFromDGF:\n+ \"eth:0x63e956115F7618A95Bb968ecEF2E72e99cdBA80F\"\n+++ severity: HIGH\n values.chainIdFromDGF:\n+ 5371\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game5:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game5AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game5Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game5Proposer:\n+ \"UNRESOLVED\"\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:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game9AbsolutePrestate:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game9Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game9Vm:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9Weth:\n+ \"UNRESOLVED\"\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+ 0\n+++ severity: HIGH\n values.vmFromDGF:\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\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 OptimismPortal2 (eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.6:\n+ [\"2026-09-25T06:05:11.000Z\",\"0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-25T06:05:11.000Z\",\"0x2d0b9af348e10dfebbf2a6460e7c8625c1468584234d28d8926bdf15fd3be363\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 6\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 L1StandardBridge (eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0) [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 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 DelayedWETH (eth:0x378B79fA4336111818Bb97162374EDF4C289D966) [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": "7cf36cf8",
"date": "Wed, 16 Sep 2026 12:51:00 GMT",
"timestamp": 1789562974,
"description": "Alchemy Multisig 1: threshold lowered from `5 of 8` to `3 of 8`. Same change on settlus, shape and worldchain.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```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 }\n```"
}
]
},
{
"id": "70c5c85b",
"date": "Thu, 10 Sep 2026 12:50:59 GMT",
"timestamp": 1789044573,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "03fbd1d9",
"date": "Mon, 07 Sep 2026 14:49:01 GMT",
"timestamp": 1788792449,
"description": "Settlus switched back from Celestia to Ethereum blobs on 2026-08-31: last Celestia commitment at height 13618693, first blob batch at L1 block 25875293.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.opStackDA.isSequencerSendingBlobTx:\n- false\n+ true\n values.opStackDA.isUsingCelestia:\n- true\n+ false\n }\n```"
}
]
},
{
"id": "8a3c64cf",
"date": "Fri, 17 Jul 2026 10:13:35 GMT",
"timestamp": 1784283126,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "8dbc39d5",
"date": "Mon, 06 Jul 2026 07:54:12 GMT",
"timestamp": 1783324371,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling).",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "89b1ecaa",
"date": "Mon, 25 May 2026 08:57:09 GMT",
"timestamp": 1779699347,
"description": "**OP Contracts v5.2 upgrade**: `PermissionedDisputeGame` migrated to a shared implementation via CWIA clones. No permissions change.\n\nExecuted 2026-05-18 by Alchemy Multisig 1 (chain operator); same upgrade applied to `shape` and `worldchain`.\n\nImplementation rotations:\n- **OptimismPortal2** `5.1.1` → `5.2.0` — [diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B)\n- **SystemConfig** `3.11.0` → `3.13.1` — [diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2) — adds `DELAYED_WETH_SLOT` (zero, not active) and `isCustomGasToken()` getter.\n- **DisputeGameFactory** `1.3.0` → `1.4.0` — [diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c) — clone bytecode now embeds gameType + chain-specific args; `*FromDGF` getters expose existing challenger/proposer/weth (new visibility, not new permissions).\n- **AnchorStateRegistry** `3.5.0` → `3.7.0` — [diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5) — adds `getStartingAnchorRoot`.\n\n`gameImpls[1]` now points to shared **PermissionedDisputeGameV2** `eth:0x58bf355C…` (deployed 2025-12-22). Shared **MIPS** FPVM `eth:0x6463dEE3…` appears in discovery because the new V2 references it.\n\n`L1CrossDomainMessenger`, `L1StandardBridge`, `L1ERC721Bridge`, `OptimismMintableERC20Factory`, `DelayedWETH`: `upgradeToAndCall` re-init only, no rotation.",
"isHighSeverity": true,
"changeCount": 46,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xaa1b3bedab4e63198240e9dea4503f0e615e4d18a545961c9f11b72143279fbc\"\n+ \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.6:\n+ [\"2026-05-18T17:39:23.000Z\",\"0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x44e9388e88Bb8edE446d62590d8A4C6d34813e98) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.3:\n+ [\"2026-05-18T17:39:23.000Z\",\"0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 3\n+ 4\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x63e956115F7618A95Bb968ecEF2E72e99cdBA80F) [opstack/AnchorStateRegistry_post13] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0xf808a203af41f7932eb8e39985e56a7c75c940a260fb17d76d1003a3793281b5\"\n+ \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.1:\n+ [\"2026-05-18T17:39:23.000Z\",\"0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0xc424cd12a1242e670af134a4a3ac7f1fb0f3e6ce6dbaba109618d9293040f07c\",\"l2SequenceNumber\":33858173}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.5:\n+ [\"2026-05-18T17:39:23.000Z\",\"0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 5\n+ 6\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xba926Da889B3f4224C6d37F39d8433bb454ce38b) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.5:\n+ [\"2026-05-18T17:39:23.000Z\",\"0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 5\n+ 6\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7daf6049672fd2ab7dc8dd3b6287e1d0a40958346c5e2857c4616a73dcac4da6\"\n+ \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.4:\n+ [\"2026-05-18T17:39:23.000Z\",\"0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xba926Da889B3f4224C6d37F39d8433bb454ce38b\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb90863e956115f7618a95bb968ecef2e72e99cdba80f3f1ce63c69d437fdd9f5d5ad294f677a1b7db08b00000000000000000000000000000000000000000000000000000000000014fb1bc6df949b8edc8ee61adb99d578a7a6e6ff7310a4fb12d15eb85dc9284a7df0adbc8b696edbbf1d\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x1bC6Df949b8eDC8EE61adB99d578A7a6E6Ff7310\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x3f1cE63c69d437FDd9F5d5Ad294f677a1b7Db08B\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x3e7e2cb08ba995795937c9c2e8ea9d0e4d2e2de852f389055073384d5f79c59d\"\n+ \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.5:\n+ [\"2026-05-18T17:39:23.000Z\",\"0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "a9ae248a",
"date": "Fri, 15 May 2026 13:11:03 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "01b76a5a",
"date": "Tue, 05 May 2026 17:16:31 GMT",
"timestamp": 1778001299,
"description": "**OP Stack contracts upgrade on settlus.**\n\nImplementation rotations / version bumps:\n- **SystemConfig** `v3.7.0 → v3.11.0` — adds `daFootprintGasScalar` and `minBaseFee`.\n- **OptimismPortal2** → `v5.1.1`.\n- **DisputeGameFactory** → `v1.3.0`; PermissionedDisputeGame rotated to new address.\n- **AnchorStateRegistry** rotated (v3.5.0 at new address).\n- **DelayedWETH** rotated (v1.5.0 at new address).\n- **MIPS** rotated: old `0x07BABE08...` deleted, new `0x6463dEE3...` (v1.9.0) created.\n- **PreimageOracle** rotated.\n- **OptimismMintableERC20Factory** `v1.10.1 → v1.10.2`.\n\nDiscovery also picked up several Optimism Foundation governance contracts (SaferSafes, DeputyPauseModule, OpFoundationOperationsSafe, DeputyGuardianModule, etc.) reachable from the new SystemConfig wiring.",
"isHighSeverity": true,
"changeCount": 56,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SystemConfig (eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.5:\n+ [\"2026-05-04T07:43:23.000Z\",\"0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x44e9388e88Bb8edE446d62590d8A4C6d34813e98) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.2:\n+ [\"2026-05-04T07:43:23.000Z\",\"0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.4:\n+ [\"2026-05-04T07:43:23.000Z\",\"0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xAD905147163589265C20f11D72a14626a6126133)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.4:\n+ [\"2026-05-04T07:43:23.000Z\",\"0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.3:\n+ [\"2026-05-04T07:43:23.000Z\",\"0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xAD905147163589265C20f11D72a14626a6126133\"\n+ \"eth:0xba926Da889B3f4224C6d37F39d8433bb454ce38b\"\n values.permissionedGameArgs:\n- \"EXPECT_REVERT\"\n+ \"0x\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.4:\n+ [\"2026-05-04T07:43:23.000Z\",\"0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xba926Da889B3f4224C6d37F39d8433bb454ce38b)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "e38ec8e2",
"date": "Tue, 07 Apr 2026 21:52:40 GMT",
"timestamp": 1775598688,
"description": "Upgrade to op-contracts v5.x. SystemConfig v3.7.0, OptimismPortal2 v5.0.0, L1CrossDomainMessenger v2.10.0, L1StandardBridge v2.7.0, L1ERC721Bridge v2.8.0, DisputeGameFactory v1.2.0.\nmaximumGasLimit increased from 200M to 500M. New fields: guardian, initVersion, l2ChainId, paused, proxyAdmin, proxyAdminOwner, superchainConfig. Old DelayedWETH and AnchorStateRegistry deleted, new ones created. Now uses standard SuperchainConfig (0x95703e).\n\nSystemConfig: [diff](https://disco.l2beat.com/diff/eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557)\nL1CrossDomainMessenger: [diff](https://disco.l2beat.com/diff/eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6)\nOptimismPortal2: [diff](https://disco.l2beat.com/diff/eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999)\nL1StandardBridge: [diff](https://disco.l2beat.com/diff/eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb)\nL1ERC721Bridge: [diff](https://disco.l2beat.com/diff/eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013/eth:0x7f1d12fB2911EB095278085f721e644C1f675696)\nDisputeGameFactory: [diff](https://disco.l2beat.com/diff/eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D)",
"isHighSeverity": true,
"changeCount": 89,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.4:\n+ [\"2026-04-07T06:15:11.000Z\",\"0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.7.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 3\n values.l2ChainId:\n+ 5371\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.3:\n+ [\"2026-04-07T06:15:11.000Z\",\"0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.6.0\"\n+ \"2.10.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0xC206D300b07cB905Cb1831d8a9172d4c66394638\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x3f1cE63c69d437FDd9F5d5Ad294f677a1b7Db08B\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"}]}\n receivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x63e956115F7618A95Bb968ecEF2E72e99cdBA80F\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"}]}\n receivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xC206D300b07cB905Cb1831d8a9172d4c66394638\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"}]}\n receivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xF75ed0F9cddec16608960f4a0127Cf35be9aCc7d\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xC206D300b07cB905Cb1831d8a9172d4c66394638)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.3:\n+ [\"2026-04-07T06:15:11.000Z\",\"0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.8.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321) {\n +++ description: None\n directlyReceivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x3f1cE63c69d437FDd9F5d5Ad294f677a1b7Db08B\",\"role\":\"admin\"}\n directlyReceivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x63e956115F7618A95Bb968ecEF2E72e99cdBA80F\",\"role\":\"admin\"}\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xC206D300b07cB905Cb1831d8a9172d4c66394638\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xF75ed0F9cddec16608960f4a0127Cf35be9aCc7d\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2026-04-07T06:15:11.000Z\",\"0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xfA071DAC93879c0f86a3C4F63c63Da0cE299f558\"\n+ \"eth:0xAD905147163589265C20f11D72a14626a6126133\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0xF75ed0F9cddec16608960f4a0127Cf35be9aCc7d)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xfA071DAC93879c0f86a3C4F63c63Da0cE299f558)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n values.$implementation:\n- \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.3:\n+ [\"2026-04-07T06:15:11.000Z\",\"0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.respectedGameTypeUpdatedAt:\n- 1740171575\n+ 1775542511\n values.version:\n- \"3.14.0\"\n+ \"5.0.0\"\n values.anchorStateRegistry:\n+ \"eth:0x63e956115F7618A95Bb968ecEF2E72e99cdBA80F\"\n values.ethLockbox:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.version:\n- \"2.3.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x3f1cE63c69d437FDd9F5d5Ad294f677a1b7Db08B)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0x63e956115F7618A95Bb968ecEF2E72e99cdBA80F)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xAD905147163589265C20f11D72a14626a6126133)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "dbda2e64",
"date": "Wed, 01 Apr 2026 07:39:58 GMT",
"timestamp": 1775029097,
"description": "Upgrade 14: Isthmus L1 Contracts + MT-Cannon (op-contracts/v3.0.0). https://gov.optimism.io/t/upgrade-proposal-14-isthmus-l1-contracts-mt-cannon/9796\n\nSystemConfig v2.5.0 adds operator fee mechanism (disabled, both scalars set to 0).\nL1CrossDomainMessenger v2.6.0 adds gas estimation constants (ENCODING_OVERHEAD, FLOOR_CALLDATA_OVERHEAD, TX_BASE_GAS).\nOptimismPortal2 v3.14.0, L1StandardBridge v2.3.0, L1ERC721Bridge v2.4.0 with minor internal changes.\nMIPS32 replaced with MIPS64 (MT-Cannon) enabling multi-threading support. PermissionedDisputeGame redeployed to point to new MIPS64 VM.\n\nSystemConfig: [diff](https://disco.l2beat.com/diff/eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc/eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647)\nL1CrossDomainMessenger: [diff](https://disco.l2beat.com/diff/eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231/eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B)\nOptimismPortal2: [diff](https://disco.l2beat.com/diff/eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd/eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4)\nL1StandardBridge: [diff](https://disco.l2beat.com/diff/eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6/eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A)\nL1ERC721Bridge: [diff](https://disco.l2beat.com/diff/eth:0x276d3730f219f7ec22274f7263180b8452B46d47/eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013)\nMIPS (MIPS32→MIPS64): [diff](https://disco.l2beat.com/diff/eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a/eth:0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\nPermissionedDisputeGame: [diff](https://disco.l2beat.com/diff/eth:0xE80D2f0D8b994fE2CFD01B4e03f118Dc4F99ca8a/eth:0xfA071DAC93879c0f86a3C4F63c63Da0cE299f558)",
"isHighSeverity": true,
"changeCount": 43,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.3:\n+ [\"2026-03-30T17:48:35.000Z\",\"0x5fdafef75018bf815bd1af062fd43e5e043d9a85562796e959c9f346c74aeb74\",[\"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n implementationNames.eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc:\n- \"SystemConfig\"\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.2:\n+ [\"2026-03-30T17:48:35.000Z\",\"0x5fdafef75018bf815bd1af062fd43e5e043d9a85562796e959c9f346c74aeb74\",[\"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.5.0\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.2:\n+ [\"2026-03-30T17:48:35.000Z\",\"0x5fdafef75018bf815bd1af062fd43e5e043d9a85562796e959c9f346c74aeb74\",[\"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.3.1\"\n+ \"2.4.0\"\n implementationNames.eth:0x276d3730f219f7ec22274f7263180b8452B46d47:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xE80D2f0D8b994fE2CFD01B4e03f118Dc4F99ca8a\"\n+ \"eth:0xfA071DAC93879c0f86a3C4F63c63Da0cE299f558\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xE80D2f0D8b994fE2CFD01B4e03f118Dc4F99ca8a)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n values.$implementation:\n- \"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.2:\n+ [\"2026-03-30T17:48:35.000Z\",\"0x5fdafef75018bf815bd1af062fd43e5e043d9a85562796e959c9f346c74aeb74\",[\"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.13.0\"\n+ \"3.14.0\"\n implementationNames.eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd:\n- \"OptimismPortal2\"\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"2.2.2\"\n+ \"2.3.0\"\n implementationNames.eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6:\n- \"L1StandardBridge\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xfA071DAC93879c0f86a3C4F63c63Da0cE299f558)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "7d6e872a",
"date": "Wed, 25 Mar 2026 10:05:17 GMT",
"timestamp": 1774433040,
"description": "Upgrade 13: OPCM and Incident Response Improvements. https://gov.optimism.io/t/upgrade-proposal-13-opcm-and-incident-response-improvements/9739\n\nAlso includes the shared OpFoundation signer rotation (3 signers rotated on OpFoundationUpgradeSafe).",
"isHighSeverity": true,
"changeCount": 79,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xf2ca03f1fb80fdb3c1281ea41b46245c8e6811a03a9ad7129f60cfedaac0e231\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.2:\n+ [\"2026-03-24T08:47:11.000Z\",\"0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc\",[\"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.gasPayingToken:\n- {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"eth:0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb\",\"l1ERC721Bridge\":\"eth:0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82\",\"l1StandardBridge\":\"eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0\",\"disputeGameFactory\":\"eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76\",\"optimismPortal\":\"eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e\",\"optimismMintableERC20Factory\":\"eth:0x44e9388e88Bb8edE446d62590d8A4C6d34813e98\"}\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n- \"SystemConfig\"\n implementationNames.eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n EOA (eth:0x1bC6Df949b8eDC8EE61adB99d578A7a6E6Ff7310) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0xf9534EBc84082dF9d35Fb1Ed8786bF8cE8a90294\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x44e9388e88Bb8edE446d62590d8A4C6d34813e98) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.1:\n+ [\"2026-03-24T08:47:11.000Z\",\"0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc\",[\"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n values.$implementation:\n- \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.1:\n+ [\"2026-03-24T08:47:11.000Z\",\"0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc\",[\"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0xf9534EBc84082dF9d35Fb1Ed8786bF8cE8a90294\",\"role\":\".challenger\"}\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xb5150595F1E2240b76F414dc96509f5125ba5DD0\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"}]}\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xF75ed0F9cddec16608960f4a0127Cf35be9aCc7d\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0xb5150595F1E2240b76F414dc96509f5125ba5DD0)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract DelayedWETH (eth:0xC206D300b07cB905Cb1831d8a9172d4c66394638) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2026-03-24T08:47:11.000Z\",\"0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc\",[\"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087:\n- \"DelayedWETH\"\n implementationNames.eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e:\n+ \"DelayedWETH\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.1:\n+ [\"2026-03-24T08:47:11.000Z\",\"0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc\",[\"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x276d3730f219f7ec22274f7263180b8452B46d47:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321) {\n +++ description: None\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xb5150595F1E2240b76F414dc96509f5125ba5DD0\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xF75ed0F9cddec16608960f4a0127Cf35be9aCc7d\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2026-03-24T08:47:11.000Z\",\"0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc\",[\"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xf9534EBc84082dF9d35Fb1Ed8786bF8cE8a90294\"\n+ \"eth:0xE80D2f0D8b994fE2CFD01B4e03f118Dc4F99ca8a\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n implementationNames.eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xf9534EBc84082dF9d35Fb1Ed8786bF8cE8a90294)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n values.$implementation:\n- \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.1:\n+ [\"2026-03-24T08:47:11.000Z\",\"0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc\",[\"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n- \"OptimismPortal2\"\n implementationNames.eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n- \"L1StandardBridge\"\n implementationNames.eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xE80D2f0D8b994fE2CFD01B4e03f118Dc4F99ca8a)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0xF75ed0F9cddec16608960f4a0127Cf35be9aCc7d)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```"
}
]
},
{
"id": "0ac1a36c",
"date": "Wed, 04 Mar 2026 20:07:26 GMT",
"timestamp": 1772654768,
"description": "One member of the Alchemy Multisig 1 (5/8 threshold) was rotated: 0xA351...700a replaced by 0x04a2...7Bd.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.4:\n- \"eth:0xA351A874b48dCEdf1883dD4F4049bE3d9923700a\"\n+ \"eth:0x04a25F65200E56EAd142652b7E5eF372E169F2Bd\"\n }\n```"
}
]
},
{
"id": "6ed4abf9",
"date": "Fri, 27 Feb 2026 13:25:53 GMT",
"timestamp": 1772198390,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "73829587",
"date": "Fri, 13 Feb 2026 14:33:33 GMT",
"timestamp": 1770993147,
"description": "Settlus switched DA from Ethereum blobs to Celestia. The sequencer is no longer sending blob transactions.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.opStackDA.isSequencerSendingBlobTx:\n- true\n+ false\n values.opStackDA.isUsingCelestia:\n- false\n+ true\n }\n```"
}
]
},
{
"id": "bd507299",
"date": "Mon, 26 Jan 2026 09:08:12 GMT",
"timestamp": 1769272378,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "9a898dc7",
"date": "Thu, 18 Dec 2025 08:59:29 GMT",
"timestamp": 1766048283,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "07c5768b",
"date": "Fri, 28 Nov 2025 10:01:51 GMT",
"timestamp": 1764324033,
"description": "Jovian SuperchainConfig upgrade.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "64c5e5bf",
"date": "Thu, 23 Oct 2025 12:39:51 GMT",
"timestamp": 1761223075,
"description": "msig change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "3bb0a613",
"date": "Fri, 19 Sep 2025 12:58:50 GMT",
"timestamp": 1758286666,
"description": "Multisig key rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.0:\n- \"eth:0xCA730AFfb87935E70E5889418C731eb196237476\"\n+ \"eth:0xa3353Ae4458F663f1F888705b044269bd30cd110\"\n }\n```"
}
]
},
{
"id": "1c48f404",
"date": "Mon, 18 Aug 2025 09:03:13 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "f6bda026",
"date": "Mon, 28 Jul 2025 05:57:28 GMT",
"timestamp": 1753682248,
"description": "Op stack gov upgrade: SuperchainConfig with pause expiry and DeputyPausModule. See optimism diffHistory for details.",
"isHighSeverity": true,
"changeCount": 26,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```"
}
]
},
{
"id": "41472ad5",
"date": "Thu, 24 Jul 2025 11:36:53 GMT",
"timestamp": 1753357013,
"description": "1559 gas config added.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n- 0\n+ 250\n values.eip1559Elasticity:\n- 0\n+ 2\n }\n```"
}
]
},
{
"id": "7380cc62",
"date": "Mon, 14 Jul 2025 12:46:06 GMT",
"timestamp": 1752497166,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 28,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x44e9388e88Bb8edE446d62590d8A4C6d34813e98)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xb5150595F1E2240b76F414dc96509f5125ba5DD0)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xC206D300b07cB905Cb1831d8a9172d4c66394638)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xC24C700BC65a3b15De13e489e155c81F621B1856)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xd35FeF329Bb6569baa373BDa702F3dfF59D57321)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xf9534EBc84082dF9d35Fb1Ed8786bF8cE8a90294)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0xFc1D560eB01443e31B0EB56620703E80e42A7E4e)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```"
}
]
},
{
"id": "382a92b3",
"date": "Wed, 18 Jun 2025 11:38:10 GMT",
"timestamp": 1750246690,
"description": "MS signer changed.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.4:\n- \"0x0a214444613E3970049BD74a8d72d5bF9EF0094c\"\n+ \"0xCA730AFfb87935E70E5889418C731eb196237476\"\n }\n```"
}
]
},
{
"id": "093a6e27",
"date": "Thu, 08 May 2025 08:50:26 GMT",
"timestamp": 1746694226,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```"
}
]
},
{
"id": "f0dd734f",
"date": "Fri, 04 Apr 2025 13:17:10 GMT",
"timestamp": 1743772630,
"description": "Standard OP chain.",
"isHighSeverity": false,
"changeCount": 27,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x44e9388e88Bb8edE446d62590d8A4C6d34813e98)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xb5150595F1E2240b76F414dc96509f5125ba5DD0)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xC206D300b07cB905Cb1831d8a9172d4c66394638)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xC24C700BC65a3b15De13e489e155c81F621B1856)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xd35FeF329Bb6569baa373BDa702F3dfF59D57321)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xf9534EBc84082dF9d35Fb1Ed8786bF8cE8a90294)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0xFc1D560eB01443e31B0EB56620703E80e42A7E4e)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```"
}
]
}
]
+265 -73
+16 -2
[
{
"address": "0xEB06fFa16011B5628BaB98E29776361c83741dd3",
"sinceTimestamp": 1721746151,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721746619,
"transactionHash": "0xfacd29a5b799051bf62c7fcc470e152275078dce7c3402c3c3241a8f5e0d24f7",
"implementations": [
"eth:0x3Db18Ba41E7F377fa2603D2B500f40CF82683b78"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1773055343,
"transactionHash": "0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1773647627,
"transactionHash": "0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1777880315,
"transactionHash": "0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1779126107,
"transactionHash": "0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xEB06fFa16011B5628BaB98E29776361c83741dd3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B",
"sinceTimestamp": 1721746175,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"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/0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
]
+4 -4
{
"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/0xfF00000000000000000000000000000000000360#code"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B#code"
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#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/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
},
{
"title": "OptimismPortal2.sol - Etherscan source code, finalizeWithdrawalTransaction function",
"url": "https://etherscan.io/address/0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B#code"
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#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/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#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/shape.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/shape.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.",
"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"
}
]
}
]
}
}
+22 -5
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Alchemy Multisig 1",
"name": "Alchemy Multisig 1",
"description": "A Multisig with 3/8 threshold. \n* Can upgrade **with no delay**\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n* Can interact with 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]",
"description": "A Multisig with 3/8 threshold. \n* Can upgrade **with no delay**\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n* Can interact with DisputeGameFactory\n * Allowed to challenge or delete state roots proposed by a Proposer \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]",
"accounts": [
{
"address": "eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d",
"type": "Contract",
"isVerified": true,
"name": "0xA4fB…bF1d",
"url": "https://etherscan.io/address/0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xa3353Ae4458F663f1F888705b044269bd30cd110",
"type": "EOA",
"isVerified": true,
"name": "0xa335…d110",
"url": "https://etherscan.io/address/0xa3353Ae4458F663f1F888705b044269bd30cd110"
},
{
"address": "eth:0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca",
"type": "EOA",
"isVerified": true,
"name": "0xFB00…B1ca",
"url": "https://etherscan.io/address/0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca"
},
{
"address": "eth:0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7",
"type": "EOA",
"isVerified": true,
"name": "0x35A2…E1d7",
"url": "https://etherscan.io/address/0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7"
},
{
"address": "eth:0x001271c57AeC639952B5201D052767c316755512",
"type": "EOA",
"isVerified": true,
"name": "0x0012…5512",
"url": "https://etherscan.io/address/0x001271c57AeC639952B5201D052767c316755512"
},
{
"address": "eth:0x04a25F65200E56EAd142652b7E5eF372E169F2Bd",
"type": "EOA",
"isVerified": true,
"name": "0x04a2…F2Bd",
"url": "https://etherscan.io/address/0x04a25F65200E56EAd142652b7E5eF372E169F2Bd"
},
{
"address": "eth:0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670",
"type": "EOA",
"isVerified": true,
"name": "0xd144…1670",
"url": "https://etherscan.io/address/0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670"
},
{
"address": "eth:0xeD9919D57162D518014C391a687AA8fb9DB55654",
"type": "EOA",
"isVerified": true,
"name": "0xeD99…5654",
"url": "https://etherscan.io/address/0xeD9919D57162D518014C391a687AA8fb9DB55654"
},
{
"address": "eth:0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d",
"type": "EOA",
"isVerified": true,
"name": "0xB2aa…1a9d",
"url": "https://etherscan.io/address/0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth: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": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * SuperchainConfig [via: SuperchainProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x0D8a607F3d2de86adD04Df00f06794cB339A40de",
"type": "EOA",
"isVerified": true,
"name": "0x0D8a…40de",
"url": "https://etherscan.io/address/0x0D8a607F3d2de86adD04Df00f06794cB339A40de",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with DisputeGameFactory\n * Allowed to post new state roots of the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f",
"type": "EOA",
"isVerified": true,
"name": "0xee1A…087f",
"url": "https://etherscan.io/address/0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f",
"displayName": "EOA 1"
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0xF7ca543d652E38692fD12f989eb55b5327eC9A20",
"type": "EOA",
"isVerified": true,
"name": "0xF7ca…9A20",
"url": "https://etherscan.io/address/0xF7ca543d652E38692fD12f989eb55b5327eC9A20",
"displayName": "EOA 2"
"displayName": "EOA 3"
}
],
"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
}
]
}
}
+208 -61
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1737735059,
"transactionHash": "0x2d76fb3250c5b8850c4c96321903f25cefa34819f66e53807697244bbac969c2",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1773055343,
"transactionHash": "0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1777880315,
"transactionHash": "0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1779126107,
"transactionHash": "0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140",
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"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 Alchemy Multisig 1\n * **owner**: Alchemy Multisig 1",
"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 * **challengerFromDGF**: Alchemy Multisig 1\n * **owner**: Alchemy Multisig 1\n * **proposerFromDGF**: EOA 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721746619,
"transactionHash": "0xfacd29a5b799051bf62c7fcc470e152275078dce7c3402c3c3241a8f5e0d24f7",
"implementations": [
"eth:0x3Db18Ba41E7F377fa2603D2B500f40CF82683b78"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1773055343,
"transactionHash": "0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1773647627,
"transactionHash": "0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1777880315,
"transactionHash": "0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1779126107,
"transactionHash": "0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"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/0xEB06fFa16011B5628BaB98E29776361c83741dd3#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721746451,
"transactionHash": "0x4525ab1d58fb55290f8ddfd694b59b485fd7520d0f9189ea03fede3bb6485cb8",
"implementations": [
"eth:0x8174764Ae82696D232D5C93FEA6A006b1286dC4a"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1742228675,
"transactionHash": "0xae6ce7a33b18c6ecd39e5c2435a1b9e629b193e97fbf5aaa74e20d7475e50c02",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1742228675,
"transactionHash": "0xae6ce7a33b18c6ecd39e5c2435a1b9e629b193e97fbf5aaa74e20d7475e50c02",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1773055343,
"transactionHash": "0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1773647627,
"transactionHash": "0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1777880315,
"transactionHash": "0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1779126107,
"transactionHash": "0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140",
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"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",
"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 3\n * **owner**: EOA 2",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355#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:0x2b18602877181C3cB72C687E2A771E123A3788E3",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721746535,
"transactionHash": "0x988103f397cdd95cddccfdd43d016de2f473d52929ccd88320bcaa2f133ffa2f",
"implementations": [
"eth:0xAEfEA5D2Dd3B9A05a67FBD5E7C06c19151A7fe50"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1773055343,
"transactionHash": "0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1773647627,
"transactionHash": "0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1777880315,
"transactionHash": "0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1779126107,
"transactionHash": "0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"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/0x2b18602877181C3cB72C687E2A771E123A3788E3#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721746487,
"transactionHash": "0x8933438e6700ab1b108491850988e3c8992a7d9cf1a8eb67efc62ae390451790",
"implementations": [
"eth:0x5cBe8a4463370e38AcE1406875872eF38342a1c6"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1773055343,
"transactionHash": "0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1773647627,
"transactionHash": "0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1777880315,
"transactionHash": "0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1779126107,
"transactionHash": "0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"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/0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af#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": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Alchemy Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x11B190Ae661c6d6884dFEE48E215691E0DdB842e#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": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x319322906beAdf69dF5d4607169c63D692B1aDC1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721746499,
"transactionHash": "0x6baa8e3e07b8aaed7008117226e7f2b5f547d0867119ac50ead14356f4d30536",
"implementations": [
"eth:0x70201b22244D19fc52c2D09DC3e06c6cD2819067"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1773055343,
"transactionHash": "0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1777880315,
"transactionHash": "0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1779126107,
"transactionHash": "0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"upgradableBy": [
},
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x319322906beAdf69dF5d4607169c63D692B1aDC1#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x36B4f78990619Fdd8F7E9cc7965326336f2bd706",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
}
],
"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",
"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/0x36B4f78990619Fdd8F7E9cc7965326336f2bd706#code"
"url": "https://etherscan.io/address/0x319322906beAdf69dF5d4607169c63D692B1aDC1#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": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A",
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"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": "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/0x58bf355C5d4EdFc723eF89d99582ECCfd143266A#code"
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"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/0x6463dEE3828677F6270d83d45408044fc5eDB908#code"
"url": "https://etherscan.io/address/0xaCc005DCd857B401e4732E6F7837135A22825cfA#code"
},
{
"name": "DeputyPauseModule",
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"address": "eth:0xaEDCf9C230c67E0ce4f4E964b5B18805dAF28849",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
"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",
"pastUpgrades": [
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"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/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
"url": "https://etherscan.io/address/0xaEDCf9C230c67E0ce4f4E964b5B18805dAF28849#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1779126107,
"transactionHash": "0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140",
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"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 PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"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/0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B#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": "0xEB06fFa16011B5628BaB98E29776361c83741dd3",
"sinceTimestamp": 1721746151,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721746619,
"transactionHash": "0xfacd29a5b799051bf62c7fcc470e152275078dce7c3402c3c3241a8f5e0d24f7",
"implementations": [
"eth:0x3Db18Ba41E7F377fa2603D2B500f40CF82683b78"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1773055343,
"transactionHash": "0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1773647627,
"transactionHash": "0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1777880315,
"transactionHash": "0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1779126107,
"transactionHash": "0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790316467,
"transactionHash": "0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205",
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xEB06fFa16011B5628BaB98E29776361c83741dd3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B",
"sinceTimestamp": 1721746175,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"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/0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B#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": 1789563001,
"baseTimestamp": 1790944922,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "c20bd025",
"date": "Fri, 02 Oct 2026 12:43:11 GMT",
"timestamp": 1790944922,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0), executed on 2026-09-25 by Alchemy Multisig 1 via the shared OPContractsManagerV2 (v7.1.17). SuperchainConfig upgraded to v2.4.3 on 2026-09-24.\n\nSystemConfig `batchInbox` changed.\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- SuperchainConfig 2.4.2 -> 2.4.3: https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\n- PermissionedDisputeGame 2.2.0 -> 2.4.0: https://disco.l2beat.com/diff/eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A/eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\n- MIPS 1.9.0 -> 1.10.1: https://disco.l2beat.com/diff/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908/eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\n- PreimageOracle 1.1.4 -> 1.1.5: https://disco.l2beat.com/diff/eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3/eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0\n- DelayedWETH 1.5.0 -> 1.5.1: https://disco.l2beat.com/diff/eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998/eth:0xE440CC08A71694C8229323803F59024E3144630e",
"isHighSeverity": true,
"changeCount": 177,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x36B4f78990619Fdd8F7E9cc7965326336f2bd706\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xaEDCf9C230c67E0ce4f4E964b5B18805dAF28849\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x2b18602877181C3cB72C687E2A771E123A3788E3) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.8:\n+ [\"2026-09-25T06:07:47.000Z\",\"0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-25T06:07:47.000Z\",\"0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205\",[\"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 contract DisputeGameFactory (eth:0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952) [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-09-25T06:07:47.000Z\",\"0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-25T06:07:47.000Z\",\"0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205\",[\"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- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb908c55f722cf6e14907b844a8b8d3cfd0c04cf3ed9b36b4f78990619fdd8f7e9cc7965326336f2bd70600000000000000000000000000000000000000000000000000000000000001680d8a607f3d2de86add04df00f06794cb339a40dea4fb12d15eb85dc9284a7df0adbc8b696edbbf1d\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6eacc005dcd857b401e4732e6f7837135a22825cfac55f722cf6e14907b844a8b8d3cfd0c04cf3ed9baedcf9c230c67e0ce4f4e964b5b18805daf2884900000000000000000000000000000000000000000000000000000000000001680d8a607f3d2de86add04df00f06794cb339a40dea4fb12d15eb85dc9284a7df0adbc8b696edbbf1d\"\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n+++ severity: HIGH\n values.wethFromDGF:\n- \"eth:0x36B4f78990619Fdd8F7E9cc7965326336f2bd706\"\n+ \"eth:0xaEDCf9C230c67E0ce4f4E964b5B18805dAF28849\"\n+++ severity: HIGH\n values.absolutePrestateFromDGF:\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n+++ severity: HIGH\n values.anchorStateRegistryFromDGF:\n+ \"eth:0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B\"\n+++ severity: HIGH\n values.chainIdFromDGF:\n+ 360\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game5:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game5AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game5Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game5Proposer:\n+ \"UNRESOLVED\"\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:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game9AbsolutePrestate:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game9Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game9Vm:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9Weth:\n+ \"UNRESOLVED\"\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+ 0\n+++ severity: HIGH\n values.vmFromDGF:\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\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 OptimismMintableERC20Factory (eth:0x319322906beAdf69dF5d4607169c63D692B1aDC1) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.5:\n+ [\"2026-09-25T06:07:47.000Z\",\"0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-25T06:07:47.000Z\",\"0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205\",[\"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:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x36B4f78990619Fdd8F7E9cc7965326336f2bd706) [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 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 L1StandardBridge (eth:0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B) [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 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 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 Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) [GnosisSafe] {\n +++ description: None\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x36B4f78990619Fdd8F7E9cc7965326336f2bd706\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xaEDCf9C230c67E0ce4f4E964b5B18805dAF28849\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"}]}\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B) [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-09-25T06:07:47.000Z\",\"0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-09-25T06:07:47.000Z\",\"0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205\",[\"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:0x36B4f78990619Fdd8F7E9cc7965326336f2bd706\"\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 L1ERC721Bridge (eth:0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af) [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-09-25T06:07:47.000Z\",\"0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-25T06:07:47.000Z\",\"0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205\",[\"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 contract OptimismPortal2 (eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.8:\n+ [\"2026-09-25T06:07:47.000Z\",\"0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-25T06:07:47.000Z\",\"0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205\",[\"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 SystemConfig (eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.10:\n+ [\"2026-09-25T06:07:47.000Z\",\"0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-25T06:07:47.000Z\",\"0x15dd2c00df3c6367e16358c69b1390d444b22de3b58d6d115b5788a2f30ef205\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 10\n+ 12\n values.batchInbox:\n- \"eth:0xfF00000000000000000000000000000000000360\"\n+ \"eth:0x008077777Ae4769De06cbFd1C0B8b1F653b51Ec1\"\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xaEDCf9C230c67E0ce4f4E964b5B18805dAF28849\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xaEDCf9C230c67E0ce4f4E964b5B18805dAF28849\"\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: 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```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xaEDCf9C230c67E0ce4f4E964b5B18805dAF28849) [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": "f00d5c2e",
"date": "Wed, 16 Sep 2026 12:51:26 GMT",
"timestamp": 1789563001,
"description": "Alchemy Multisig 1: threshold lowered from `5 of 8` to `3 of 8`. Same change on settlus, shape and worldchain.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```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 }\n```"
}
]
},
{
"id": "002e46ae",
"date": "Thu, 10 Sep 2026 12:51:29 GMT",
"timestamp": 1789044600,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "ed831034",
"date": "Fri, 17 Jul 2026 10:15:14 GMT",
"timestamp": 1784283155,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "06e55001",
"date": "Mon, 06 Jul 2026 07:54:33 GMT",
"timestamp": 1783324393,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling).",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "ae5641bd",
"date": "Mon, 25 May 2026 08:57:24 GMT",
"timestamp": 1779699375,
"description": "**OP Contracts v5.2 upgrade**: `PermissionedDisputeGame` migrated to a shared implementation via CWIA clones. No permissions change.\n\nExecuted 2026-05-18 by Alchemy Multisig 1 (chain operator); same upgrade applied to `settlus` and `worldchain`.\n\nImplementation rotations:\n- **OptimismPortal2** `5.1.1` → `5.2.0` — [diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B)\n- **SystemConfig** `3.11.0` → `3.13.1` — [diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2) — adds `DELAYED_WETH_SLOT` (zero, not active) and `isCustomGasToken()` getter.\n- **DisputeGameFactory** `1.3.0` → `1.4.0` — [diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c) — clone bytecode now embeds gameType + chain-specific args; `*FromDGF` getters expose existing challenger/proposer/weth (new visibility, not new permissions).\n- **AnchorStateRegistry** `3.5.0` → `3.7.0` — [diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5) — adds `getStartingAnchorRoot`.\n\n`gameImpls[1]` now points to shared **PermissionedDisputeGameV2** `eth:0x58bf355C…` (deployed 2025-12-22). Shared **MIPS** FPVM `eth:0x6463dEE3…` appears in discovery because the new V2 references it.\n\n`L1CrossDomainMessenger`, `L1StandardBridge`, `L1ERC721Bridge`, `OptimismMintableERC20Factory`, `DelayedWETH`: `upgradeToAndCall` re-init only, no rotation.",
"isHighSeverity": true,
"changeCount": 46,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1CrossDomainMessenger (eth:0x2b18602877181C3cB72C687E2A771E123A3788E3) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.7:\n+ [\"2026-05-18T17:41:47.000Z\",\"0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 7\n+ 8\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7daf6049672fd2ab7dc8dd3b6287e1d0a40958346c5e2857c4616a73dcac4da6\"\n+ \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.4:\n+ [\"2026-05-18T17:41:47.000Z\",\"0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xE7A58c18D90E24fbf679E75678cA2b557dd9de49\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb908c55f722cf6e14907b844a8b8d3cfd0c04cf3ed9b36b4f78990619fdd8f7e9cc7965326336f2bd70600000000000000000000000000000000000000000000000000000000000001680d8a607f3d2de86add04df00f06794cb339a40dea4fb12d15eb85dc9284a7df0adbc8b696edbbf1d\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x0D8a607F3d2de86adD04Df00f06794cB339A40de\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x36B4f78990619Fdd8F7E9cc7965326336f2bd706\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x319322906beAdf69dF5d4607169c63D692B1aDC1) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.4:\n+ [\"2026-05-18T17:41:47.000Z\",\"0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 4\n+ 5\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B) [opstack/AnchorStateRegistry_post13] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0xf808a203af41f7932eb8e39985e56a7c75c940a260fb17d76d1003a3793281b5\"\n+ \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.1:\n+ [\"2026-05-18T17:41:47.000Z\",\"0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x137f34d380e6aed311aea30584f0b684ca0cdfeaa6c47b9dd0b78802163204a1\",\"l2SequenceNumber\":25499310}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xE7A58c18D90E24fbf679E75678cA2b557dd9de49) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.7:\n+ [\"2026-05-18T17:41:47.000Z\",\"0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 7\n+ 8\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x3e7e2cb08ba995795937c9c2e8ea9d0e4d2e2de852f389055073384d5f79c59d\"\n+ \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.7:\n+ [\"2026-05-18T17:41:47.000Z\",\"0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xaa1b3bedab4e63198240e9dea4503f0e615e4d18a545961c9f11b72143279fbc\"\n+ \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.9:\n+ [\"2026-05-18T17:41:47.000Z\",\"0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "626899b3",
"date": "Fri, 15 May 2026 13:11:10 GMT",
"timestamp": 1778850530,
"description": "Two unrelated changes bundled into this discovery diff:\n\nScheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe: Member rotated.\n\nShape-local sequencer configuration tweak:\n- SystemConfig (`0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355`): `minBaseFee` raised from `0` to `10000000` (10 Mwei = 0.01 Gwei). Not a governance change.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.minBaseFee:\n- 0\n+ 10000000\n }\n```"
}
]
},
{
"id": "b801521f",
"date": "Tue, 05 May 2026 17:16:54 GMT",
"timestamp": 1778001333,
"description": "**OP Stack contracts upgrade on shape.**\n\nImplementation rotations / version bumps:\n- **SystemConfig** `v3.7.0 → v3.11.0` — adds `daFootprintGasScalar` and `minBaseFee`.\n- **OptimismPortal2** → `v5.1.1`.\n- **L1CrossDomainMessenger** `v2.10.0 → v2.11.0`.\n- **DisputeGameFactory** `v1.2.0 → v1.3.0`; PermissionedDisputeGame rotated; `permissionedGameArgs` `EXPECT_REVERT` → `0x`.\n- **L1StandardBridge** `v2.7.0 → v2.8.0`.\n- **L1ERC721Bridge** upgraded.\n- **OptimismMintableERC20Factory** `v1.10.1 → v1.10.2`.\n- **AnchorStateRegistry** rotated (v3.5.0 at new address).\n- **DelayedWETH** rotated (v1.5.0 at new address).\n- **MIPS** rotated: old `0x07BABE08...` deleted, new `0x6463dEE3...` (v1.9.0) created.\n- **PreimageOracle** rotated.\n\nDiscovery also picked up several Optimism Foundation governance contracts (SaferSafes, DeputyPauseModule, LivenessModule, OpFoundationOperationsSafe, DeputyGuardianModule, Guardian Multisig, etc.) reachable from the new SystemConfig wiring.",
"isHighSeverity": true,
"changeCount": 56,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x0621932Ea17bE6ad17409c0A9A112E166Afc0653)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x2b18602877181C3cB72C687E2A771E123A3788E3) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.6:\n+ [\"2026-05-04T07:38:35.000Z\",\"0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.3:\n+ [\"2026-05-04T07:38:35.000Z\",\"0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x0621932Ea17bE6ad17409c0A9A112E166Afc0653\"\n+ \"eth:0xE7A58c18D90E24fbf679E75678cA2b557dd9de49\"\n values.permissionedGameArgs:\n- \"EXPECT_REVERT\"\n+ \"0x\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x319322906beAdf69dF5d4607169c63D692B1aDC1) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.3:\n+ [\"2026-05-04T07:38:35.000Z\",\"0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.6:\n+ [\"2026-05-04T07:38:35.000Z\",\"0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.6:\n+ [\"2026-05-04T07:38:35.000Z\",\"0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.8:\n+ [\"2026-05-04T07:38:35.000Z\",\"0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xE7A58c18D90E24fbf679E75678cA2b557dd9de49)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "7d037d13",
"date": "Wed, 01 Apr 2026 07:36:18 GMT",
"timestamp": 1775028883,
"description": "Gas parameter update: basefeeScalar and blobbasefeeScalar increased.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.basefeeScalar:\n- 26812\n+ 67290\n values.blobbasefeeScalar:\n- 906223\n+ 1510372\n }\n```"
}
]
},
{
"id": "6096e90a",
"date": "Wed, 25 Mar 2026 10:05:35 GMT",
"timestamp": 1774433058,
"description": "Upgrade 14: Isthmus L1 Contracts + MT-Cannon. https://gov.optimism.io/t/upgrade-proposal-14-isthmus-l1-contracts-mt-cannon/9796\n\nAlso includes the shared OpFoundation signer rotation.",
"isHighSeverity": true,
"changeCount": 100,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x0D8a607F3d2de86adD04Df00f06794cB339A40de) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e) {\n +++ description: None\n directlyReceivedPermissions.4.from:\n- \"eth:0x4279be4CCbFd62FA8f7adE5A30F98d601101CF61\"\n+ \"eth:0x36B4f78990619Fdd8F7E9cc7965326336f2bd706\"\n directlyReceivedPermissions.6.from:\n- \"eth:0x846d9469BAaF481f8516f7c1d03990672B68CB09\"\n+ \"eth:0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x2b18602877181C3cB72C687E2A771E123A3788E3) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.4:\n+ [\"2026-03-16T07:53:47.000Z\",\"0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154\",[\"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]]\n values.$pastUpgrades.5:\n+ [\"2026-03-25T08:07:11.000Z\",\"0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.version:\n- \"2.5.0\"\n+ \"2.10.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2026-03-25T08:07:11.000Z\",\"0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735\"\n+ \"eth:0x0621932Ea17bE6ad17409c0A9A112E166Afc0653\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0x4279be4CCbFd62FA8f7adE5A30F98d601101CF61)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract L1StandardBridge (eth:0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.version:\n- \"2.2.2\"\n+ \"2.7.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355\"\n implementationNames.eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x846d9469BAaF481f8516f7c1d03990672B68CB09)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735\",\"role\":\".challenger\"}\n receivedPermissions.5.from:\n- \"eth:0x4279be4CCbFd62FA8f7adE5A30F98d601101CF61\"\n+ \"eth:0x36B4f78990619Fdd8F7E9cc7965326336f2bd706\"\n receivedPermissions.7.from:\n- \"eth:0x846d9469BAaF481f8516f7c1d03990672B68CB09\"\n+ \"eth:0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.4:\n+ [\"2026-03-16T07:53:47.000Z\",\"0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154\",[\"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]]\n values.$pastUpgrades.5:\n+ [\"2026-03-25T08:07:11.000Z\",\"0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.version:\n- \"2.3.1\"\n+ \"2.8.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355\"\n implementationNames.eth:0x276d3730f219f7ec22274f7263180b8452B46d47:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n values.$implementation:\n- \"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.4:\n+ [\"2026-03-16T07:53:47.000Z\",\"0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154\",[\"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]]\n values.$pastUpgrades.5:\n+ [\"2026-03-25T08:07:11.000Z\",\"0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.respectedGameTypeUpdatedAt:\n- 1738700903\n+ 1774426031\n values.version:\n- \"3.13.0\"\n+ \"5.0.0\"\n values.anchorStateRegistry:\n+ \"eth:0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B\"\n values.ethLockbox:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n EOA (eth:0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x846d9469BAaF481f8516f7c1d03990672B68CB09\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n contract SystemConfig (eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.6:\n+ [\"2026-03-16T07:53:47.000Z\",\"0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154\",[\"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]]\n values.$pastUpgrades.7:\n+ [\"2026-03-25T08:07:11.000Z\",\"0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.4.0\"\n+ \"3.7.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 3\n values.l2ChainId:\n+ 360\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x0621932Ea17bE6ad17409c0A9A112E166Afc0653)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x36B4f78990619Fdd8F7E9cc7965326336f2bd706)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```"
}
]
},
{
"id": "cfacf60c",
"date": "Tue, 10 Mar 2026 22:34:04 GMT",
"timestamp": 1773181943,
"description": "Shape applies OP Stack Upgrade #13 (OPCM and Incident Response Improvements): https://gov.optimism.io/t/upgrade-proposal-13-opcm-and-incident-response-improvements/9739\nAll upgraded implementations are standard shared contracts already deployed across the Superchain.\n\nUpgraded contracts:\n- L1CrossDomainMessenger (v2.3.0→v2.5.0): [diff](https://disco.l2beat.com/diff/eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65/eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231). Added interop predeploy addresses. Refactoring.\n- DisputeGameFactory (v1.0.0→v1.0.1): [diff](https://disco.l2beat.com/diff/eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B/eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0). Minor refactoring.\n- OptimismMintableERC20Factory (v1.9.0→v1.10.1): [diff](https://disco.l2beat.com/diff/eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846/eth:0x5493f4677A186f64805fe7317D6993ba4863988F). Minor refactoring.\n- L1StandardBridge (v2.1.0→v2.2.2): [diff](https://disco.l2beat.com/diff/eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF/eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6). Added interop predeploy addresses. Refactoring.\n- DelayedWETH (v1.1.0→v1.3.0): [diff](https://disco.l2beat.com/diff/eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087/eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e). Delay reduced from 7d to 3.5d. New `hold(address)` overload for recovering WETH.\n- L1ERC721Bridge (v2.1.0→v2.3.1): [diff](https://disco.l2beat.com/diff/eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d/eth:0x276d3730f219f7ec22274f7263180b8452B46d47). Added interop predeploy addresses. Refactoring.\n- OptimismPortal2 (v3.10.0→v3.13.0): [diff](https://disco.l2beat.com/diff/eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B/eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd). Game type changes decoupled from withdrawal invalidation via `wasRespectedGameTypeWhenCreated()`. Added EIP-7702 EOA detection. Custom errors replace `require` strings.\n- SystemConfig (v2.3.0→v2.4.0): [diff](https://disco.l2beat.com/diff/eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375/eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc). New `getAddresses()` function returning all L1 contract addresses. Removed legacy gasPayingToken fields.\n\nReplaced contracts:\n- AnchorStateRegistry: old 0x6ace93AF deleted, new 0x4279be4C created (v2.0.0→v2.2.2). [diff](https://disco.l2beat.com/diff/eth:0x6ace93AF6E8b36803577381be9f02A552e81C10D/eth:0x4279be4CCbFd62FA8f7adE5A30F98d601101CF61). Unified anchor state across all game types via `anchorGame` field. Added game validation functions (`isGameRegistered`, `isGameBlacklisted`, etc.).\n- PermissionedDisputeGame: old 0x8090Ac33 deleted, new 0xfFC1CC63 created. Added `closeGame()` and `credit()` functions.\n- PreimageOracle: old 0x9c065e11 deleted, new 0x1fb8cdFc created (standard shared).\n- MIPS: old 0x5fE03a12 deleted, new 0xaA59A077 created (v1.2.1→v1.3.0). Bug fix in `isSigned` check: `(_dat >> (_idx - 1)) != 0` → `(_dat >> (_idx - 1)) & 1 != 0`.",
"isHighSeverity": true,
"changeCount": 75,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x0D8a607F3d2de86adD04Df00f06794cB339A40de) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"propose\",\"from\":\"eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e) {\n +++ description: None\n directlyReceivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x4279be4CCbFd62FA8f7adE5A30F98d601101CF61\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x6ace93AF6E8b36803577381be9f02A552e81C10D\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x2b18602877181C3cB72C687E2A771E123A3788E3) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n values.$implementation:\n- \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.3:\n+ [\"2026-03-09T11:22:23.000Z\",\"0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448\",[\"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2026-03-09T11:22:23.000Z\",\"0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448\",[\"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x8090Ac33F4C9A1A220492487390dbe0c3b56a37A\"\n+ \"eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n implementationNames.eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x319322906beAdf69dF5d4607169c63D692B1aDC1) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.2:\n+ [\"2026-03-09T11:22:23.000Z\",\"0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448\",[\"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1StandardBridge (eth:0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n- \"L1StandardBridge\"\n implementationNames.eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0x6ace93AF6E8b36803577381be9f02A552e81C10D)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x8090Ac33F4C9A1A220492487390dbe0c3b56a37A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DelayedWETH (eth:0x846d9469BAaF481f8516f7c1d03990672B68CB09) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2026-03-09T11:22:23.000Z\",\"0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448\",[\"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087:\n- \"DelayedWETH\"\n implementationNames.eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e:\n+ \"DelayedWETH\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"challenge\",\"from\":\"eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735\",\"role\":\".challenger\"}\n receivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x4279be4CCbFd62FA8f7adE5A30F98d601101CF61\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"}]}\n receivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x6ace93AF6E8b36803577381be9f02A552e81C10D\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"}]}\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.3:\n+ [\"2026-03-09T11:22:23.000Z\",\"0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448\",[\"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x276d3730f219f7ec22274f7263180b8452B46d47:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n values.$implementation:\n- \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.3:\n+ [\"2026-03-09T11:22:23.000Z\",\"0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448\",[\"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n- \"OptimismPortal2\"\n implementationNames.eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xf2ca03f1fb80fdb3c1281ea41b46245c8e6811a03a9ad7129f60cfedaac0e231\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.5:\n+ [\"2026-03-09T11:22:23.000Z\",\"0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448\",[\"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.gasPayingToken:\n- {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"eth:0x2b18602877181C3cB72C687E2A771E123A3788E3\",\"l1ERC721Bridge\":\"eth:0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af\",\"l1StandardBridge\":\"eth:0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B\",\"disputeGameFactory\":\"eth:0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952\",\"optimismPortal\":\"eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3\",\"optimismMintableERC20Factory\":\"eth:0x319322906beAdf69dF5d4607169c63D692B1aDC1\"}\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n- \"SystemConfig\"\n implementationNames.eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0x4279be4CCbFd62FA8f7adE5A30F98d601101CF61)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "40227a4c",
"date": "Wed, 04 Mar 2026 20:07:07 GMT",
"timestamp": 1772654729,
"description": "One member of the Alchemy Multisig 1 (5/8 threshold) was rotated: 0xA351...700a replaced by 0x04a2...7Bd.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.4:\n- \"eth:0xA351A874b48dCEdf1883dD4F4049bE3d9923700a\"\n+ \"eth:0x04a25F65200E56EAd142652b7E5eF372E169F2Bd\"\n }\n```"
}
]
},
{
"id": "7c324910",
"date": "Fri, 27 Feb 2026 13:25:18 GMT",
"timestamp": 1772198391,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "10590f19",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272387,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.basefeeScalar:\n- 10200\n+ 26812\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "394f233f",
"date": "Thu, 18 Dec 2025 08:59:56 GMT",
"timestamp": 1766048309,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "0501eed7",
"date": "Fri, 28 Nov 2025 10:09:06 GMT",
"timestamp": 1764324463,
"description": "Jovian upgrade.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "b8585bc8",
"date": "Thu, 23 Oct 2025 12:40:57 GMT",
"timestamp": 1761223131,
"description": "msig change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "e655313e",
"date": "Fri, 19 Sep 2025 13:03:40 GMT",
"timestamp": 1758286953,
"description": "Multisig key rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.0:\n- \"eth:0xCA730AFfb87935E70E5889418C731eb196237476\"\n+ \"eth:0xa3353Ae4458F663f1F888705b044269bd30cd110\"\n }\n```"
}
]
},
{
"id": "624fc780",
"date": "Mon, 18 Aug 2025 09:03:25 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "35069bd7",
"date": "Mon, 28 Jul 2025 05:57:46 GMT",
"timestamp": 1753682266,
"description": "Op stack gov upgrade: SuperchainConfig with pause expiry and DeputyPausModule. See optimism diffHistory for details.",
"isHighSeverity": true,
"changeCount": 26,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```"
}
]
},
{
"id": "f097baea",
"date": "Thu, 24 Jul 2025 11:37:40 GMT",
"timestamp": 1753357060,
"description": "1559 gas config added.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n- 0\n+ 250\n values.eip1559Elasticity:\n- 0\n+ 2\n }\n```"
}
]
},
{
"id": "7380cc62",
"date": "Mon, 14 Jul 2025 12:46:06 GMT",
"timestamp": 1752497166,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 28,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x11B190Ae661c6d6884dFEE48E215691E0DdB842e)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x2b18602877181C3cB72C687E2A771E123A3788E3)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x319322906beAdf69dF5d4607169c63D692B1aDC1)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x6ace93AF6E8b36803577381be9f02A552e81C10D)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x8090Ac33F4C9A1A220492487390dbe0c3b56a37A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x846d9469BAaF481f8516f7c1d03990672B68CB09)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xcee78437aE9e15cee9c78E63757E0153c0FD7479)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0xEB06fFa16011B5628BaB98E29776361c83741dd3)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```"
}
]
},
{
"id": "2de5a9f5",
"date": "Wed, 18 Jun 2025 11:38:16 GMT",
"timestamp": 1750246696,
"description": "MS signer changed.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.4:\n- \"0x0a214444613E3970049BD74a8d72d5bF9EF0094c\"\n+ \"0xCA730AFfb87935E70E5889418C731eb196237476\"\n }\n```"
}
]
},
{
"id": "b2dca726",
"date": "Thu, 08 May 2025 08:50:35 GMT",
"timestamp": 1746694235,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```"
}
]
},
{
"id": "ec2d15f6",
"date": "Fri, 04 Apr 2025 09:43:07 GMT",
"timestamp": 1743759787,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```"
}
]
},
{
"id": "57f99fd4",
"date": "Mon, 31 Mar 2025 11:27:18 GMT",
"timestamp": 1743420438,
"description": "ms signer changes.",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.7:\n+ \"0x001271c57AeC639952B5201D052767c316755512\"\n values.$members.6:\n+ \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n values.$members.5:\n- \"0x5EABE7f6673311EdD1Ad17A76ce148c2Bb56aF01\"\n+ \"0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca\"\n values.$members.4:\n- \"0x39CF304731099e756204219BF0a8cCc4738dE9dD\"\n+ \"0x0a214444613E3970049BD74a8d72d5bF9EF0094c\"\n values.$members.3:\n- \"0xaCEF7482b54a57F50b1CD8c99d1dC1964202A063\"\n+ \"0xA351A874b48dCEdf1883dD4F4049bE3d9923700a\"\n values.$members.2:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xeD9919D57162D518014C391a687AA8fb9DB55654\"\n values.$members.1:\n- \"0x3f0030b9Ca695Abd41b2B619F3298e172e4FCAD6\"\n+ \"0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7\"\n values.$members.0:\n- \"0x2e42cEfC761e64Bf4442694220d31C2464a6EE21\"\n+ \"0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670\"\n values.$threshold:\n- 3\n+ 5\n values.multisigThreshold:\n- \"3 of 6 (50%)\"\n+ \"5 of 8 (63%)\"\n }\n```"
}
]
},
{
"id": "dac7867f",
"date": "Tue, 18 Mar 2025 11:17:59 GMT",
"timestamp": 1742296679,
"description": "Upgrade to standard SystemConfig v2.3.0.",
"isHighSeverity": true,
"changeCount": 18,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.4:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]]\n values.$pastUpgrades.3:\n+ [\"2025-03-17T16:24:35.000Z\",\"0xae6ce7a33b18c6ecd39e5c2435a1b9e629b193e97fbf5aaa74e20d7475e50c02\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.2.1:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\"\n values.$pastUpgrades.2.0:\n- \"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.1.2:\n- \"2025-02-04T20:28:23.000Z\"\n+ \"0xae6ce7a33b18c6ecd39e5c2435a1b9e629b193e97fbf5aaa74e20d7475e50c02\"\n values.$pastUpgrades.1.1:\n- \"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\"\n+ \"2025-03-17T16:24:35.000Z\"\n values.$upgradeCount:\n- 3\n+ 5\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 10200\n values.blobbasefeeScalar:\n+ 906223\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n }\n```"
}
]
},
{
"id": "e474f123",
"date": "Fri, 21 Feb 2025 13:26:09 GMT",
"timestamp": 1740144369,
"description": "PermissionedDisputeGame upgraded to known version.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0x11B190Ae661c6d6884dFEE48E215691E0DdB842e) {\n +++ description: None\n directlyReceivedPermissions.5.from:\n- \"0x753355FE25E5592345Ac426DF2F6325E658575D1\"\n+ \"0x846d9469BAaF481f8516f7c1d03990672B68CB09\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract DisputeGameFactory (0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.1:\n- \"0xeFcb9D8FD3e21346a26791359a015c2304582238\"\n+ \"0x8090Ac33F4C9A1A220492487390dbe0c3b56a37A\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x753355FE25E5592345Ac426DF2F6325E658575D1)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract AlchemyMultisig1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.5.from:\n- \"0x753355FE25E5592345Ac426DF2F6325E658575D1\"\n+ \"0x846d9469BAaF481f8516f7c1d03990672B68CB09\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xeFcb9D8FD3e21346a26791359a015c2304582238)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x8090Ac33F4C9A1A220492487390dbe0c3b56a37A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x846d9469BAaF481f8516f7c1d03990672B68CB09)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "a540ca64",
"date": "Wed, 12 Feb 2025 10:00:21 GMT",
"timestamp": 1739354421,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "f66abbbe",
"date": "Sat, 08 Feb 2025 15:58:10 GMT",
"timestamp": 1739030290,
"description": "Single SC member rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "f990956e",
"date": "Thu, 06 Feb 2025 09:20:44 GMT",
"timestamp": 1738833644,
"description": "OP Stack SC signer rotation. Ignored permissioned games count manually.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "874d84f2",
"date": "Wed, 05 Feb 2025 06:24:28 GMT",
"timestamp": 1738736668,
"description": "Upgrade to OptiPortal2 and permissioned proofs.",
"isHighSeverity": true,
"changeCount": 83,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0x11B190Ae661c6d6884dFEE48E215691E0DdB842e) {\n +++ description: None\n directlyReceivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355\"}\n directlyReceivedPermissions.7.from:\n- \"0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355\"\n+ \"0xEB06fFa16011B5628BaB98E29776361c83741dd3\"\n directlyReceivedPermissions.6.from:\n- \"0xEB06fFa16011B5628BaB98E29776361c83741dd3\"\n+ \"0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af\"\n directlyReceivedPermissions.5.from:\n- \"0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af\"\n+ \"0x753355FE25E5592345Ac426DF2F6325E658575D1\"\n directlyReceivedPermissions.4.from:\n- \"0x6Ef8c69CfE4635d866e3E02732068022c06e724D\"\n+ \"0x6ace93AF6E8b36803577381be9f02A552e81C10D\"\n directlyReceivedPermissions.1.from:\n- \"0x125664BEf08177ca43f6f301E63118b1e4cCDe09\"\n+ \"0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SuperchainConfig (0x125664BEf08177ca43f6f301E63118b1e4cCDe09)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n contract L1CrossDomainMessenger (0x2b18602877181C3cB72C687E2A771E123A3788E3) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$implementation:\n- \"0xAEfEA5D2Dd3B9A05a67FBD5E7C06c19151A7fe50\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.$pastUpgrades.2:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.1:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"0x125664BEf08177ca43f6f301E63118b1e4cCDe09\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x319322906beAdf69dF5d4607169c63D692B1aDC1) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$implementation:\n- \"0x70201b22244D19fc52c2D09DC3e06c6cD2819067\"\n+ \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.$pastUpgrades.1:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n contract L1StandardBridge (0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n values.$implementation:\n- \"0x5B0dE7F3CC36E5b4AF6580Ae7149Afad3E3C94D4\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.superchainConfig:\n- \"0x125664BEf08177ca43f6f301E63118b1e4cCDe09\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (0x6Ef8c69CfE4635d866e3E02732068022c06e724D)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract AlchemyMultisig1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355\",\"via\":[{\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"}]}\n receivedPermissions.7.from:\n- \"0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355\"\n+ \"0xEB06fFa16011B5628BaB98E29776361c83741dd3\"\n receivedPermissions.6.from:\n- \"0xEB06fFa16011B5628BaB98E29776361c83741dd3\"\n+ \"0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af\"\n receivedPermissions.5.from:\n- \"0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af\"\n+ \"0x753355FE25E5592345Ac426DF2F6325E658575D1\"\n receivedPermissions.4.from:\n- \"0x6Ef8c69CfE4635d866e3E02732068022c06e724D\"\n+ \"0x6ace93AF6E8b36803577381be9f02A552e81C10D\"\n receivedPermissions.1.from:\n- \"0x125664BEf08177ca43f6f301E63118b1e4cCDe09\"\n+ \"0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$implementation:\n- \"0x5cBe8a4463370e38AcE1406875872eF38342a1c6\"\n+ \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.$pastUpgrades.2:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$pastUpgrades.1:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"0x125664BEf08177ca43f6f301E63118b1e4cCDe09\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0xEB06fFa16011B5628BaB98E29776361c83741dd3) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x90ab8a3636fafa5cb0ab4305b2d912546ceb47ebc3abed324bfa1727a9c74acc\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n issuedPermissions.1:\n- {\"permission\":\"upgrade\",\"to\":\"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\",\"via\":[{\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"}]}\n issuedPermissions.0.permission:\n- \"guard\"\n+ \"upgrade\"\n issuedPermissions.0.to:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.0:\n+ {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"}\n values.$implementation:\n- \"0x3Db18Ba41E7F377fa2603D2B500f40CF82683b78\"\n+ \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.2:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.1:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.l2Oracle:\n- \"0x6Ef8c69CfE4635d866e3E02732068022c06e724D\"\n values.superchainConfig:\n- \"0x125664BEf08177ca43f6f301E63118b1e4cCDe09\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.version:\n- \"2.6.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1738700903\n displayName:\n+ \"OptimismPortal\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\"}}]\n }\n```\n\n```diff\n contract SystemConfig (0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xdf9a11b46747139bfe0135df8a65a2728a2dbd60a689e2398c45627915cdd752\"\n+ \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n values.$implementation:\n- \"0x8174764Ae82696D232D5C93FEA6A006b1286dC4a\"\n+ \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n values.$pastUpgrades.2:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]]\n values.$pastUpgrades.1:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"0x6Ef8c69CfE4635d866e3E02732068022c06e724D\"\n values.version:\n- \"1.12.0\"\n+ \"2.2.0\"\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952\"\n values.maximumGasLimit:\n+ 200000000\n }\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainGuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x6ace93AF6E8b36803577381be9f02A552e81C10D)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x753355FE25E5592345Ac426DF2F6325E658575D1)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xeFcb9D8FD3e21346a26791359a015c2304582238)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "c77a43bf",
"date": "Wed, 30 Oct 2024 19:40:16 GMT",
"timestamp": 1730317216,
"description": "Shape switches the ProxyAdmin owner to a 3/6 multisig. EOA warning removed.",
"isHighSeverity": false,
"changeCount": 29,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0x11B190Ae661c6d6884dFEE48E215691E0DdB842e) {\n +++ description: None\n values.owner:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x125664BEf08177ca43f6f301E63118b1e4cCDe09) {\n +++ description: This is NOT the shared SuperchainConfig of the OP stack Superchain. This SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n issuedPermissions.1.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0}\n issuedPermissions.1.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x319322906beAdf69dF5d4607169c63D692B1aDC1) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n issuedPermissions.0.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0}\n issuedPermissions.0.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain. This contract can store any token.\n issuedPermissions.0.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0,\"description\":\"upgrading bridge implementation allows to access all funds and change every system component.\"}\n issuedPermissions.0.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n issuedPermissions.0.via.0.description:\n+ \"upgrading bridge implementation allows to access all funds and change every system component.\"\n }\n```\n\n```diff\n contract L2OutputOracle (0x6Ef8c69CfE4635d866e3E02732068022c06e724D) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n issuedPermissions.2.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.2.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0}\n issuedPermissions.2.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (0xacAF178b5048CB56712dc59E95fBA72F7990A005)\n +++ description: None\n```\n\n```diff\n contract AddressManager (0xcee78437aE9e15cee9c78E63757E0153c0FD7479) {\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n issuedPermissions.0.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0,\"description\":\"set and change address mappings.\"}\n issuedPermissions.0.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n issuedPermissions.0.via.0.description:\n+ \"set and change address mappings.\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n issuedPermissions.0.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0}\n issuedPermissions.0.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n }\n```\n\n```diff\n contract OptimismPortal (0xEB06fFa16011B5628BaB98E29776361c83741dd3) {\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n issuedPermissions.1.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0}\n issuedPermissions.1.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n }\n```\n\n```diff\n contract SystemConfig (0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n issuedPermissions.2.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.2.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0}\n issuedPermissions.2.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract ShapeMultisig (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d)\n +++ description: None\n```"
}
]
},
{
"id": "25b10e30",
"date": "Mon, 28 Oct 2024 16:23:35 GMT",
"timestamp": 1730132615,
"description": "Initial discovery: Standard OP stack rollup with EOA admin. (alchemy)",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract ProxyAdmin (0x11B190Ae661c6d6884dFEE48E215691E0DdB842e)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x125664BEf08177ca43f6f301E63118b1e4cCDe09)\n +++ description: This is NOT the shared SuperchainConfig of the OP stack Superchain. This SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x2b18602877181C3cB72C687E2A771E123A3788E3)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x319322906beAdf69dF5d4607169c63D692B1aDC1)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0x6Ef8c69CfE4635d866e3E02732068022c06e724D)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract ShapeMultisig (0xacAF178b5048CB56712dc59E95fBA72F7990A005)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xcee78437aE9e15cee9c78E63757E0153c0FD7479)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0xEB06fFa16011B5628BaB98E29776361c83741dd3)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```"
}
]
}
]