6e8b22ac (main)
and
78fb355b (PR)
+173 -70
+12 -3
{
"badges": [
{
"id": "EVM",
"type": "VM",
"name": "EVM",
"description": "This project uses the Ethereum Virtual Machine to run its smart contracts and supports the Solidity programming language",
"action": {
"type": "scalingFilter",
"id": "vm",
"value": "EVM"
}
},
{
"id": "EthereumBlobs",
"id": "DAC",
"type": "DA",
"name": "Ethereum with blobs",
"description": "This project is posting its data to Ethereum as blobs"
"name": "Data Availability Committee",
"description": "There is a Data Availability Committee that provides/attests to data availability",
"action": {
"type": "selfDaHighlight"
}
},
{
"id": "Espresso",
"type": "DA",
"name": "Espresso",
"description": "This project is posting its data to Espresso"
},
{
"id": "Orbit",
"type": "Stack",
"name": "Built on Arbitrum Orbit",
"description": "The project is built on Arbitrum Orbit",
"action": {
"type": "scalingFilter",
"id": "stack",
"value": "Arbitrum"
}
},
{
"id": "Arbitrum",
"type": "L3ParentChain",
"name": "Built on top of Arbitrum",
"description": "The project has Arbitrum as its host chain",
"action": {
"type": "scalingFilter",
"id": "hostChain",
"value": "Arbitrum"
}
},
{
"id": "EspressoPreconfs",
"type": "Other",
"name": "Espresso Preconfs",
"description": "The project integrates with Espresso preconfirmations. The chain batch poster publishes blocks to Espresso Network and runs in a Trusted Execution Environment (TEE) programmed to verify that only Espresso-validated batches reach the host chain.",
"action": {
"type": "scalingFilter",
"id": "other",
"value": "Espresso Preconfs"
}
},
{
"id": "Caldera",
"type": "RaaS",
"name": "Caldera",
"description": "This project was deployed via the rollup-as-a-service provider Caldera",
"action": {
"type": "scalingFilter",
"id": "raas",
"value": "Caldera"
}
}
],
"description": "ApeChain is an Optimistic Rollup built on the Arbitrum Orbit stack utilizing $APE as its native gas token. It fuels culture by being the chain for digital and IRL communities, builders, creators, collectors, gamers and beyond.",
"links": {
"websites": [
"https://apechain.com/"
],
"bridges": [
"https://apechain.com/portal"
],
"documentation": [
"https://docs.apechain.com/"
],
"explorers": [
"https://apescan.io/"
],
"repositories": [
"https://github.com/ape-foundation"
],
"socialMedia": [
"https://twitter.com/apecoin",
"https://discord.gg/apecoindao",
"https://t.me/apechainofficial"
]
}
}
+0 -7
[
{
"title": "ApeChain switches from DAC to Arbitrum calldata",
"url": "https://arbiscan.io/tx/0xd28af3043834f4f3cce0675747078d53142435b3feb27697a932110105da3f28",
"date": "2026-07-01T00:00:00Z",
"description": "ApeChain stops using the AnyTrust DAC and posts batches to Arbitrum One as calldata.",
"type": "general"
},
{
"title": "Mainnet Launch",
"url": "https://x.com/apecoin/status/1847731593437155673",
"date": "2024-10-19T00:00:00Z",
"description": "ApeChain launches its Mainnet.",
"type": "general"
}
]
+2 -1
{
"capability": "universal",
"daLayer": [
"Ethereum"
"Espresso",
"DAC"
],
"hostChain": {
"id": "arbitrum",
"slug": "arbitrum",
"name": "Arbitrum One"
},
"layer": "layer3",
"proofSystem": {
"type": "Optimistic",
"name": "Arbitrum Classic",
"challengeProtocol": "Interactive"
},
"purposes": [
"Universal"
],
"raas": "Caldera",
"reasonsForBeingOther": [
{
"label": "Closed proofs",
"shortDescription": "There are less than 5 external actors that can submit challenges",
"description": "Projects without a sufficiently decentralized set of challengers rely on few entities to safely update the state. A small set of challengers can collude with the proposer to finalize an invalid state, which can cause loss of funds."
}
],
"stacks": [
"Arbitrum"
],
"stage": "Stage 0",
"type": "Other",
"vm": [
"EVM"
]
}
+11 -32
{
"message": {
"type": "underReview",
"text": "The requirement for available node software is under review"
"text": "The requirement for available node software is under review."
},
"missing": {
"nextStage": "Stage 1",
"requirements": [
"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.",
"The Security Council is not properly set up.",
"Not all program sources are public or not all program hashes can be independently regenerated."
],
"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."
"principle": "Compromising ≥75% of the Security Council to push a malicious upgrade, or sequencer+DA-committee collusion to withhold data and finalize invalid state roots, should be the only ways (other than bugs) to steal funds or block withdrawals indefinitely."
},
"stage": "Stage 0",
"summary": [
{
"stage": "Stage 0",
"requirements": [
{
"satisfied": true,
"description": "A complete and functional proof system is deployed."
"description": "The project self-identifies as a Validium or Optimium."
},
{
"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."
"description": "A complete and functional proof system (fraud or validity proofs) is deployed."
},
{
"satisfied": "UnderReview",
"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."
"description": "A source-available node exists that can reconstruct the L2 state when DA is accessible. Please note that the L2BEAT team has not verified the validity of the node source code."
},
{
"satisfied": false,
"description": "Fraud proof submission is not sufficiently decentralized."
}
]
},
{
"stage": "Stage 1",
"requirements": [
{
"satisfied": true,
"description": "Users are able to exit without the help of the permissioned operators."
"description": "Users are able to exit without the help of the permissioned operators, provided DA is accessible."
},
{
"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": false,
"description": "The Security Council is not properly set up."
},
{
"satisfied": false,
"description": "Not all program sources are public or not all 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."
"description": "Compromising ≥75% of the Security Council to push a malicious upgrade, or sequencer+DA-committee collusion to withhold data and finalize invalid state roots, should be the only ways (other than bugs) to steal funds or block withdrawals indefinitely."
}
},
{
"stage": "Stage 2",
"requirements": [
{
"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."
}
]
}
]
}
+8 -8
{
"host": {
"stateValidation": {
"value": "Fraud proofs (INT)",
"description": "Fraud proofs allow actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve.",
"executionDelay": 172800,
"executionDelayMode": "if-challenged",
"challengeDelay": 549816,
"sentiment": "good",
"orderHint": null,
"initialBond": {
"value": "3600.0"
},
"permissioned": false,
"defenderAdvantage": {
"multiplier": 6.486486486486486,
"shape": "linear"
},
"secondLine": "6d 8h challenge period\n+ 2d execution delay"
},
"dataAvailability": {
"value": "Onchain",
"description": "All of the data needed for proof construction is published on Ethereum L1.",
"sentiment": "good",
"orderHint": null
},
"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,
"regular": {
"value": "10d",
"sentiment": "warning",
"description": "Non-emergency upgrades are initiated on L2 and go through a 8d delay on L2 and a 3d delay on L1. Since there is a 1d delay to force a tx (forcing the inclusion in the following state update), users have 10d to exit."
}
},
"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 1d delay on this operation.",
"sentiment": "good",
"orderHint": 86400,
"secondLine": "1d delay"
},
"proposerFailure": {
"value": "Self propose",
"description": "Anyone can be a Proposer and propose new roots to the L1 bridge.",
"sentiment": "good",
"orderHint": 0
}
},
"self": {
"stateValidation": {
"value": "Fraud proofs (INT)",
"description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period.",
"executionDelay": 0,
"challengeDelay": 549816,
"permissioned": true,
"defenderAdvantage": "not-applicable",
"sentiment": "bad",
"orderHint": 1,
"initialBond": {
"value": "0.1"
},
"secondLine": "6d 8h challenge period"
},
"dataAvailability": {
"value": "Onchain",
"description": "All of the data needed for proof construction is published on the base chain, which ultimately gets published on Ethereum.",
"sentiment": "good",
"orderHint": null
"value": "External (DAC)",
"description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 5/7 that is tasked with protecting and supplying the data.",
"sentiment": "bad",
"orderHint": 0.7142857142857143
},
"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": -259200
},
"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 3d delay on this operation.",
"sentiment": "good",
"orderHint": 259200,
"secondLine": "3d delay"
},
"proposerFailure": {
"value": "Self propose",
"description": "Anyone can become a Proposer after 12d 17h of inactivity from the currently whitelisted Proposers.",
"sentiment": "good",
"orderHint": 1099632,
"secondLine": "12d 17h delay"
}
},
"stacked": {
"stateValidation": {
"value": "Fraud proofs (INT)",
"description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period.",
"executionDelay": 0,
"challengeDelay": 549816,
"permissioned": true,
"defenderAdvantage": "not-applicable",
"sentiment": "bad",
"orderHint": 1,
"initialBond": {
"value": "0.1"
},
"secondLine": "6d 8h challenge period"
},
"dataAvailability": {
"value": "Onchain",
"description": "All of the data needed for proof construction is published on Ethereum L1.",
"sentiment": "good",
"orderHint": null
"value": "External (DAC)",
"description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 5/7 that is tasked with protecting and supplying the data.",
"sentiment": "bad",
"orderHint": 0.7142857142857143
},
"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": -259200
},
"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 4d delay on this operation.",
"sentiment": "good",
"orderHint": 345600
},
"proposerFailure": {
"value": "Self propose",
"description": "Anyone can become a Proposer after 12d 17h of inactivity from the currently whitelisted Proposers.",
"sentiment": "good",
"orderHint": 1099632
}
}
}
+24 -9
[
{
"layer": {
"value": "Ethereum",
"secondLine": "Blobs or Calldata",
"sentiment": "good",
"description": "The data is posted to Ethereum as calldata or blobs.",
"projectId": "ethereum"
"value": "Espresso",
"sentiment": "warning",
"description": "The data is posted to Espresso."
},
"bridge": {
"value": "Enshrined",
"sentiment": "good",
"description": "The validating bridge has access to all the data, as it is posted onchain.",
"projectId": "ethereum"
"value": "None",
"sentiment": "bad",
"description": "There is no bridge that can attest if the data has been made available.",
"orderHint": -2
},
"mode": {
"value": "Transaction data",
"secondLine": "Compressed"
}
},
{
"layer": {
"value": "DAC",
"sentiment": "warning",
"description": "The data is posted off chain and a Data Availability Committee (DAC) is responsible for protecting and supplying it."
},
"bridge": {
"value": "5/7 DAC Members",
"sentiment": "bad",
"description": "There is a threshold of 5/7 members that must sign and attest that the data is correct and available.",
"orderHint": -2.1e-9
},
"mode": {
"value": "Transaction data",
"secondLine": "Compressed"
}
}
]
+36 -8
{
"architectureImage": "orbit-rollup",
"architectureImage": "orbit-optimium",
"dataAvailability": [
{
"name": "All transaction data is recorded on chain",
"description": "All executed transactions are submitted to an on chain smart contract. The execution of the rollup is based entirely on the submitted transactions, so anyone monitoring the contract can know the correct state of the rollup chain.",
"risks": [],
"name": "Data is posted to Espresso",
"description": "Transactions roots are posted onchain and the full data is posted on Espresso. Since the HotShot Light Client contract is not used, availability of the data is not verified against Espresso validators, meaning that the Sequencer can single-handedly publish unavailable roots.",
"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": "Sequencing followed by deterministic execution - Arbitrum documentation",
"url": "https://developer.offchainlabs.com/inside-arbitrum-nitro/#sequencing-followed-by-deterministic-execution"
"title": "Espresso Light Client",
"url": "https://docs.espressosys.com/network/learn/the-espresso-network/internal-functionality/light-client"
}
]
},
{
"name": "Data is not stored on chain",
"description": "Users transactions are not published onchain, but rather sent to external trusted parties, also known as committee members (DAC). Members of the DAC collectively produce a Data Availability Certificate (comprising BLS signatures from a quorum) guaranteeing that the data behind the new transaction batch will be available until the expiry period elapses (currently a minimum of two weeks). This signature is not verified by L1, however external Validators will skip the batch if BLS signature is not valid resulting. This will result in a fraud proof challenge if this batch is included in a consecutive state update. It is assumed that at least one honest DAC member that signed the batch will reveal tx data to the Validators if Sequencer decides to act maliciously and withhold the data. If the Sequencer cannot gather enough signatures from the DAC, it will \"fall back to rollup\" mode and by posting the full data directly to the L1 chain. The current DAC threshold is 5 out of 7.",
"risks": [
{
"category": "Funds can be lost if",
"text": "the external data becomes unavailable.",
"isCritical": true
},
{
"title": "SequencerInbox.sol - source code, addSequencerL2BatchFromOrigin function",
"url": "https://arbiscan.io/address/0xCfAfB803EF1FEc576138Cebc79Ad41Aa6760C575#code"
"category": "Users can be censored if",
"text": "the committee restricts their access to the external data."
}
],
"references": [
{
"title": "Inside AnyTrust - Arbitrum documentation",
"url": "https://developer.offchainlabs.com/inside-anytrust"
}
]
}
],
"exitMechanisms": [
{
"name": "Regular messaging",
"description": "The user initiates L2->L1 messages by submitting a regular transaction on this chain. When the block containing that transaction is settled, the message becomes available for processing on L1. The process of block finalization usually takes several days to complete.",
"risks": [],
"references": [
{
"title": "Transaction lifecycle - Arbitrum documentation",
"url": "https://developer.offchainlabs.com/tx-lifecycle"
},
{
"title": "L2 to L1 Messages - Arbitrum documentation",
"url": "https://docs.arbitrum.io/how-arbitrum-works/deep-dives/l2-to-l1-messaging"
},
{
"title": "Mainnet for everyone - Arbitrum Blog",
"url": "https://offchain.medium.com/mainnet-for-everyone-27ce0f67c85e"
}
]
},
{
"name": "Autonomous exit",
"description": "Users can (eventually) exit the system by pushing the transaction on L1 and providing the corresponding state root. The only way to prevent such withdrawal is via an upgrade.",
"risks": [],
"references": []
}
],
"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. After a delay of 3d in which a Sequencer has failed to include a transaction that was directly posted to the smart contract, it can be forcefully included by anyone on the host chain, which finalizes its ordering.",
"risks": [],
"references": [
{
"title": "SequencerInbox.sol - source code, forceInclusion function",
"url": "https://arbiscan.io/address/0xCfAfB803EF1FEc576138Cebc79Ad41Aa6760C575#code"
},
{
"title": "Sequencer Isn't Doing Its Job - Arbitrum documentation",
"url": "https://docs.arbitrum.io/how-arbitrum-works/sequencer#unhappyuncommon-case-sequencer-isnt-doing-its-job"
}
]
},
"operator": {
"name": "The system has a centralized sequencer",
"description": "While forcing transaction is open to anyone the system employs a privileged sequencer that has priority for submitting transaction batches and ordering transactions.",
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
],
"references": [
{
"title": "Sequencer - Arbitrum documentation",
"url": "https://docs.arbitrum.io/how-arbitrum-works/inside-arbitrum-nitro#the-sequencer"
}
]
},
"otherConsiderations": [
{
"name": "EVM compatible smart contracts are supported",
"description": "Arbitrum One uses Nitro technology that allows running fraud proofs by executing EVM code on top of WASM.",
"risks": [],
"references": [
{
"title": "Inside Arbitrum Nitro",
"url": "https://developer.offchainlabs.com/inside-arbitrum-nitro/"
}
]
}
],
"sequencing": {
"name": "Delayed forced transactions",
"description": "To force transactions from the host chain, users must first enqueue \"delayed\" messages in the \"delayed\" inbox of the Bridge contract. Only authorized Inboxes are allowed to enqueue delayed messages, and the so-called Inbox contract is the one used as the entry point by calling the `sendMessage` or `sendMessageFromOrigin` functions. If the centralized sequencer doesn't process the request within some time bound, users can call the `forceInclusion` function on the SequencerInbox contract to include the message in the canonical chain. The time bound is hardcoded to be 3d.",
"references": [],
"risks": []
},
"stateValidation": {
"description": "Updates to the system state can be proposed and challenged by a set of whitelisted validators. If a state root passes the challenge period, it is optimistically considered correct and made actionable for withdrawals.",
"categories": [
{
"title": "State root proposals",
"description": "Whitelisted validators propose state roots as children of a previous state root. A state root can have multiple conflicting children. This structure forms a graph, and therefore, in the contracts, state roots are referred to as nodes. Each proposal requires a stake, currently set to 0.1 ETH, that can be slashed if the proposal is proven incorrect via a fraud proof. Stakes can be moved from one node to one of its children, either by calling `stakeOnExistingNode` or `stakeOnNewNode`. New nodes cannot be created faster than the minimum assertion period by the same validator, currently set to 15m. The oldest unconfirmed node can be confirmed if the challenge period has passed and there are no siblings, and rejected if the parent is not a confirmed node or if the challenge period has passed and no one is staked on it.",
"risks": [
{
"category": "Funds can be stolen if",
"text": "none of the whitelisted verifiers checks the published state. Fraud proofs assume at least one honest and able validator.",
"isCritical": true
}
],
"references": [
{
"title": "How is fraud proven - Arbitrum documentation FAQ",
"url": "https://docs.arbitrum.io/get-started/arbitrum-introduction"
}
]
},
{
"title": "Challenges",
"description": "A challenge can be started between two siblings, i.e. two different state roots that share the same parent, by calling the `startChallenge` function. Validators cannot be in more than one challenge at the same time, meaning that the protocol operates with [partial concurrency](https://medium.com/l2beat/fraud-proof-wars-b0cb4d0f452a). Since each challenge lasts 6d 8h, this implies that the protocol can be subject to [delay attacks](https://medium.com/offchainlabs/solutions-to-delay-attacks-on-rollups-434f9d05a07a), where a malicious actor can delay withdrawals as long as they are willing to pay the cost of losing their stakes. If the protocol is delayed attacked, the new stake requirement increases exponentially for each challenge period of delay. Challenges are played via a bisection game, where asserter and challenger play together to find the first instruction of disagreement. Such instruction is then executed onchain in the WASM OneStepProver contract to determine the winner, who then gets half of the stake of the loser. As said before, a state root is rejected only when no one left is staked on it. The protocol does not enforces valid bisections, meaning that actors can propose correct initial claim and then provide incorrect midpoints.",
"references": [
{
"title": "Fraud Proof Wars: Arbitrum Classic",
"url": "https://medium.com/l2beat/fraud-proof-wars-b0cb4d0f452a"
}
]
}
]
},
"stateValidationImage": "orbit",
"warning": "Fraud proof system is fully deployed but is not yet permissionless as it requires Validators to be whitelisted."
}
+65 -1
null
{
"dac": {
"membersCount": 7,
"requiredMembers": 5
},
"description": "Set of parties responsible for signing and attesting to the availability of data.",
"fallback": {
"value": "Ethereum",
"secondLine": "Calldata",
"sentiment": "good",
"description": "The data is posted to Ethereum as calldata.",
"projectId": "ethereum"
},
"risks": {
"committeeSecurity": {
"value": "5/7",
"sentiment": "bad",
"description": "The committee does not meet basic security standards, either due to insufficient size, lack of member diversity, or poorly defined threshold parameters. The system lacks an effective DA bridge and it is reliant on the assumption of an honest sequencer, creating significant risks to data integrity and availability.",
"orderHint": -2.1e-9
},
"upgradeability": {
"value": "No delay",
"sentiment": "bad",
"description": "There is no delay in the upgradeability of the bridge. Users have no time to exit the system before the bridge implementation update is completed."
},
"relayerFailure": {
"value": "No mechanism",
"sentiment": "bad",
"description": "The relayer role is permissioned, and the DA bridge does not have a Security Council or a governance mechanism to propose new relayers. In case of relayer failure, the DA bridge will halt and be unable to recover without the intervention of a centralized entity."
},
"economicSecurity": {
"value": {
"value": "None",
"sentiment": "bad",
"description": "There are no onchain assets at risk of being slashed in case of a data withholding attack, and the committee members are not publicly known."
},
"adjustSecurityRisk": false
},
"fraudDetection": {
"value": "None",
"sentiment": "bad",
"description": "There is no fraud detection mechanism in place. A data withholding attack can only be detected by nodes downloading the full data from the DA layer."
}
},
"technology": {
"description": "## Architecture\n\n\nThe DAC uses a data availability solution built on the AnyTrust protocol. It is composed of the following components:\n- **Sequencer Inbox**: Main entry point for the Sequencer submitting transaction batches.\n- **Data Availability Committee (DAC)**: A group of members responsible for storing and providing data on demand.\n- **Data Availability Certificate (DACert)**: A commitment ensuring that data blobs are available without needing full data posting on the L1 chain. \n\n\nCommittee members run servers that support APIs for storing and retrieving data blobs. \nThe Sequencer API allows the rollup Sequencer to submit data blobs for storage, while the REST API enables anyone to fetch data by hash. \nWhen the Sequencer produces a data batch, it sends the batch along with an expiration time to Committee members, who store it and sign it. \nOnce enough signatures are collected, the Sequencer aggregates them into a valid DACert and posts it to the L1 chain inbox. \nIf the Sequencer fails to collect enough signatures, it falls back to posting the full data to the L1 chain as calldata. \n\n\nA DACert includes a hash of the data block, an expiration time, and proof that the required threshold of Committee members have signed off on the data. \nThe proof consists of a hash of the Keyset used in signing, a bitmap indicating which members signed, and a BLS aggregated signature. \nL2 nodes reading from the sequencer inbox verify the certificate’s validity by checking the number of signers, the aggregated signature, and that the expiration time is at least two weeks ahead of the L2 timestamp. \nIf the DACert is valid, it provides a proof that the corresponding data is available from honest committee members.\n\n## DA Bridge Architecture\n\n\nThe DA commitments are posted to the destination chain through the sequencer inbox, using the inbox as a DA bridge.\nThe DA commitment consists of Data Availability Certificate (DACert), including a hash of the data block, an expiration time, and a proof that the required threshold of Committee members have signed off on the data.\nThe sequencer distributes the data and collects signatures from Committee members offchain. Only the DACert is posted by the sequencer to the destination chain inbox (the DA bridge), achieving destination chain transaction ordering finality in a single onchain transaction.",
"risks": [
{
"category": "Funds can be lost if",
"text": "a malicious committee attests to an invalid data availability certificate."
},
{
"category": "Funds can be lost if",
"text": "the bridge contract or its dependencies receive a malicious code upgrade. There is no delay on code upgrades."
}
],
"references": [
{
"title": "Inside AnyTrust - Arbitrum Docs",
"url": "https://docs.arbitrum.io/how-arbitrum-works/inside-anytrust"
}
]
},
"type": "Data Availability Committee"
}
+1 -1
{
"baseTimestamp": 1791533574,
"baseTimestamp": 1792490944,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "125c2130",
"date": "Tue, 20 Oct 2026 10:10:15 GMT",
"timestamp": 1792490944,
"description": "SequencerInbox `sequencerVersion` 0x00 → 0x88: batches are DAC certificates again since 2026-10-15.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerInbox (arb1:0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C) [orbitstack/SequencerInbox_Espresso] {\n +++ description: The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.sequencerVersion:\n- \"0x00\"\n+ \"0x88\"\n }\n```"
}
]
},
{
"id": "3155cbda",
"date": "Fri, 09 Oct 2026 08:14:24 GMT",
"timestamp": 1791533574,
"description": "EspressoTEEVerifier owner Safe: member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SafeL2 (arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5) [GnosisSafe] {\n +++ description: None\n values.$members.2:\n- \"arb1:0x00B96a8454dc757240e475B5e6e7DcAAf401930f\"\n+ \"arb1:0xd16384742f34511ade0555bC6312A284Ab1339bA\"\n }\n```"
}
]
},
{
"id": "b43ed98f",
"date": "Thu, 01 Oct 2026 22:02:56 GMT",
"timestamp": 1790891964,
"description": "SequencerInbox: since 2026-08-31 batches are posted as calldata on Arbitrum One instead of AnyTrust DAC certificates.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerInbox (arb1:0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C) [orbitstack/SequencerInbox_Espresso] {\n +++ description: The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.sequencerVersion:\n- \"0x88\"\n+ \"0x00\"\n }\n```"
}
]
},
{
"id": "5a25c5bb",
"date": "Mon, 10 Aug 2026 11:03:54 GMT",
"timestamp": 1786359767,
"description": "SequencerInbox: the latest batch was posted as an AnyTrust DAC certificate rather than as data on the host chain.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerInbox (arb1:0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C) [orbitstack/SequencerInbox_Espresso] {\n +++ description: The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.sequencerVersion:\n- \"0x00\"\n+ \"0x88\"\n }\n```"
}
]
},
{
"id": "88cae8ff",
"date": "Fri, 03 Jul 2026 10:13:14 GMT",
"timestamp": 1783073499,
"description": "SequencerInbox `sequencerVersion` flipped `0x88` → `0x00`: latest batch posted as Ethereum calldata instead of a DAC certificate (AnyTrust fall-back). ApeChainMultisig dropped one signer; threshold 3/7 → 3/6.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ApeChainMultisig (arb1:0x2B1FbeE3c7D278bFD9E179893FF304fE49FA7DDF) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"arb1:0x83F58bBB1a940E364ED2dE775D1FD5218135cCE3\"\n values.multisigThreshold:\n- \"3 of 7 (43%)\"\n+ \"3 of 6 (50%)\"\n }\n```\n\n```diff\n contract SequencerInbox (arb1:0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C) [orbitstack/SequencerInbox_Espresso] {\n +++ description: The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.sequencerVersion:\n- \"0x88\"\n+ \"0x00\"\n }\n```"
}
]
},
{
"id": "c39eceb9",
"date": "Fri, 26 Jun 2026 08:41:02 GMT",
"timestamp": 1782463184,
"description": "Removed SGX TEE verifier flow from tee attestation verification, leaving only Nitro. \n\nRegistered new wasm module root (ArbOS commitment) and valid TEE enclave hash. Both are not known from other depoloyments and are not verified.\n\nAlso, rotated one Apechain ms member and added two more.",
"isHighSeverity": false,
"changeCount": 26,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract EspressoSGXTEEVerifier (arb1:0x05A16513BF74629b834878731f07b075Cca33f55) [espresso/Sequencing/EspressoSGXTEEVerifier]\n +++ description: Verifies attestations of an Intel SGX TEE.\n```\n\n```diff\n contract ApeChainMultisig (arb1:0x2B1FbeE3c7D278bFD9E179893FF304fE49FA7DDF) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"arb1:0xe2d8761a2a87b06413e39D08C31b683cDD4dF4a4\"\n values.$members.1:\n+ \"arb1:0x6c447467FED500eEa91309c0b0c302Aa9763412d\"\n values.$members.2:\n- \"arb1:0x651cF50272Ffa8f6D954080DF743410Bb0aa7AFa\"\n+ \"arb1:0xbc1Cb7133f080eB61262dafB77788B95e208B77F\"\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"3 of 7 (43%)\"\n }\n```\n\n```diff\n contract RollupProxy (arb1:0x374de579AE15aD59eD0519aeAf1A23F348Df259c) [orbitstack/RollupProxy_fastConfirm] {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"0x5b82aa008989d331bf6f3cf75b85a04c9ee809447c19b85fecaf3b7d749a6576\"\n+ \"0x2dc824fed99dcdf659f2523ad68d1ec70bd5f08e3c533996be3a2d2b19813e83\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0x5b82aa008989d331bf6f3cf75b85a04c9ee809447c19b85fecaf3b7d749a6576\"\n+ \"0x2dc824fed99dcdf659f2523ad68d1ec70bd5f08e3c533996be3a2d2b19813e83\"\n }\n```\n\n```diff\n- Status: DELETED\n contract EspressoTEEVerifier (arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5) [espresso/Sequencing/EspressoTEEVerifier_gateway]\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n```\n\n```diff\n- Status: DELETED\n contract QuoteVerifier (arb1:0x69523d25E25e5c78d828Df90459b75F189D40Cf7) [espresso/Sequencing/QuoteVerifier]\n +++ description: The QuoteVerifier contract is used by the EspressoTEEVerifier to verify the validity of the TEE quote. It references a PCCSRouter (arb1:0x0d089B3fA00CBAD0a5098025519e9e4620622acF), an access point for Intel SGX 'collateral', crucial references of which some modular contracts are unverified.\n```\n\n```diff\n contract SafeL2 (arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0.description:\n- \"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\"\n+ \"add, remove or disable supported enclave hashes.\"\n receivedPermissions.0.from:\n- \"arb1:0x05A16513BF74629b834878731f07b075Cca33f55\"\n+ \"arb1:0x9440e52851706A261965c128A6CB3b5C455177Fb\"\n receivedPermissions.1.description:\n- \"change the modular TEE verifier contracts.\"\n+ \"change the TEE verifier contract.\"\n receivedPermissions.1.from:\n- \"arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5\"\n+ \"arb1:0x9440e52851706A261965c128A6CB3b5C455177Fb\"\n }\n```\n\n```diff\n- Status: DELETED\n contract EspressoNitroTEEVerifier (arb1:0x9bE8dA826D2C6E6708372f0d056f57B97e6dB029) [apechain/EspressoNitroTEEVerifier_modifiableVerifier]\n +++ description: Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n```\n\n```diff\n contract SequencerInbox (arb1:0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C) [orbitstack/SequencerInbox_Espresso] {\n +++ description: The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.espressoTEEVerifier:\n- \"arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5\"\n+ \"arb1:0x9440e52851706A261965c128A6CB3b5C455177Fb\"\n }\n```\n\n```diff\n EOA (arb1:0xFb259F30199B4f4AB9c9a26019f83b195837075E) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"arb1:0x9bE8dA826D2C6E6708372f0d056f57B97e6dB029\",\"description\":\"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\",\"role\":\".owner\"}\n receivedPermissions.1.via:\n+ [{\"address\":\"arb1:0x927dCF5D08795eEFd7C2bEC89777CFCD67950870\"}]\n receivedPermissions.1.role:\n- \".owner\"\n+ \"admin\"\n receivedPermissions.1.description:\n- \"set the nitro enclave verifier that checks the TEE attestations.\"\n receivedPermissions.1.from:\n- \"arb1:0x9bE8dA826D2C6E6708372f0d056f57B97e6dB029\"\n+ \"arb1:0x9440e52851706A261965c128A6CB3b5C455177Fb\"\n receivedPermissions.1.permission:\n- \"interact\"\n+ \"upgrade\"\n eoaWithUpgradePermissions:\n+ true\n directlyReceivedPermissions:\n+ [{\"permission\":\"act\",\"from\":\"arb1:0x927dCF5D08795eEFd7C2bEC89777CFCD67950870\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (arb1:0x927dCF5D08795eEFd7C2bEC89777CFCD67950870) [global/ProxyAdmin]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EspressoTEEVerifier (arb1:0x9440e52851706A261965c128A6CB3b5C455177Fb) [espresso/Sequencing/EspressoTEEVerifier_onlyNitro]\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports AWS Nitro TEEs through modular contracts.\n```\n\n```diff\n+ Status: CREATED\n contract EspressoNitroTEEVerifier (arb1:0xBA7E3C18A16FfD8062047422c63027459105BB35) [espresso/Sequencing/EspressoNitroTEEVerifier_WithServices]\n +++ description: Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n```"
}
]
},
{
"id": "82c06f40",
"date": "Fri, 05 Jun 2026 10:10:30 GMT",
"timestamp": 1780654151,
"description": "Switched to checking TEE attestations with zk in the style of Appchain. Appchain contracts resued (a slightly older version though): https://disco.l2beat.com/diff/eth:0x9E490ce0203d191Cae0ABF5614D561cC6fdc771f/arb1:0x9bE8dA826D2C6E6708372f0d056f57B97e6dB029, the only difference is that owner can change the TEE verifier contact.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract CertManager (arb1:0x27CA506AC6567Ef79d364b56cf4dE9C4141d803A) [espresso/Sequencing]\n +++ description: The CertManager is used for anchoring TEE attestation keys to a trusted Certificate Authority (CA).\n```\n\n```diff\n contract EspressoTEEVerifier (arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5) [espresso/Sequencing/EspressoTEEVerifier_gateway] {\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n+++ severity: HIGH\n values.espressoNitroTEEVerifier:\n- \"arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C\"\n+ \"arb1:0x9bE8dA826D2C6E6708372f0d056f57B97e6dB029\"\n }\n```\n\n```diff\n contract SafeL2 (arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5) [GnosisSafe] {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C\",\"description\":\"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract EspressoNitroTEEVerifier (arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C) [espresso/Sequencing/EspressoNitroTEEVerifier]\n +++ description: Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n```\n\n```diff\n+ Status: CREATED\n contract NitroEnclaveVerifier (arb1:0x1b467761E7a125381c4f654e11B397023Fc53DD8) [espresso/Sequencing/NitroEnclaveVerifier]\n +++ description: ZK-backed verifier for AWS Nitro enclave attestations. Verifies ZK proofs (RiscZero, Succinct SP1 or Pico) that attest AWS Nitro cert chain validation was executed correctly off-chain.\n```\n\n```diff\n+ Status: CREATED\n contract EspressoNitroTEEVerifier (arb1:0x9bE8dA826D2C6E6708372f0d056f57B97e6dB029) [apechain/EspressoNitroTEEVerifier_modifiableVerifier]\n +++ description: Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (arb1:0xD9d5C8456a168Dd25561064F47bF116111131B1D) [succinct/SP1Verifier]\n +++ description: Verifier contract for SP1 proofs (v6.1.0).\n```"
}
]
},
{
"id": "140387ab",
"date": "Fri, 08 May 2026 09:36:14 GMT",
"timestamp": 1778232906,
"description": "Shared SafeL2 (`0x6Dc61D9E...`) — signer `0x5582a8A4` removed. Threshold unchanged at 2; total signers 4 → 3 (50% → 67%). Same shared multisig change observed on `appchain` (same address on Ethereum), `molten`, `rari`.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SafeL2 (arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5) [GnosisSafe] {\n +++ description: None\n values.$members.1:\n- \"arb1:0x5582a8A4f2B04341697cEA4Cf4289a01814C26e6\"\n values.multisigThreshold:\n- \"2 of 4 (50%)\"\n+ \"2 of 3 (67%)\"\n }\n```"
}
]
},
{
"id": "f0c9fc8a",
"date": "Tue, 10 Feb 2026 15:08:50 GMT",
"timestamp": 1770736061,
"description": "Ownership of Espresso TEE verifier contracts (EspressoSGXTEEVerifier, EspressoTEEVerifier, EspressoNitroTEEVerifier) transferred from EOA to new SafeL2 multisig.",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EspressoSGXTEEVerifier (arb1:0x05A16513BF74629b834878731f07b075Cca33f55) {\n +++ description: Verifies attestations of an Intel SGX TEE.\n+++ severity: HIGH\n values.owner:\n- \"arb1:0xFb259F30199B4f4AB9c9a26019f83b195837075E\"\n+ \"arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5\"\n }\n```\n\n```diff\n contract EspressoTEEVerifier (arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5) {\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n+++ severity: HIGH\n values.owner:\n- \"arb1:0xFb259F30199B4f4AB9c9a26019f83b195837075E\"\n+ \"arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5\"\n }\n```\n\n```diff\n contract EspressoNitroTEEVerifier (arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C) {\n +++ description: Verifies attestations of an AWS Nitro TEE.\n+++ severity: HIGH\n values.owner:\n- \"arb1:0xFb259F30199B4f4AB9c9a26019f83b195837075E\"\n+ \"arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5)\n +++ description: None\n```"
}
]
},
{
"id": "438bbd07",
"date": "Wed, 03 Dec 2025 08:35:56 GMT",
"timestamp": 1764750880,
"description": "Reintroduce known standard EspressoNitroTEEVerifier.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract EspressoNitroTEEVerifier_neutered (arb1:0x27d3F7fB1F155F81E633f4E29b2322b7ffafe8e4)\n +++ description: [NEUTERED] Usually verifies attestations of an AWS Nitro TEE, but this version of the contract does not verify anything and always returns true for certificate verifications. It also allows the owner to register any signer without a TEE attestation.\n```\n\n```diff\n contract EspressoTEEVerifier (arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5) {\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n+++ severity: HIGH\n values.espressoNitroTEEVerifier:\n- \"arb1:0x27d3F7fB1F155F81E633f4E29b2322b7ffafe8e4\"\n+ \"arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C\"\n }\n```\n\n```diff\n EOA (arb1:0xFb259F30199B4f4AB9c9a26019f83b195837075E) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"arb1:0x27d3F7fB1F155F81E633f4E29b2322b7ffafe8e4\",\"description\":\"register any signer without attestation by the TEE and spoof signatures.\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C\",\"description\":\"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract EspressoNitroTEEVerifier (arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C)\n +++ description: Verifies attestations of an AWS Nitro TEE.\n```"
}
]
},
{
"id": "48b558be",
"date": "Mon, 24 Nov 2025 09:17:15 GMT",
"timestamp": 1763974293,
"description": "upgrade: espressoNitroTEEVerifier is bypassed with `return True` and `onlyOwner` funcs. The new contract can be used to spoof any signature.\nhttps://disco.l2beat.com/diff/arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C/arb1:0x27d3F7fB1F155F81E633f4E29b2322b7ffafe8e4",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EspressoTEEVerifier (arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5) {\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n+++ severity: HIGH\n values.espressoNitroTEEVerifier:\n- \"arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C\"\n+ \"arb1:0x27d3F7fB1F155F81E633f4E29b2322b7ffafe8e4\"\n }\n```\n\n```diff\n- Status: DELETED\n contract EspressoNitroTEEVerifier (arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C)\n +++ description: Verifies attestations of an AWS Nitro TEE.\n```\n\n```diff\n EOA (arb1:0xFb259F30199B4f4AB9c9a26019f83b195837075E) {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"arb1:0x27d3F7fB1F155F81E633f4E29b2322b7ffafe8e4\",\"description\":\"register any signer without attestation by the TEE and spoof signatures.\",\"role\":\".owner\"}\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C\",\"description\":\"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract EspressoNitroTEEVerifier_neutered (arb1:0x27d3F7fB1F155F81E633f4E29b2322b7ffafe8e4)\n +++ description: [NEUTERED] Usually verifies attestations of an AWS Nitro TEE, but this version of the contract does not verify anything and always returns true for certificate verifications. It also allows the owner to register any signer without a TEE attestation.\n```"
}
]
},
{
"id": "85a6fb0f",
"date": "Tue, 18 Nov 2025 11:39:34 GMT",
"timestamp": 1763465887,
"description": "New registered AWS TEE signer.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EspressoNitroTEEVerifier (arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C) {\n +++ description: Verifies attestations of an AWS Nitro TEE.\n values.registeredSigners.6:\n+ \"arb1:0xfbf3197115695CaB806CDAe742470374a5c18d24\"\n }\n```"
}
]
},
{
"id": "db9f688d",
"date": "Wed, 05 Nov 2025 22:24:27 GMT",
"timestamp": 1762381395,
"description": "New registered AWS TEE signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EspressoNitroTEEVerifier (arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C) {\n +++ description: Verifies attestations of an AWS Nitro TEE.\n values.registeredSigners.4:\n+ \"arb1:0x6480ec7c5bA30bAa4c7F32fbB6eD5299117c5397\"\n values.registeredSigners.5:\n+ \"arb1:0x37aa7921D4a65d4D224d9C733E3E26c750A79D81\"\n }\n```"
}
]
},
{
"id": "65f832b4",
"date": "Wed, 15 Oct 2025 14:25:32 GMT",
"timestamp": 1760538265,
"description": "Apechain now uses Espresso sequencer.",
"isHighSeverity": true,
"changeCount": 18,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (arb1:0x5737CDBb3a67001441C0DA8b86e6b1826705601c) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"arb1:0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C\",\"description\":\"Add/remove batchPosters (Sequencers).\",\"role\":\".batchPosterManager\"}]\n }\n```\n\n```diff\n contract SequencerInbox (arb1:0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C) {\n +++ description: The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n template:\n- \"orbitstack/SequencerInbox\"\n+ \"orbitstack/SequencerInbox_Espresso\"\n sourceHashes.1:\n- \"0x6bb86ac4bd0d31e049f543fcf0a8f94c952252222f115246ef9d5b8104d803cc\"\n+ \"0x724a7b4f0fa3a5ce6b00cc932e70b6b83a05d1a846a341cbf8477dc95f6c916c\"\n description:\n- \"A sequencer (registered in this contract) can submit transaction batches or commitments here.\"\n+ \"The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\"\n values.$implementation:\n- \"arb1:0x0DD7dA1805d207511bb3Edabe9352B9E316048bE\"\n+ \"arb1:0xCfAfB803EF1FEc576138Cebc79Ad41Aa6760C575\"\n values.$pastUpgrades.2:\n+ [\"2025-10-14T19:31:30.000Z\",\"0xf2787805eb5c45529aacb68a446f51693fa2ffabbbe77585921d236a9b43d97a\",[\"arb1:0xCfAfB803EF1FEc576138Cebc79Ad41Aa6760C575\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.batchPosterManager:\n- \"arb1:0x5737CDBb3a67001441C0DA8b86e6b1826705601c\"\n+ \"arb1:0x3918b6ecc471211a942B0A904fbFb36302348f6B\"\n values.batchPosters.0:\n- \"arb1:0x845205C0F5109282954Bba4217aDA2a27Fdd89fF\"\n+ \"arb1:0x3918b6ecc471211a942B0A904fbFb36302348f6B\"\n values.setIsBatchPosterCount:\n- 1\n+ 3\n values.espressoTEEVerifier:\n+ \"arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5\"\n implementationNames.arb1:0x0DD7dA1805d207511bb3Edabe9352B9E316048bE:\n- \"SequencerInbox\"\n implementationNames.arb1:0xCfAfB803EF1FEc576138Cebc79Ad41Aa6760C575:\n+ \"SequencerInbox\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract EspressoSGXTEEVerifier (arb1:0x05A16513BF74629b834878731f07b075Cca33f55)\n +++ description: Verifies attestations of an Intel SGX TEE.\n```\n\n```diff\n+ Status: CREATED\n contract CertManager (arb1:0x27CA506AC6567Ef79d364b56cf4dE9C4141d803A)\n +++ description: The CertManager is used for anchoring TEE attestation keys to a trusted Certificate Authority (CA).\n```\n\n```diff\n+ Status: CREATED\n contract EspressoTEEVerifier (arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5)\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n```\n\n```diff\n+ Status: CREATED\n contract QuoteVerifier (arb1:0x69523d25E25e5c78d828Df90459b75F189D40Cf7)\n +++ description: The QuoteVerifier contract is used by the EspressoTEEVerifier to verify the validity of the TEE quote. It references a PCCSRouter (arb1:0x0d089B3fA00CBAD0a5098025519e9e4620622acF), an access point for Intel SGX 'collateral', crucial references of which some modular contracts are unverified.\n```\n\n```diff\n+ Status: CREATED\n contract EspressoNitroTEEVerifier (arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C)\n +++ description: Verifies attestations of an AWS Nitro TEE.\n```"
}
]
},
{
"id": "262a3d1c",
"date": "Mon, 14 Jul 2025 13:11:47 GMT",
"timestamp": 1752498707,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 16,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract Inbox (0x1B98e4ED82Ee1a91A65a38C690e2266364064D15)\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ApeChainMultisig (0x2B1FbeE3c7D278bFD9E179893FF304fE49FA7DDF)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0x374de579AE15aD59eD0519aeAf1A23F348Df259c)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x4aBF0E8C011142bAb19ff3C921880B71E68150Ca)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0x4F405BA65291063d8A524c2bDf55d4e67405c2aF)\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0x550B7B23Ed78BA25B3aBCBb290ADf1190aC28E19)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0x6B71AFb4b7725227ab944c96FE018AB9dc0434b8)\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0x8A4ed18B4d31bCeA908B0f96B4347a9F99e816b3)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0xa301f8EdD4Cdf10553b6aB39d9724c56d7ab582F)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0xa3180c7a17dd46DEf808477093592D8231e024a8)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0xAB2182C8c9a9d853Cf06A77967D2b3971A453ee1)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0xaB36aec5517C346D21b9C19429BAA5aa87D17fCa)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0xe032d15909e90f9A36901abB08944653e9E87d72)\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C)\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n```\n\n```diff\n+ Status: CREATED\n contract RollupEventInbox (0xf383814AE1eD316ed7d6FeA28810C77E8a15A49F)\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```"
}
]
},
{
"id": "1dd6bed9",
"date": "Wed, 18 Jun 2025 11:54:22 GMT",
"timestamp": 1750247662,
"description": "late upgrade to standard orbit implementations.",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Inbox (0x1B98e4ED82Ee1a91A65a38C690e2266364064D15) {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n sourceHashes.0:\n- \"0xb2c117c2e00734a82fe4ab27d5fe91a6e152c06bbcdbf83db021ad32b6be3e60\"\n+ \"0x25984fdfffb8141859c99299fb29e7a7460732d77111e5fe23792baa99f336a3\"\n values.$implementation:\n- \"0xCd26Db56B29e88b5394063aEA727DB1a03E961a7\"\n+ \"0xFa76A234b41f932Fa769f92d85574e1BEEfE8218\"\n values.$pastUpgrades.1:\n+ [\"2025-06-13T13:06:09.000Z\",\"0xe385aeb814e7282eac24484389ea3b1f4e6b612a750b25b547bacc5dffb70544\",[\"0xFa76A234b41f932Fa769f92d85574e1BEEfE8218\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.0xCd26Db56B29e88b5394063aEA727DB1a03E961a7:\n- \"ERC20Inbox\"\n implementationNames.0xFa76A234b41f932Fa769f92d85574e1BEEfE8218:\n+ \"ERC20Inbox\"\n }\n```\n\n```diff\n contract ApeChainMultisig (0x2B1FbeE3c7D278bFD9E179893FF304fE49FA7DDF) {\n +++ description: None\n values.$members.4:\n+ \"0xd125c9222160C308EdC5Cf642573Ca8a14D9d33c\"\n values.multisigThreshold:\n- \"3 of 4 (75%)\"\n+ \"3 of 5 (60%)\"\n }\n```\n\n```diff\n contract SequencerInbox (0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.0:\n- \"0x50cf57b01499408fa99da27cf0fee96ec30f0d40667d1aa090c442bc80f0636b\"\n+ \"0x6bb86ac4bd0d31e049f543fcf0a8f94c952252222f115246ef9d5b8104d803cc\"\n values.$implementation:\n- \"0x51120FA6D564A70E9F80874c0a55A4ee0c7396Fe\"\n+ \"0x0DD7dA1805d207511bb3Edabe9352B9E316048bE\"\n values.$pastUpgrades.1:\n+ [\"2025-06-13T13:06:09.000Z\",\"0xe385aeb814e7282eac24484389ea3b1f4e6b612a750b25b547bacc5dffb70544\",[\"0x0DD7dA1805d207511bb3Edabe9352B9E316048bE\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.0x51120FA6D564A70E9F80874c0a55A4ee0c7396Fe:\n- \"SequencerInbox\"\n implementationNames.0x0DD7dA1805d207511bb3Edabe9352B9E316048bE:\n+ \"SequencerInbox\"\n }\n```"
}
]
},
{
"id": "9a647e2e",
"date": "Mon, 21 Oct 2024 08:58:31 GMT",
"timestamp": 1729501111,
"description": "Standard Orbit stack AnyTrust optimium with APE gas token and max supply premint (bridged via LayerZero) on L3.",
"isHighSeverity": false,
"changeCount": 18,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract Inbox (0x1B98e4ED82Ee1a91A65a38C690e2266364064D15)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ApeChainMultisig (0x2B1FbeE3c7D278bFD9E179893FF304fE49FA7DDF)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0x374de579AE15aD59eD0519aeAf1A23F348Df259c)\n +++ description: Manages rollup components, list of Stakers and Validators. Entry point for Validators creating new Rollup Nodes (state commits) and Challengers submitting fraud proofs.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x4aBF0E8C011142bAb19ff3C921880B71E68150Ca)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0x4F405BA65291063d8A524c2bDf55d4e67405c2aF)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0x550B7B23Ed78BA25B3aBCBb290ADf1190aC28E19)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorWalletCreator (0x5a6C98F6A60BDC02cE4d8AD43b4Fc88Fe5b38856)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0x6B71AFb4b7725227ab944c96FE018AB9dc0434b8)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0x8A4ed18B4d31bCeA908B0f96B4347a9F99e816b3)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract (0x91f0A93A188d1516193032A687533C97D634f9F4)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0xa301f8EdD4Cdf10553b6aB39d9724c56d7ab582F)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0xa3180c7a17dd46DEf808477093592D8231e024a8)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0xAB2182C8c9a9d853Cf06A77967D2b3971A453ee1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0xaB36aec5517C346D21b9C19429BAA5aa87D17fCa)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0xe032d15909e90f9A36901abB08944653e9E87d72)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C)\n +++ description: State batches / commitments get posted here.\n```\n\n```diff\n+ Status: CREATED\n contract ERC20RollupEventInbox (0xf383814AE1eD316ed7d6FeA28810C77E8a15A49F)\n +++ description: None\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "EigenLayerOperationsMultisig",
"name": "EigenLayerOperationsMultisig",
"description": "A Multisig with 3/6 threshold. \n* Can upgrade **with 10d delay**\n * swETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * TaskMailbox [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * AVSDirectory [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * ankrETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * rETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * PermissionController [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * ProtocolRegistry [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * METH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * DelegationManager [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * BN254CertificateVerifier [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * cbETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * KeyRegistrar [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * OperatorTableUpdater [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * osETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * StrategyFactory [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * EmissionsController [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * RewardsCoordinator [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * wBETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * StrategyManager [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * sfrxETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * EigenPodManager [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * CrossChainRegistry [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * stETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * AllocationManager [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * ETHx-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * OETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * bEIGEN-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * RiverV1-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * ECDSACertificateVerifier [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * EIGEN token [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * ReleaseManager [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n* Can upgrade **with 24d delay**\n * bEIGEN token [via: TimelockControllerBeigen with 24d delay → EigenLayerBeigenOwningMultisig → ProxyAdmin]\n* Can interact with UpgradeableBeacon\n * change the beacon implementation **with 10d delay** [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig]\n* Can interact with TimelockControllerBeigen\n * can cancel scheduled operations \n* Can interact with EigenDAServiceManager\n * can pause the DA bridge **with no delay or with 10d delay** [via: PauserRegistry - or TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → PauserRegistry]\n* Can interact with TimelockControllerOwning\n * can cancel scheduled operations ",
"accounts": [
{
"address": "eth:0xBE1685C81aA44FF9FB319dD389addd9374383e90",
"type": "Contract",
"isVerified": true,
"name": "0xBE16…3e90",
"url": "https://etherscan.io/address/0xBE1685C81aA44FF9FB319dD389addd9374383e90"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x9B0098A38548b8B71473B0123A38B90bd882d49E",
"type": "EOA",
"isVerified": true,
"name": "0x9B00…d49E",
"url": "https://etherscan.io/address/0x9B0098A38548b8B71473B0123A38B90bd882d49E"
},
{
"address": "eth:0xf26dA751ede765864CA92D8aE7522edD21aF0523",
"type": "EOA",
"isVerified": true,
"name": "0xf26d…0523",
"url": "https://etherscan.io/address/0xf26dA751ede765864CA92D8aE7522edD21aF0523"
},
{
"address": "eth:0xE31ad7cFD94bD74C40b53160aA0E8A0b6D340830",
"type": "EOA",
"isVerified": true,
"name": "0xE31a…0830",
"url": "https://etherscan.io/address/0xE31ad7cFD94bD74C40b53160aA0E8A0b6D340830"
},
{
"address": "eth:0x27ff193A6A1574A611E21c39FDA636fA1d61ba30",
"type": "EOA",
"isVerified": true,
"name": "0x27ff…ba30",
"url": "https://etherscan.io/address/0x27ff193A6A1574A611E21c39FDA636fA1d61ba30"
},
{
"address": "eth:0xE5Ad7cB2692c3A03dd9279a733c4A20666f6909c",
"type": "EOA",
"isVerified": true,
"name": "0xE5Ad…909c",
"url": "https://etherscan.io/address/0xE5Ad7cB2692c3A03dd9279a733c4A20666f6909c"
},
{
"address": "eth:0xe7fFd467F7526abf9c8796EDeE0AD30110419127",
"type": "EOA",
"isVerified": true,
"name": "0xe7fF…9127",
"url": "https://etherscan.io/address/0xe7fFd467F7526abf9c8796EDeE0AD30110419127"
}
],
"discoveryDrivenData": true
},
{
"id": "EigenLayerOperationsMultisig2",
"name": "EigenLayerOperationsMultisig2",
"description": "A Multisig with 3/5 threshold. \n* Can upgrade **with 10d delay**\n * swETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * TaskMailbox [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * AVSDirectory [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * ankrETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * rETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * PermissionController [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * ProtocolRegistry [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * METH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * DelegationManager [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * BN254CertificateVerifier [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * cbETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * KeyRegistrar [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * OperatorTableUpdater [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * osETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * StrategyFactory [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * EmissionsController [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * RewardsCoordinator [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * wBETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * StrategyManager [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * sfrxETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * EigenPodManager [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * CrossChainRegistry [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * stETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * AllocationManager [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * ETHx-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * OETH-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * bEIGEN-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * RiverV1-Strategy [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * ECDSACertificateVerifier [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * EIGEN token [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * ReleaseManager [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n* Can upgrade **with 24d delay**\n * bEIGEN token [via: TimelockControllerBeigen with 24d delay → EigenLayerBeigenOwningMultisig → ProxyAdmin]\n* Can interact with UpgradeableBeacon\n * change the beacon implementation **with 10d delay** [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig]\n* Can interact with TimelockControllerBeigen\n * executes scheduled operations after the delay \n* Can interact with EigenDAServiceManager\n * can pause the DA bridge **with 10d delay** [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → PauserRegistry]\n* Can interact with TimelockControllerOwning\n * executes scheduled operations after the delay ",
"accounts": [
{
"address": "eth:0x461854d84Ee845F905e0eCf6C288DDEEb4A9533F",
"type": "Contract",
"isVerified": true,
"name": "0x4618…533F",
"url": "https://etherscan.io/address/0x461854d84Ee845F905e0eCf6C288DDEEb4A9533F"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xAe4ABA6838d4622aF1AD024EB351eA4D4FDE22B3",
"type": "EOA",
"isVerified": true,
"name": "0xAe4A…22B3",
"url": "https://etherscan.io/address/0xAe4ABA6838d4622aF1AD024EB351eA4D4FDE22B3"
},
{
"address": "eth:0x9229C290F60F303884073F28EB8E81F9B82506d5",
"type": "EOA",
"isVerified": true,
"name": "0x9229…06d5",
"url": "https://etherscan.io/address/0x9229C290F60F303884073F28EB8E81F9B82506d5"
},
{
"address": "eth:0x02088a44674Ece0a5cd03ed032fFaf4a09235fE5",
"type": "EOA",
"isVerified": true,
"name": "0x0208…5fE5",
"url": "https://etherscan.io/address/0x02088a44674Ece0a5cd03ed032fFaf4a09235fE5"
},
{
"address": "eth:0xc5280E368648b0e192b355c7d8330593bA7af700",
"type": "EOA",
"isVerified": true,
"name": "0xc528…f700",
"url": "https://etherscan.io/address/0xc5280E368648b0e192b355c7d8330593bA7af700"
},
{
"address": "eth:0x10d6CE86113D00CcF071D02C5289e420a14C963F",
"type": "EOA",
"isVerified": true,
"name": "0x10d6…963F",
"url": "https://etherscan.io/address/0x10d6CE86113D00CcF071D02C5289e420a14C963F"
}
],
"discoveryDrivenData": true
},
{
"id": "EigenLayerCommunityMultisig",
"name": "EigenLayerCommunityMultisig",
"description": "A Multisig with 9/13 threshold. \nMember of EigenLayerOwningMultisig, EigenLayerBeigenOwningMultisig.\n* Can upgrade **with no delay**\n * swETH-Strategy [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * TaskMailbox [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * AVSDirectory [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * ankrETH-Strategy [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * rETH-Strategy [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * PermissionController [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * ProtocolRegistry [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * METH-Strategy [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * DelegationManager [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * BN254CertificateVerifier [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * cbETH-Strategy [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * KeyRegistrar [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * OperatorTableUpdater [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * osETH-Strategy [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * StrategyFactory [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * EmissionsController [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * RewardsCoordinator [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * wBETH-Strategy [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * bEIGEN token [via: EigenLayerBeigenOwningMultisig → ProxyAdmin]\n * StrategyManager [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * sfrxETH-Strategy [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * EigenPodManager [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * CrossChainRegistry [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * stETH-Strategy [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * AllocationManager [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * ETHx-Strategy [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * OETH-Strategy [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * bEIGEN-Strategy [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * RiverV1-Strategy [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * ECDSACertificateVerifier [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * EIGEN token [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * ReleaseManager [via: EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n* Can interact with UpgradeableBeacon\n * change the beacon implementation [via: EigenLayerOwningMultisig]\n* Can interact with EigenDAServiceManager\n * can pause the DA bridge [via: EigenLayerOwningMultisig → PauserRegistry]",
"accounts": [
{
"address": "eth:0xFEA47018D632A77bA579846c840d5706705Dc598",
"type": "Contract",
"isVerified": true,
"name": "0xFEA4…c598",
"url": "https://etherscan.io/address/0xFEA47018D632A77bA579846c840d5706705Dc598"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x17919FAC7024d5b770322E5Cb81607D247654116",
"type": "EOA",
"isVerified": true,
"name": "0x1791…4116",
"url": "https://etherscan.io/address/0x17919FAC7024d5b770322E5Cb81607D247654116"
},
{
"address": "eth:0x34C37613e1680efD9e203C979658e1d058b4B2BC",
"type": "EOA",
"isVerified": true,
"name": "0x34C3…B2BC",
"url": "https://etherscan.io/address/0x34C37613e1680efD9e203C979658e1d058b4B2BC"
},
{
"address": "eth:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://etherscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "eth:0x7F68e9C17D22005688b8E6968fCe31e32B4B03d1",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "#Safe"
},
{
"address": "eth:0xED732DEb32034e603bEEEdA84605dAbb8933594b",
"type": "EOA",
"isVerified": true,
"name": "0xED73…594b",
"url": "https://etherscan.io/address/0xED732DEb32034e603bEEEdA84605dAbb8933594b"
},
{
"address": "eth:0x97b4A6E0471A7c5906fF1Cc2a5970ed569B04815",
"type": "EOA",
"isVerified": true,
"name": "0x97b4…4815",
"url": "https://etherscan.io/address/0x97b4A6E0471A7c5906fF1Cc2a5970ed569B04815"
},
{
"address": "eth:0x65C4799061c0D1e3E87ADdB65b02E92a558F842F",
"type": "EOA",
"isVerified": true,
"name": "0x65C4…842F",
"url": "https://etherscan.io/address/0x65C4799061c0D1e3E87ADdB65b02E92a558F842F"
},
{
"address": "eth:0xe37756BEdDC89e94A8d557fd5b95a4D2a57e9D60",
"type": "EOA",
"isVerified": true,
"name": "0xe377…9D60",
"url": "https://etherscan.io/address/0xe37756BEdDC89e94A8d557fd5b95a4D2a57e9D60"
},
{
"address": "eth:0x8ffCF07A59631f0578f3E84B51C48cF0dEADCd95",
"type": "EOA",
"isVerified": true,
"name": "0x8ffC…Cd95",
"url": "https://etherscan.io/address/0x8ffCF07A59631f0578f3E84B51C48cF0dEADCd95"
},
{
"address": "eth:0xAF4D94Cd299211de542530399290877E2c85F061",
"type": "EOA",
"isVerified": true,
"name": "0xAF4D…F061",
"url": "https://etherscan.io/address/0xAF4D94Cd299211de542530399290877E2c85F061"
},
{
"address": "eth:0xe8F09A9D42aEA0a3B393aD06F25CF512eA51707e",
"type": "EOA",
"isVerified": true,
"name": "0xe8F0…707e",
"url": "https://etherscan.io/address/0xe8F09A9D42aEA0a3B393aD06F25CF512eA51707e"
},
{
"address": "eth:0x6A662c5DdCe0b76BD081b8A4ec3A4F8a671b0b1f",
"type": "EOA",
"isVerified": true,
"name": "0x6A66…0b1f",
"url": "https://etherscan.io/address/0x6A662c5DdCe0b76BD081b8A4ec3A4F8a671b0b1f"
},
{
"address": "eth:0x33E816008E7bc7798A73d0eaa640CC24f34d1626",
"type": "EOA",
"isVerified": true,
"name": "0x33E8…1626",
"url": "https://etherscan.io/address/0x33E816008E7bc7798A73d0eaa640CC24f34d1626"
}
],
"discoveryDrivenData": true
},
{
"id": "EigenDAOperationsMultisig",
"name": "EigenDAOperationsMultisig",
"description": "A Multisig with 2/4 threshold. \n* Can upgrade **with no delay**\n * StakeRegistry [via: ProxyAdmin]\n * BLSApkRegistry [via: ProxyAdmin]\n * RegistryCoordinator [via: ProxyAdmin]\n * EjectionManager [via: ProxyAdmin]\n * SocketRegistry [via: ProxyAdmin]\n * EigenDADisperserRegistry [via: ProxyAdmin]\n * EigenDAServiceManager [via: ProxyAdmin]\n * PaymentVault [via: ProxyAdmin]\n * IndexRegistry [via: ProxyAdmin]\n * EigenDARelayRegistry [via: ProxyAdmin]\n * EigenDAThresholdRegistry [via: ProxyAdmin]\n* Can interact with RegistryCoordinator\n * can add and remove strategies \n* Can interact with EigenDAServiceManager\n * can transfer ownership of the contract, update the metadata URI, set reward initiator and set batch confirmer \n* Can interact with EigenDAThresholdRegistry\n * can add blob versions with their coding parameters, which define what the cert verifiers accept as a valid blob ",
"accounts": [
{
"address": "eth:0x002721B4790d97dC140a049936aA710152Ba92D5",
"type": "Contract",
"isVerified": true,
"name": "0x0027…92D5",
"url": "https://etherscan.io/address/0x002721B4790d97dC140a049936aA710152Ba92D5"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xB646A0871af2b2c6e115b24D7E36d406780b6ca8",
"type": "EOA",
"isVerified": true,
"name": "0xB646…6ca8",
"url": "https://etherscan.io/address/0xB646A0871af2b2c6e115b24D7E36d406780b6ca8"
},
{
"address": "eth:0x1b6cC4C0670bBA2B992b82Cb8E76B286D63264c6",
"type": "EOA",
"isVerified": true,
"name": "0x1b6c…64c6",
"url": "https://etherscan.io/address/0x1b6cC4C0670bBA2B992b82Cb8E76B286D63264c6"
},
{
"address": "eth:0x403F4d4958409480502CdC78a54cE1B67263C17a",
"type": "EOA",
"isVerified": true,
"name": "0x403F…C17a",
"url": "https://etherscan.io/address/0x403F4d4958409480502CdC78a54cE1B67263C17a"
},
{
"address": "eth:0x891bbCfEF0C7504218b3156Cd0795cA5C8c7d489",
"type": "EOA",
"isVerified": true,
"name": "0x891b…d489",
"url": "https://etherscan.io/address/0x891bbCfEF0C7504218b3156Cd0795cA5C8c7d489"
}
],
"discoveryDrivenData": true
},
{
"id": "CeloProxyAdminOwner",
"name": "CeloProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * L2CrossDomainMessenger [via: L2ProxyAdmin]\n * L2StandardBridge [via: L2ProxyAdmin]\n * L2ToL1MessagePasser [via: L2ProxyAdmin]\n * L2ProxyAdmin [via: L2ProxyAdmin]\n * Celo native asset Token [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * CeloSuperchainConfig [via: ProxyAdmin]\n * EigenDACertVerifierRouter [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n* Can interact with EigenDACertVerifierRouter\n * can add cert verifiers to the router, changing which contract validates DA certificates from a chosen block onwards \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 ",
"accounts": [
{
"address": "eth:0x4092A77bAF58fef0309452cEaCb09221e556E112",
"type": "Contract",
"isVerified": true,
"name": "0x4092…E112",
"url": "https://etherscan.io/address/0x4092A77bAF58fef0309452cEaCb09221e556E112"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xC03172263409584f7860C25B6eB4985f0f6F4636",
"type": "Contract",
"isVerified": true,
"name": "Celo Security Council",
"url": "#Celo Security Council"
},
{
"address": "eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d",
"type": "Contract",
"isVerified": true,
"name": "Celo cLabs Multisig",
"url": "#Celo cLabs Multisig"
}
],
"discoveryDrivenData": true
},
{
"id": "Celo cLabs Multisig",
"name": "Celo cLabs Multisig",
"description": "A Multisig with 6/8 threshold. \nMember of CeloProxyAdminOwner.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with AccessManager\n * Allowed to add or remove proposers and challengers, and transfer ownership of the AccessManager ",
"accounts": [
{
"address": "eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d",
"type": "Contract",
"isVerified": true,
"name": "0x9Eb4…D34d",
"url": "https://etherscan.io/address/0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0Bd06B2b192BD9eC316f2880A0c296D9Bc3225e0",
"type": "EOA",
"isVerified": true,
"name": "0x0Bd0…25e0",
"url": "https://etherscan.io/address/0x0Bd06B2b192BD9eC316f2880A0c296D9Bc3225e0"
},
{
"address": "eth:0x21e595451bDD69a85cf946f37f5A6A356C3F875D",
"type": "EOA",
"isVerified": true,
"name": "0x21e5…875D",
"url": "https://etherscan.io/address/0x21e595451bDD69a85cf946f37f5A6A356C3F875D"
},
{
"address": "eth:0x09c0B069100F5d880a596605b94Cc9493D96e797",
"type": "EOA",
"isVerified": true,
"name": "0x09c0…e797",
"url": "https://etherscan.io/address/0x09c0B069100F5d880a596605b94Cc9493D96e797"
},
{
"address": "eth:0x812f7C111476D45998e6D0C615B41c180C362263",
"type": "EOA",
"isVerified": true,
"name": "0x812f…2263",
"url": "https://etherscan.io/address/0x812f7C111476D45998e6D0C615B41c180C362263"
},
{
"address": "eth:0x74bc9E59B52117Ccf5Ee457cFb0CBE83b339A065",
"type": "EOA",
"isVerified": true,
"name": "0x74bc…A065",
"url": "https://etherscan.io/address/0x74bc9E59B52117Ccf5Ee457cFb0CBE83b339A065"
},
{
"address": "eth:0x4D89adf3a4a71b25FB1a6D702Cf059CF5BebD02d",
"type": "EOA",
"isVerified": true,
"name": "0x4D89…D02d",
"url": "https://etherscan.io/address/0x4D89adf3a4a71b25FB1a6D702Cf059CF5BebD02d"
},
{
"address": "eth:0x8b4b85f78F799F8364198FFEd2266d3cb3EA0daE",
"type": "EOA",
"isVerified": true,
"name": "0x8b4b…0daE",
"url": "https://etherscan.io/address/0x8b4b85f78F799F8364198FFEd2266d3cb3EA0daE"
},
{
"address": "eth:0xE0024dCadff414fCb0AAfBB475e92Ccc367E1A84",
"type": "EOA",
"isVerified": true,
"name": "0xE002…1A84",
"url": "https://etherscan.io/address/0xE0024dCadff414fCb0AAfBB475e92Ccc367E1A84"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"address": "eth:0xa564C83958f7F9fA5a255a540EF5e49445873104",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
"name": "0xa564…3104",
"url": "https://etherscan.io/address/0xa564C83958f7F9fA5a255a540EF5e49445873104"
},
{
"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": "EigenLayerRewardsInitiatorMultisig",
"name": "EigenLayerRewardsInitiatorMultisig",
"description": "A Multisig with 3/4 threshold. \n* Can interact with EigenDAServiceManager\n * can create rewards submissions ",
"accounts": [
{
"address": "eth:0x178eeeA9E0928dA2153A1d7951FBe30CF8371b8A",
"type": "Contract",
"isVerified": true,
"name": "0x178e…1b8A",
"url": "https://etherscan.io/address/0x178eeeA9E0928dA2153A1d7951FBe30CF8371b8A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x900a9E1D5D5980973f513173249727505FA3bd22",
"type": "EOA",
"isVerified": true,
"name": "0x900a…bd22",
"url": "https://etherscan.io/address/0x900a9E1D5D5980973f513173249727505FA3bd22"
},
{
"address": "eth:0x5dc74815C14E2D4223B79D2dE94C4ccD5f5f7DA7",
"type": "EOA",
"isVerified": true,
"name": "0x5dc7…7DA7",
"url": "https://etherscan.io/address/0x5dc74815C14E2D4223B79D2dE94C4ccD5f5f7DA7"
},
{
"address": "eth:0x55688D9211bC00BA573A1e0672e5de050818a360",
"type": "EOA",
"isVerified": true,
"name": "0x5568…a360",
"url": "https://etherscan.io/address/0x55688D9211bC00BA573A1e0672e5de050818a360"
},
{
"address": "eth:0x68bbBD6c18B0bc1B563489A13a398345E9da23d0",
"type": "EOA",
"isVerified": true,
"name": "0x68bb…23d0",
"url": "https://etherscan.io/address/0x68bbBD6c18B0bc1B563489A13a398345E9da23d0"
}
],
"discoveryDrivenData": true
},
{
"id": "EigenDA Multisig",
"name": "EigenDA Multisig",
"description": "A Multisig with 3/8 threshold. \n* Can interact with EjectionManager\n * can eject DA operators from a quorum ",
"accounts": [
{
"address": "eth:0x338477FfaF63c04AC06048787f910671eC914B34",
"type": "Contract",
"isVerified": true,
"name": "0x3384…4B34",
"url": "https://etherscan.io/address/0x338477FfaF63c04AC06048787f910671eC914B34"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x9308319e3988843f36BC6682Ffa571525E56a125",
"type": "EOA",
"isVerified": true,
"name": "0x9308…a125",
"url": "https://etherscan.io/address/0x9308319e3988843f36BC6682Ffa571525E56a125"
},
{
"address": "eth:0x5262498E7D4fbbb08425b2a06D91157acDC50aDA",
"type": "EOA",
"isVerified": true,
"name": "0x5262…0aDA",
"url": "https://etherscan.io/address/0x5262498E7D4fbbb08425b2a06D91157acDC50aDA"
},
{
"address": "eth:0x995152ee7BB6304565Fbe04465d2c4D1BdD5683F",
"type": "EOA",
"isVerified": true,
"name": "0x9951…683F",
"url": "https://etherscan.io/address/0x995152ee7BB6304565Fbe04465d2c4D1BdD5683F"
},
{
"address": "eth:0xA38372470ed4c3C4bb5123CC7f335212950e350A",
"type": "EOA",
"isVerified": true,
"name": "0xA383…350A",
"url": "https://etherscan.io/address/0xA38372470ed4c3C4bb5123CC7f335212950e350A"
},
{
"address": "eth:0x44aC63d4e18c0d24d0EDe1C058D5A93Fc2fbB904",
"type": "EOA",
"isVerified": true,
"name": "0x44aC…B904",
"url": "https://etherscan.io/address/0x44aC63d4e18c0d24d0EDe1C058D5A93Fc2fbB904"
},
{
"address": "eth:0x3C20b05f44ef008A5b848761e58e5Ca9594163e9",
"type": "EOA",
"isVerified": true,
"name": "0x3C20…63e9",
"url": "https://etherscan.io/address/0x3C20b05f44ef008A5b848761e58e5Ca9594163e9"
},
{
"address": "eth:0xA4f7168cEa82877B23Bc55a7fd7557D546F4dD31",
"type": "EOA",
"isVerified": true,
"name": "0xA4f7…dD31",
"url": "https://etherscan.io/address/0xA4f7168cEa82877B23Bc55a7fd7557D546F4dD31"
},
{
"address": "eth:0x542aC639c0DeF0a468aed462B474FF9B7858Bd7E",
"type": "EOA",
"isVerified": true,
"name": "0x542a…Bd7E",
"url": "https://etherscan.io/address/0x542aC639c0DeF0a468aed462B474FF9B7858Bd7E"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 2/8 threshold. \nMember of EigenLayerPauserMultisig.\n* Can interact with EigenDAServiceManager\n * can pause the DA bridge [via: EigenLayerPauserMultisig → PauserRegistry]",
"accounts": [
{
"address": "eth:0xfD636E8EB3839cE82A58936b795043Da7DB0c734",
"type": "Contract",
"isVerified": true,
"name": "0xfD63…c734",
"url": "https://etherscan.io/address/0xfD636E8EB3839cE82A58936b795043Da7DB0c734"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xDe64AA8F395C47c745969B96FBE295A252fe3370",
"type": "EOA",
"isVerified": true,
"name": "0xDe64…3370",
"url": "https://etherscan.io/address/0xDe64AA8F395C47c745969B96FBE295A252fe3370"
},
{
"address": "eth:0x55b067375146e015677F739CBBd04104d46744E8",
"type": "EOA",
"isVerified": true,
"name": "0x55b0…44E8",
"url": "https://etherscan.io/address/0x55b067375146e015677F739CBBd04104d46744E8"
},
{
"address": "eth:0x47190787E49bF1832e5333180B73d99e7d1a331A",
"type": "EOA",
"isVerified": true,
"name": "0x4719…331A",
"url": "https://etherscan.io/address/0x47190787E49bF1832e5333180B73d99e7d1a331A"
},
{
"address": "eth:0xa9f99347795212D054e8B41314c71D53faED3d28",
"type": "EOA",
"isVerified": true,
"name": "0xa9f9…3d28",
"url": "https://etherscan.io/address/0xa9f99347795212D054e8B41314c71D53faED3d28"
},
{
"address": "eth:0x5CCF59B92bb50377Ce8aF5Fed188B400B868d060",
"type": "EOA",
"isVerified": true,
"name": "0x5CCF…d060",
"url": "https://etherscan.io/address/0x5CCF59B92bb50377Ce8aF5Fed188B400B868d060"
},
{
"address": "eth:0xA75600b7914f78486b7d15E962A5247444A78445",
"type": "EOA",
"isVerified": true,
"name": "0xA756…8445",
"url": "https://etherscan.io/address/0xA75600b7914f78486b7d15E962A5247444A78445"
},
{
"address": "eth:0xd757D6A02cD5af9AEF163D7eB8034f75ac22B553",
"type": "EOA",
"isVerified": true,
"name": "0xd757…B553",
"url": "https://etherscan.io/address/0xd757D6A02cD5af9AEF163D7eB8034f75ac22B553"
},
{
"address": "eth:0xe2eB80C72Fa12Ba50B3bD6545709DC153D5b26D2",
"type": "EOA",
"isVerified": true,
"name": "0xe2eB…26D2",
"url": "https://etherscan.io/address/0xe2eB80C72Fa12Ba50B3bD6545709DC153D5b26D2"
}
],
"discoveryDrivenData": true
},
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * SuperchainConfig [via: SuperchainProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "SP1VerifierGatewayMultisig",
"name": "SP1VerifierGatewayMultisig",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGateway\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "eth:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://etherscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://etherscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "eth:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://etherscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "eth:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://etherscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "Celo Security Council",
"name": "Celo Security Council",
"description": "A Multisig with 6/8 threshold. \nMember of CeloProxyAdminOwner.\n",
"accounts": [
{
"address": "eth:0xC03172263409584f7860C25B6eB4985f0f6F4636",
"type": "Contract",
"isVerified": true,
"name": "0xC031…4636",
"url": "https://etherscan.io/address/0xC03172263409584f7860C25B6eB4985f0f6F4636"
}
],
"chain": "ethereum",
"references": [
{
"title": "Security Council members - Celo Docs",
"url": "https://docs.celo.org/home/protocol/security-council"
}
],
"participants": [
{
"address": "eth:0xB963047c5D875b7FE777339B1E6B61ac4df1f3e2",
"type": "EOA",
"isVerified": true,
"name": "0xB963…f3e2",
"url": "https://etherscan.io/address/0xB963047c5D875b7FE777339B1E6B61ac4df1f3e2"
},
{
"address": "eth:0x6FDb3eA186981aA32DD8e7B782d95733Ca3c13A1",
"type": "EOA",
"isVerified": true,
"name": "0x6FDb…13A1",
"url": "https://etherscan.io/address/0x6FDb3eA186981aA32DD8e7B782d95733Ca3c13A1"
},
{
"address": "eth:0xd0cE4D055d04bDA69b20815A3F796019bB68c6Db",
"type": "EOA",
"isVerified": true,
"name": "0xd0cE…c6Db",
"url": "https://etherscan.io/address/0xd0cE4D055d04bDA69b20815A3F796019bB68c6Db"
},
{
"address": "eth:0x148dfaC5dF51Ab1D7b02a3B53f1e2Da1F0A6B5Ca",
"type": "EOA",
"isVerified": true,
"name": "0x148d…B5Ca",
"url": "https://etherscan.io/address/0x148dfaC5dF51Ab1D7b02a3B53f1e2Da1F0A6B5Ca"
},
{
"address": "eth:0x5f70938aA8d2fd91EE3959998E5DdaACFb6Ffb85",
"type": "EOA",
"isVerified": true,
"name": "0x5f70…fb85",
"url": "https://etherscan.io/address/0x5f70938aA8d2fd91EE3959998E5DdaACFb6Ffb85"
},
{
"address": "eth:0xD1C635987B6Aa287361d08C6461491Fa9df087f2",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "https://etherscan.io/address/0xD1C635987B6Aa287361d08C6461491Fa9df087f2"
},
{
"address": "eth:0x2BE5E223E368E8c0f404a1f3Eb4eB09f99C8FaD8",
"type": "EOA",
"isVerified": true,
"name": "0x2BE5…FaD8",
"url": "https://etherscan.io/address/0x2BE5E223E368E8c0f404a1f3Eb4eB09f99C8FaD8"
},
{
"address": "eth:0xC91252606ff547d8B0345491CfABcCf0f6F0a29a",
"type": "EOA",
"isVerified": true,
"name": "0xC912…a29a",
"url": "https://etherscan.io/address/0xC91252606ff547d8B0345491CfABcCf0f6F0a29a"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 3/5 threshold. ",
"accounts": [
{
"address": "eth:0x218B5eC7482e072F6D47feb0463B3297eFb4bA56",
"type": "Contract",
"isVerified": true,
"name": "0x218B…bA56",
"url": "https://etherscan.io/address/0x218B5eC7482e072F6D47feb0463B3297eFb4bA56"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x42Ce94b705490D6AF9F9685aa87806719214aa15",
"type": "EOA",
"isVerified": true,
"name": "0x42Ce…aa15",
"url": "https://etherscan.io/address/0x42Ce94b705490D6AF9F9685aa87806719214aa15"
},
{
"address": "eth:0x9751f073FFf5e2a38860f347C6870E291E2caAC2",
"type": "EOA",
"isVerified": true,
"name": "0x9751…aAC2",
"url": "https://etherscan.io/address/0x9751f073FFf5e2a38860f347C6870E291E2caAC2"
},
{
"address": "eth:0xE15AFE000789160BE164D2FBA66EaDd6c6B81e7B",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "#GnosisSafe"
},
{
"address": "eth:0x3a7a62A4274Da0A5D0E4ba9278aEb1CC19a34154",
"type": "EOA",
"isVerified": true,
"name": "0x3a7a…4154",
"url": "https://etherscan.io/address/0x3a7a62A4274Da0A5D0E4ba9278aEb1CC19a34154"
},
{
"address": "eth:0xe9BaeFB1042A84174EB14148355C0934E29F8F10",
"type": "EOA",
"isVerified": true,
"name": "0xe9Ba…8F10",
"url": "https://etherscan.io/address/0xe9BaeFB1042A84174EB14148355C0934E29F8F10"
}
],
"discoveryDrivenData": true
},
{
"id": "EigenLayerOwningMultisig",
"name": "EigenLayerOwningMultisig",
"description": "A Multisig with 1/2 threshold. ",
"accounts": [
{
"address": "eth:0x369e6F597e22EaB55fFb173C6d9cD234BD699111",
"type": "Contract",
"isVerified": true,
"name": "0x369e…9111",
"url": "https://etherscan.io/address/0x369e6F597e22EaB55fFb173C6d9cD234BD699111"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xC06Fd4F821eaC1fF1ae8067b36342899b57BAa2d",
"type": "Contract",
"isVerified": true,
"name": "TimelockControllerOwning",
"url": "https://etherscan.io/address/0xC06Fd4F821eaC1fF1ae8067b36342899b57BAa2d"
},
{
"address": "eth:0xFEA47018D632A77bA579846c840d5706705Dc598",
"type": "Contract",
"isVerified": true,
"name": "EigenLayerCommunityMultisig",
"url": "#EigenLayerCommunityMultisig"
}
],
"discoveryDrivenData": true
},
{
"id": "EigenLayerPauserMultisig",
"name": "EigenLayerPauserMultisig",
"description": "A Multisig with 1/7 threshold. ",
"accounts": [
{
"address": "eth:0x5050389572f2d220ad927CcbeA0D406831012390",
"type": "Contract",
"isVerified": true,
"name": "0x5050…2390",
"url": "https://etherscan.io/address/0x5050389572f2d220ad927CcbeA0D406831012390"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x7474E1D80E844e6EdB430841DeEF702a6B747863",
"type": "EOA",
"isVerified": true,
"name": "EOA 14",
"url": "#EOA-10,-EOA-11,-EOA-12,-EOA-13,-EOA-14-and-EOA-15"
},
{
"address": "eth:0x45dcD05251F3327EcCd4766a9264DBDAab3A4065",
"type": "EOA",
"isVerified": true,
"name": "EOA 12",
"url": "#EOA-10,-EOA-11,-EOA-12,-EOA-13,-EOA-14-and-EOA-15"
},
{
"address": "eth:0x9b2C61521AF4AB9f4BE25297838F72a56462B578",
"type": "EOA",
"isVerified": true,
"name": "EOA 15",
"url": "#EOA-10,-EOA-11,-EOA-12,-EOA-13,-EOA-14-and-EOA-15"
},
{
"address": "eth:0x347660a632B0Aac5B70dCd5e6C3444a7C933a137",
"type": "EOA",
"isVerified": true,
"name": "EOA 11",
"url": "#EOA-10,-EOA-11,-EOA-12,-EOA-13,-EOA-14-and-EOA-15"
},
{
"address": "eth:0x2E158da11961426E2A1Cc9e79f40244486b6845C",
"type": "EOA",
"isVerified": true,
"name": "EOA 10",
"url": "#EOA-10,-EOA-11,-EOA-12,-EOA-13,-EOA-14-and-EOA-15"
},
{
"address": "eth:0xfD636E8EB3839cE82A58936b795043Da7DB0c734",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "#Safe"
},
{
"address": "eth:0x57af860e3a1C16641CDDDa92898266D2df7Dfa71",
"type": "EOA",
"isVerified": true,
"name": "EOA 13",
"url": "#EOA-10,-EOA-11,-EOA-12,-EOA-13,-EOA-14-and-EOA-15"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 1/1 threshold. \nMember of EigenLayerCommunityMultisig.\n",
"accounts": [
{
"address": "eth:0x7F68e9C17D22005688b8E6968fCe31e32B4B03d1",
"type": "Contract",
"isVerified": true,
"name": "0x7F68…03d1",
"url": "https://etherscan.io/address/0x7F68e9C17D22005688b8E6968fCe31e32B4B03d1"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x5e6a3ba74AF86211893e5dAf0EfdC92fdc52d3B5",
"type": "EOA",
"isVerified": true,
"name": "0x5e6a…d3B5",
"url": "https://etherscan.io/address/0x5e6a3ba74AF86211893e5dAf0EfdC92fdc52d3B5"
}
],
"discoveryDrivenData": true
},
{
"id": "EigenLayerBeigenOwningMultisig",
"name": "EigenLayerBeigenOwningMultisig",
"description": "A Multisig with 1/2 threshold. ",
"accounts": [
{
"address": "eth:0x942eaF324971440384e4cA0ffA39fC3bb369D67d",
"type": "Contract",
"isVerified": true,
"name": "0x942e…D67d",
"url": "https://etherscan.io/address/0x942eaF324971440384e4cA0ffA39fC3bb369D67d"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xFEA47018D632A77bA579846c840d5706705Dc598",
"type": "Contract",
"isVerified": true,
"name": "EigenLayerCommunityMultisig",
"url": "#EigenLayerCommunityMultisig"
},
{
"address": "eth:0x738130BC8eADe1Bc65A9c056DEa636835896bc53",
"type": "Contract",
"isVerified": true,
"name": "TimelockControllerBeigen",
"url": "https://etherscan.io/address/0x738130BC8eADe1Bc65A9c056DEa636835896bc53"
}
],
"discoveryDrivenData": true
},
{
"id": "GnosisSafe",
"name": "GnosisSafe",
"description": "A Multisig with 1/1 threshold. \nMember of Safe.\n",
"accounts": [
{
"address": "eth:0xE15AFE000789160BE164D2FBA66EaDd6c6B81e7B",
"type": "Contract",
"isVerified": true,
"name": "0xE15A…1e7B",
"url": "https://etherscan.io/address/0xE15AFE000789160BE164D2FBA66EaDd6c6B81e7B"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x43cCe9cC63BF73f80f94BBb553aE5b258FCA701C",
"type": "EOA",
"isVerified": true,
"name": "0x43cC…701C",
"url": "https://etherscan.io/address/0x43cCe9cC63BF73f80f94BBb553aE5b258FCA701C"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x0cd08c7f7A96AA9635f761b49216B9eA74C5cA60",
"type": "EOA",
"isVerified": true,
"name": "0x0cd0…cA60",
"url": "https://etherscan.io/address/0x0cd08c7f7A96AA9635f761b49216B9eA74C5cA60",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "EOA-2,-EOA-3-and-EOA-5",
"name": "EOA 2, EOA 3 and EOA 5",
"accounts": [
{
"address": "eth:0x454Ef2f69f91527856E06659f92a66f464C1ca4e",
"type": "EOA",
"isVerified": true,
"name": "0x454E…ca4e",
"url": "https://etherscan.io/address/0x454Ef2f69f91527856E06659f92a66f464C1ca4e",
"displayName": "EOA 2"
},
{
"address": "eth:0x5A49Bf6c5690E22dFff3eB37F7dd18254eC361ED",
"type": "EOA",
"isVerified": true,
"name": "0x5A49…61ED",
"url": "https://etherscan.io/address/0x5A49Bf6c5690E22dFff3eB37F7dd18254eC361ED",
"displayName": "EOA 3"
},
{
"address": "eth:0x8ED83c6Bb12E441Ca2C3a544F525d4a3Fb6484D8",
"type": "EOA",
"isVerified": true,
"name": "0x8ED8…84D8",
"url": "https://etherscan.io/address/0x8ED83c6Bb12E441Ca2C3a544F525d4a3Fb6484D8",
"displayName": "EOA 5"
}
],
"chain": "ethereum",
"description": "* Can interact with EigenDAServiceManager\n * can confirm batches to the DA bridge ",
"discoveryDrivenData": true
},
{
"id": "EOA-4-and-EOA-6",
"name": "EOA 4 and EOA 6",
"accounts": [
{
"address": "eth:0x8642473a123FE33b0aaE90bD8604eA1029417236",
"type": "EOA",
"isVerified": true,
"name": "0x8642…7236",
"url": "https://etherscan.io/address/0x8642473a123FE33b0aaE90bD8604eA1029417236",
"displayName": "EOA 4"
},
{
"address": "eth:0xD2Ee81Cf07B12140C793FcE5B26313CDd9d78eA8",
"type": "EOA",
"isVerified": true,
"name": "0xD2Ee…8eA8",
"url": "https://etherscan.io/address/0xD2Ee81Cf07B12140C793FcE5B26313CDd9d78eA8",
"displayName": "EOA 6"
}
],
"chain": "ethereum",
"description": "* Can interact with EjectionManager\n * can eject DA operators from a quorum ",
"discoveryDrivenData": true
},
{
"id": "EOA-7",
"name": "EOA 7",
"accounts": [
{
"address": "eth:0xe0550117Cb066D3b330eBd764B0d75D3BA378734",
"type": "EOA",
"isVerified": true,
"name": "0xe055…8734",
"url": "https://etherscan.io/address/0xe0550117Cb066D3b330eBd764B0d75D3BA378734",
"displayName": "EOA 7"
}
],
"chain": "ethereum",
"description": "* Can interact with RegistryCoordinator\n * can approve the replacement of churned operators from a quorum ",
"discoveryDrivenData": true
},
{
"id": "EOA-8",
"name": "EOA 8",
"accounts": [
{
"address": "eth:0xe8437B66E834B7CdC90cC5D98B8DD6e636b37D7a",
"type": "EOA",
"isVerified": true,
"name": "0xe843…7D7a",
"url": "https://etherscan.io/address/0xe8437B66E834B7CdC90cC5D98B8DD6e636b37D7a",
"displayName": "EOA 8"
}
],
"chain": "ethereum",
"description": "* Can interact with EigenDARelayRegistry\n * Can store and serve both unencoded blobs as well as encoded chunks ",
"discoveryDrivenData": true
},
{
"id": "EOA-9",
"name": "EOA 9",
"accounts": [
{
"address": "eth:0xF3d7C0D52fF8f4CF74A3CD9C53778516f4235bE9",
"type": "EOA",
"isVerified": true,
"name": "0xF3d7…5bE9",
"url": "https://etherscan.io/address/0xF3d7C0D52fF8f4CF74A3CD9C53778516f4235bE9",
"displayName": "EOA 9"
}
],
"chain": "ethereum",
"description": "* Can interact with EigenDADisperserRegistry\n * Can disperse EigenDA blobs to the EigenDA node operators ",
"discoveryDrivenData": true
},
{
"id": "EOA-10,-EOA-11,-EOA-12,-EOA-13,-EOA-14-and-EOA-15",
"name": "EOA 10, EOA 11, EOA 12, EOA 13, EOA 14 and EOA 15",
"accounts": [
{
"address": "eth:0x2E158da11961426E2A1Cc9e79f40244486b6845C",
"type": "EOA",
"isVerified": true,
"name": "0x2E15…845C",
"url": "https://etherscan.io/address/0x2E158da11961426E2A1Cc9e79f40244486b6845C",
"displayName": "EOA 10"
},
{
"address": "eth:0x347660a632B0Aac5B70dCd5e6C3444a7C933a137",
"type": "EOA",
"isVerified": true,
"name": "0x3476…a137",
"url": "https://etherscan.io/address/0x347660a632B0Aac5B70dCd5e6C3444a7C933a137",
"displayName": "EOA 11"
},
{
"address": "eth:0x45dcD05251F3327EcCd4766a9264DBDAab3A4065",
"type": "EOA",
"isVerified": true,
"name": "0x45dc…4065",
"url": "https://etherscan.io/address/0x45dcD05251F3327EcCd4766a9264DBDAab3A4065",
"displayName": "EOA 12"
},
{
"address": "eth:0x57af860e3a1C16641CDDDa92898266D2df7Dfa71",
"type": "EOA",
"isVerified": true,
"name": "0x57af…fa71",
"url": "https://etherscan.io/address/0x57af860e3a1C16641CDDDa92898266D2df7Dfa71",
"displayName": "EOA 13"
},
{
"address": "eth:0x7474E1D80E844e6EdB430841DeEF702a6B747863",
"type": "EOA",
"isVerified": true,
"name": "0x7474…7863",
"url": "https://etherscan.io/address/0x7474E1D80E844e6EdB430841DeEF702a6B747863",
"displayName": "EOA 14"
},
{
"address": "eth:0x9b2C61521AF4AB9f4BE25297838F72a56462B578",
"type": "EOA",
"isVerified": true,
"name": "0x9b2C…B578",
"url": "https://etherscan.io/address/0x9b2C61521AF4AB9f4BE25297838F72a56462B578",
"displayName": "EOA 15"
}
],
"chain": "ethereum",
"description": "Member of EigenLayerPauserMultisig.\n* Can interact with EigenDAServiceManager\n * can pause the DA bridge [via: EigenLayerPauserMultisig → PauserRegistry]",
"discoveryDrivenData": true
},
{
"id": "EOA-16-and-EOA-21",
"name": "EOA 16 and EOA 21",
"accounts": [
{
"address": "eth:0x0B7de3F505AD7Fc9b38207CD8E2Adc7a604BFe62",
"type": "EOA",
"isVerified": true,
"name": "0x0B7d…Fe62",
"url": "https://etherscan.io/address/0x0B7de3F505AD7Fc9b38207CD8E2Adc7a604BFe62",
"displayName": "EOA 16"
},
{
"address": "eth:0x79D14553D6B3484F5612272B43c219A882415d33",
"type": "EOA",
"isVerified": true,
"name": "0x79D1…5d33",
"url": "https://etherscan.io/address/0x79D14553D6B3484F5612272B43c219A882415d33",
"displayName": "EOA 21"
}
],
"chain": "ethereum",
"description": "* Can interact with AccessManager\n * Allowed to post new state roots of the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-17,-EOA-18,-EOA-19,-EOA-20,-EOA-22-and-EOA-23",
"name": "EOA 17, EOA 18, EOA 19, EOA 20, EOA 22 and EOA 23",
"accounts": [
{
"address": "eth:0x53E8EEAAE0731CCc888513695eC1Bd792ec975Ca",
"type": "EOA",
"isVerified": true,
"name": "0x53E8…75Ca",
"url": "https://etherscan.io/address/0x53E8EEAAE0731CCc888513695eC1Bd792ec975Ca",
"displayName": "EOA 17"
},
{
"address": "eth:0x56966549e0953e8d6E17Fcd3278b003d81f58cA8",
"type": "EOA",
"isVerified": true,
"name": "0x5696…8cA8",
"url": "https://etherscan.io/address/0x56966549e0953e8d6E17Fcd3278b003d81f58cA8",
"displayName": "EOA 18"
},
{
"address": "eth:0x7247204E46B381149d99acF88b318713fE12c32f",
"type": "EOA",
"isVerified": true,
"name": "0x7247…c32f",
"url": "https://etherscan.io/address/0x7247204E46B381149d99acF88b318713fE12c32f",
"displayName": "EOA 19"
},
{
"address": "eth:0x77E831A0A6a680335BB54937E085fF625dfE3f6F",
"type": "EOA",
"isVerified": true,
"name": "0x77E8…3f6F",
"url": "https://etherscan.io/address/0x77E831A0A6a680335BB54937E085fF625dfE3f6F",
"displayName": "EOA 20"
},
{
"address": "eth:0xc6E6836CaCB6fF0a843050DB7F64bb2ab864C463",
"type": "EOA",
"isVerified": true,
"name": "0xc6E6…C463",
"url": "https://etherscan.io/address/0xc6E6836CaCB6fF0a843050DB7F64bb2ab864C463",
"displayName": "EOA 22"
},
{
"address": "eth:0xe4ce4999b1C4C60C384AC96f370F00796ae9eC78",
"type": "EOA",
"isVerified": true,
"name": "0xe4ce…eC78",
"url": "https://etherscan.io/address/0xe4ce4999b1C4C60C384AC96f370F00796ae9eC78",
"displayName": "EOA 23"
}
],
"chain": "ethereum",
"description": "* Can interact with AccessManager\n * Allowed to challenge or delete state roots proposed by a Proposer ",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1792013664,
"baseTimestamp": 1792587967,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "5e3fa88b",
"date": "Wed, 21 Oct 2026 14:10:14 GMT",
"timestamp": 1792587967,
"description": "OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n+ \"eth:0xa564C83958f7F9fA5a255a540EF5e49445873104\"\n }\n```"
}
]
},
{
"id": "938fbaf0",
"date": "Tue, 20 Oct 2026 15:56:47 GMT",
"timestamp": 1791966035,
"description": "Config-only rerun on the same block number. Celo's own EigenDA cert verifier router is now discovered: a proxy under Celo's ProxyAdmin and CeloProxyAdminOwner that routes certificates to EigenDA's canonical verifier until block 25,624,000 and to Celo's own verifier after it. EigenDA's contracts are references to the shared-eigenda module.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract EigenDACertVerifierRouter (eth:0x2ea418AE1852bfC79e18B37E55F278F9c598AA08) [eigenda/EigenDACertVerifierRouter]\n +++ description: A router contract for DA Certificate verifiers. Verifier routing depends on the certificate reference block number.\n```\n\n```diff\n+ Status: CREATED\n contract EigenDACertVerifier (eth:0xd9C4dA492c60e92e2B53abB5Bea7Aa4b8aA5b181) [eigenda/EigenDACertVerifier]\n +++ description: A DA verifier contract for EigenDA V2 certificates. The verifier is used to verify the certificate against operator signatures and stake thresholds.\n```"
}
]
},
{
"id": "50f3fa3d",
"date": "Wed, 07 Oct 2026 14:45:55 GMT",
"timestamp": 1791383565,
"description": "The L2 predeploy implementations (L2CrossDomainMessenger, L2StandardBridge, L2ToL1MessagePasser, ProxyAdmin) are now verified. Each is templatized with the opstack/Layer2 templates: same logic as the existing shapes, differences are interface-typed calls (ProxyAdmin, L2CrossDomainMessenger), Celo's fee-currency OptimismMintableERC20 import (L2StandardBridge) and unused library functions (L2ToL1MessagePasser, identical bytecode). The L2 ProxyAdmin is renamed to L2ProxyAdmin and its owner, the CeloProxyAdminOwner L2 alias, now receives the predeploy upgrade permissions. The L1 counterpart fields of the L2 messenger and bridge are formatted as Ethereum addresses.\n\nthis also lists celo on the ossification page!",
"isHighSeverity": false,
"changeCount": 52,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n contract L2CrossDomainMessenger (celo:0x4200000000000000000000000000000000000007) [opstack/Layer2/L2CrossDomainMessenger] {\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n unverified:\n- true\n values.l1CrossDomainMessenger:\n+ \"eth:0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95\"\n values.MESSAGE_VERSION:\n+ 1\n values.MIN_GAS_CALLDATA_OVERHEAD:\n+ 16\n values.MIN_GAS_DYNAMIC_OVERHEAD_DENOMINATOR:\n+ 63\n values.MIN_GAS_DYNAMIC_OVERHEAD_NUMERATOR:\n+ 64\n values.OTHER_MESSENGER:\n+ \"eth:0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95\"\n values.otherMessenger:\n+ \"eth:0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95\"\n+++ severity: MEDIUM\n values.paused:\n+ false\n values.RELAY_CALL_OVERHEAD:\n+ 40000\n values.RELAY_CONSTANT_OVERHEAD:\n+ 200000\n values.RELAY_GAS_CHECK_BUFFER:\n+ 5000\n values.RELAY_RESERVED_GAS:\n+ 40000\n values.version:\n+ \"2.1.1-beta.4\"\n fieldMeta.paused:\n+ {\"severity\":\"MEDIUM\"}\n implementationNames.celo:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007:\n- \"\"\n+ \"L2CrossDomainMessenger\"\n template:\n+ \"opstack/Layer2/L2CrossDomainMessenger\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0xfb9b6038f92aab239c0d4ae0e732ef9ba91590fee841a84ed2aea05732414997\"]\n description:\n+ \"The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\"\n usedTypes:\n+ [{\"typeCaster\":\"ChainPrefix\",\"arg\":{\"prefix\":\"eth\"}}]\n }\n```\n\n```diff\n contract L2StandardBridge (celo:0x4200000000000000000000000000000000000010) [opstack/Layer2/L2StandardBridge] {\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n unverified:\n- true\n values.l1TokenBridge:\n+ \"eth:0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe\"\n values.messenger:\n+ \"celo:0x4200000000000000000000000000000000000007\"\n values.MESSENGER:\n+ \"celo:0x4200000000000000000000000000000000000007\"\n values.OTHER_BRIDGE:\n+ \"eth:0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe\"\n values.otherBridge:\n+ \"eth:0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe\"\n+++ severity: MEDIUM\n values.paused:\n+ false\n values.version:\n+ \"1.11.1-beta.3\"\n fieldMeta.paused:\n+ {\"severity\":\"MEDIUM\"}\n implementationNames.celo:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010:\n- \"\"\n+ \"L2StandardBridge\"\n template:\n+ \"opstack/Layer2/L2StandardBridge\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0x1d5e294663c579fbf93ce17a16e1ea24409366a02df03e17d4e64c499376ac68\"]\n description:\n+ \"The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\"\n usedTypes:\n+ [{\"typeCaster\":\"ChainPrefix\",\"arg\":{\"prefix\":\"eth\"}}]\n }\n```\n\n```diff\n contract L2ToL1MessagePasser (celo:0x4200000000000000000000000000000000000016) [opstack/Layer2/L2ToL1MessagePasser] {\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n unverified:\n- true\n values.MESSAGE_VERSION:\n+ 1\n values.version:\n+ \"1.1.1-beta.1\"\n implementationNames.celo:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016:\n- \"\"\n+ \"L2ToL1MessagePasser\"\n template:\n+ \"opstack/Layer2/L2ToL1MessagePasser\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0x139a7bcf87ffc29f97c88feb9de39cb420dd36a61aeddf64c01af03d5b91b4ef\"]\n description:\n+ \"Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\"\n }\n```\n\n```diff\n contract L2ProxyAdmin (celo:0x4200000000000000000000000000000000000018) [opstack/Layer2/L2ProxyAdmin] {\n +++ description: Administration contract for other contract proxies.\n name:\n- \"ProxyAdmin\"\n+ \"L2ProxyAdmin\"\n unverified:\n- true\n values.addressManager:\n+ \"celo:0x0000000000000000000000000000000000000000\"\n values.isUpgrading:\n+ false\n fieldMeta.owner.description:\n- \"L2 alias of the CeloProxyAdminOwner. It can upgrade the security-critical L2 predeploys.\"\n implementationNames.celo:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018:\n- \"\"\n+ \"ProxyAdmin\"\n receivedPermissions:\n- [{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000007\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000010\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000016\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000018\",\"role\":\"admin\"}]\n template:\n+ \"opstack/Layer2/L2ProxyAdmin\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0x7f6864f2ed905cae4ebf163729df004c7b19520740e00ee1710427ec016e60ce\"]\n description:\n+ \"Administration contract for other contract proxies.\"\n directlyReceivedPermissions:\n+ [{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000007\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000010\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000016\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000018\",\"role\":\"admin\"}]\n }\n```"
}
]
},
{
"id": "85ba7009",
"date": "Mon, 05 Oct 2026 16:18:47 GMT",
"timestamp": 1791217058,
"description": "OP Contracts Upgrade 20 (op-contracts/v8.0.0-rc.3): the shared SuperchainConfig implementation was upgraded v2.4.2 → v2.4.3 on 2026-09-24. Version bump only; no chain-specific contract changed. ([diff](https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504))",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n+ \"0xb74ed3aa109bd981b095c02d6e3bda2b2467d40e9d1060b4c89b01de32ebad3a\"\n values.$implementation:\n- \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n+ \"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$upgradeCount:\n- 8\n+ 12\n values.version:\n- \"2.4.2\"\n+ \"2.4.3\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n- \"SuperchainConfig\"\n implementationNames.eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "6e0670a0",
"date": "Wed, 23 Sep 2026 05:45:38 GMT",
"timestamp": 1789044398,
"description": "Refresh config-derived discovery metadata at the main-branch block.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (celo:0x4200000000000000000000000000000000000007) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (celo:0x4200000000000000000000000000000000000010) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (celo:0x4200000000000000000000000000000000000016) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (celo:0x4200000000000000000000000000000000000018) [N/A]\n +++ description: None\n```"
}
]
},
{
"id": "8c40c6c4",
"date": "Thu, 10 Sep 2026 12:48:15 GMT",
"timestamp": 1789044398,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "87bbad96",
"date": "Fri, 17 Jul 2026 10:09:08 GMT",
"timestamp": 1784282840,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "eee0aead",
"date": "Mon, 06 Jul 2026 07:57:04 GMT",
"timestamp": 1783324557,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling).",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "49f509dc",
"date": "Thu, 11 Jun 2026 11:09:14 GMT",
"timestamp": 1781176085,
"description": "OPSuccinct fault-proof upgrade to `celo/v2.1.0` (SP1 Hypercube).\n\nThe respected dispute game implementation (game type 42) was swapped on the\nDisputeGameFactory from `0xE7bd695…` to a new `0xfF1caC738…`,\nrotating the program verification keys:\n- aggregationVkey: `0x004f4bbc…0377` -> `0x00b04647…4be4`\n- rangeVkeyCommitment: `0x1fffeb5a…7c2c` -> `0x1dd60be4…5c94`\n\nBoth new vkeys reproduce from the `celo/v2.1.0` source (verified; steps in common/programHashes.ts).\nOn-chain game code change is small and confined to anchoring:\nthe starting output root now reads `ANCHOR_STATE_REGISTRY.getAnchorRoot()` instead of the deprecated\n`anchors(GAME_TYPE)`, and a new invariant requires a parent game's L2 block to be ahead of the anchor\n(handles game-type-switch / retirement recovery; prevents duplicate or stale-parent games). The proof\nsystem and proposer/challenger access control are unchanged.\ndiff: https://disco.l2beat.com/diff/eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1/eth:0xfF1caC738a5263736AF258e4b3D6a4970C6351FF\n\nSystemConfig minBaseFee raised 0.1 -> 0.2 gwei.\n\nRoutine shared OP governance rotations (not Celo-specific, tracked across OP Stack chains):\n- DeputyPauseModule deputy: `0x352f1de…` -> `0x2fA1503…`. Scheduled key hygiene.\n- OpFoundationUpgradeSafe member[6]: `0xc222ab08…` -> `0xa2A58E31…`. Member rotated.\n- Optimism Security Council member[12]: `0x9282722…` -> `0xcbC7dCe…`. Member rotated.",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.minBaseFee:\n- 100000000000\n+ 200000000000\n }\n```\n\n```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OPSuccinctFaultDisputeGame (eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1) [succinct/OPSuccinct/OPSuccinctFaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game42:\n- \"eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1\"\n+ \"eth:0xfF1caC738a5263736AF258e4b3D6a4970C6351FF\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract OPSuccinctFaultDisputeGame (eth:0xfF1caC738a5263736AF258e4b3D6a4970C6351FF) [succinct/OPSuccinct/OPSuccinctFaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "ee72d39a",
"date": "Fri, 24 Apr 2026 13:45:17 GMT",
"timestamp": 1777038237,
"description": "SystemConfig minBaseFee raised from 50 gwei to 100 gwei.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.minBaseFee:\n- 50000000000\n+ 100000000000\n }\n```"
}
]
},
{
"id": "1406fc68",
"date": "Fri, 17 Apr 2026 13:48:17 GMT",
"timestamp": 1776433625,
"description": "New SP1 Hypercube Plonk v6.1.0 verifier (0xc3c6dDD) registered in SP1VerifierGateway with selector 0x5a093a2f. Added to `activeVerifiers` and `allVerifiers`; SP1 proofs using this selector are now routed to the new contract. The verifier is the canonical Succinct deployment at that address on Ethereum mainnet (V6_1_0_SP1_VERIFIER_PLONK). Registered in sp1hypercube catalog.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SP1VerifierGateway (eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e) {\n +++ description: This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n+++ description: Verifiers that are routed to by their selector and not frozen.\n values.activeVerifiers.2:\n+ {\"selector\":\"0x5a093a2f\",\"verifier\":\"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A\"}\n+++ description: All verifiers that were ever routed to by this gateway.\n values.allVerifiers.11:\n+ {\"selector\":\"0x5a093a2f\",\"verifier\":\"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A)\n +++ description: None\n```"
}
]
},
{
"id": "4e1af81f",
"date": "Thu, 16 Apr 2026 09:31:01 GMT",
"timestamp": 1776331734,
"description": "SystemConfig minBaseFee raised from 25 gwei to 50 gwei. AccessManager (OPSuccinct proposer/challenger access control) owner transferred from an EIP-7702 delegator EOA (0x95FFAC, now deleted from discovery) to the Celo cLabs Multisig (0x9Eb44D).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.minBaseFee:\n- 25000000000\n+ 50000000000\n }\n```\n\n```diff\n- Status: DELETED\n EOA (eth:0x95FFAC468e37DdeEF407FfEf18f0cC9E86D8f13B)\n +++ description: None\n```\n\n```diff\n contract AccessManager (eth:0xF59a19c5578291cB7fd22618D16281aDf76f2816) {\n +++ description: Contract managing access control for proposers and challengers in OPSuccinct.\n values.owner:\n- \"eth:0x95FFAC468e37DdeEF407FfEf18f0cC9E86D8f13B\"\n+ \"eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d\"\n }\n```"
}
]
},
{
"id": "616cc8c8",
"date": "Wed, 01 Apr 2026 15:29:57 GMT",
"timestamp": 1775057323,
"description": "Major upgrade to op-contracts v5.x. Two-phase upgrade executed on 2026-03-31.\n\nOptimismPortal2 v3.14→v5.1.1, SystemConfig v2.5→v3.11, L1CrossDomainMessenger v2.6→v2.11, L1StandardBridge v2.3→v2.8, L1ERC721Bridge v2.4→v2.9, DisputeGameFactory v1.0.1→v1.3.\nSuperchainConfigLocal replaced by CeloSuperchainConfig - all contracts now reference the new local superchain config (0x25035d).\nGuardian changed to Celo cLabs Multisig (0x9Eb44D). SystemConfig maximumGasLimit increased from 200M to 500M.\nNew AnchorStateRegistry, DelayedWETH contracts, and redeployed dispute game implementations (FaultDisputeGame, PermissionedDisputeGame, OPSuccinctFaultDisputeGame). New MIPS64 contract.\n\nOptimismPortal2: [diff](https://disco.l2beat.com/diff/eth:0x215A5fF85308A72A772F09B520dA71D3520e9aC7/eth:0x2c431080Fc733E259654f3b91E39468d9A85Ac9b)\nSystemConfig: [diff](https://disco.l2beat.com/diff/eth:0x9c61C5a8FF9408B83ac92571278550097A9d2BB5/eth:0xe5Dc3C0a3489b81A6F3AE3bB49bF9CcBFB85a3dB)\nL1CrossDomainMessenger: [diff](https://disco.l2beat.com/diff/eth:0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212/eth:0xE45D2d835d0b2D3C7f4fEe1eaa19A068d0ba8A88)\nL1StandardBridge: [diff](https://disco.l2beat.com/diff/eth:0x28841965B26d41304905A836Da5C0921DA7dBB84/eth:0xfA707F45A23370d9154AF4457401274E38FA2d8A)\nL1ERC721Bridge: [diff](https://disco.l2beat.com/diff/eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9)\nDisputeGameFactory: [diff](https://disco.l2beat.com/diff/eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50)\nOptimismMintableERC20Factory: [diff](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x149BD036f5F57D0FF4b5F102C9d46E3c0EB2C016)\nMIPS (MIPS32→MIPS64): [diff](https://disco.l2beat.com/diff/eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\nFaultDisputeGame: [diff](https://disco.l2beat.com/diff/eth:0xcc744008aD3306a716fED303b0A6eA5b5d0690a5/eth:0x25Bd434Aa96EE31D6661c89CF4290281f1ed856F)\nPermissionedDisputeGame: [diff](https://disco.l2beat.com/diff/eth:0x25c2e07A24a74F9FA54f7CA5ddAfedB2264a5d02/eth:0xa83a2E8595b602aD98C928E9cD123c0E05C84FD9)\nOPSuccinctFaultDisputeGame: [diff](https://disco.l2beat.com/diff/eth:0xc5bd131ceAEb72F15C66418bc2668332AB99DE37/eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1)",
"isHighSeverity": true,
"changeCount": 128,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1CrossDomainMessenger (eth:0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x6831ab5545aca99fd05c64f6718bff61dc5cbdb7d5b248257ea6e95a132024c3\"\n+ \"0x9db9942f58670bab2d2f04cd659483dd804b63208c5c83a704972a47b551b85e\"\n values.$implementation:\n- \"eth:0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212\"\n+ \"eth:0xE45D2d835d0b2D3C7f4fEe1eaa19A068d0ba8A88\"\n values.$pastUpgrades.3:\n+ [\"2026-03-31T07:05:23.000Z\",\"0x66a97a8a6934d37b3ed077e788fb02fbce53e02ad7d95d3159ba6347ede395c8\",[\"eth:0xA183A771B6c5F6e88cd351bBDC40E1ECD4521Cad\"]]\n values.$pastUpgrades.4:\n+ [\"2026-03-31T07:08:11.000Z\",\"0xce8f5d953104dbe1a793fdcf76a16290f1c8765f87fcef729c2ad7e2e95a07dc\",[\"eth:0xE45D2d835d0b2D3C7f4fEe1eaa19A068d0ba8A88\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.superchainConfig:\n- \"eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33\"\n+ \"eth:0x25035d2233d099f0BA710ca1e5a3834842870C66\"\n values.version:\n- \"2.6.0\"\n+ \"2.11.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x783A434532Ee94667979213af1711505E8bFE374\"\n values.proxyAdminOwner:\n+ \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n implementationNames.eth:0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xE45D2d835d0b2D3C7f4fEe1eaa19A068d0ba8A88:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x25c2e07A24a74F9FA54f7CA5ddAfedB2264a5d02)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x3C519816C5BdC0a0199147594F83feD4F5847f13) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.3:\n+ [\"2026-03-31T07:05:23.000Z\",\"0x66a97a8a6934d37b3ed077e788fb02fbce53e02ad7d95d3159ba6347ede395c8\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$pastUpgrades.4:\n+ [\"2026-03-31T07:08:11.000Z\",\"0xce8f5d953104dbe1a793fdcf76a16290f1c8765f87fcef729c2ad7e2e95a07dc\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.superchainConfig:\n- \"eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33\"\n+ \"eth:0x25035d2233d099f0BA710ca1e5a3834842870C66\"\n values.version:\n- \"2.4.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x783A434532Ee94667979213af1711505E8bFE374\"\n values.proxyAdminOwner:\n+ \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n values.systemConfig:\n+ \"eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract CeloProxyAdminOwner (eth:0x4092A77bAF58fef0309452cEaCb09221e556E112) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"eth:0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x25035d2233d099f0BA710ca1e5a3834842870C66\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x783A434532Ee94667979213af1711505E8bFE374\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x8fE58d2168b5412Cf1Bd212cE6137f8b7300222d\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x783A434532Ee94667979213af1711505E8bFE374\"}]}\n receivedPermissions.8.from:\n- \"eth:0x9c314E8057025F2982aa4B3923Abd741A8e8DE91\"\n+ \"eth:0x91FA5B653aFe81A79890A93ad83768A04cc011b4\"\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9F18D91949731E766f294A14027bBFE8F28328CC\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x783A434532Ee94667979213af1711505E8bFE374\"}]}\n receivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x783A434532Ee94667979213af1711505E8bFE374\"}]}\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x783A434532Ee94667979213af1711505E8bFE374\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xC700d16428cF5Bfa71D91E66fA54Fc11A73f2552\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x783A434532Ee94667979213af1711505E8bFE374\"}]}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x6f0E4f1EB98A52EfaCF7BE11d48B9d9d6510A906) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x149BD036f5F57D0FF4b5F102C9d46E3c0EB2C016\"\n values.$pastUpgrades.2:\n+ [\"2026-03-31T07:08:11.000Z\",\"0xce8f5d953104dbe1a793fdcf76a16290f1c8765f87fcef729c2ad7e2e95a07dc\",[\"eth:0x149BD036f5F57D0FF4b5F102C9d46E3c0EB2C016\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x149BD036f5F57D0FF4b5F102C9d46E3c0EB2C016:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x783A434532Ee94667979213af1711505E8bFE374) {\n +++ description: None\n directlyReceivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x25035d2233d099f0BA710ca1e5a3834842870C66\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x8fE58d2168b5412Cf1Bd212cE6137f8b7300222d\",\"role\":\"admin\"}\n directlyReceivedPermissions.6.from:\n- \"eth:0x9c314E8057025F2982aa4B3923Abd741A8e8DE91\"\n+ \"eth:0x91FA5B653aFe81A79890A93ad83768A04cc011b4\"\n directlyReceivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9F18D91949731E766f294A14027bBFE8F28328CC\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a\",\"role\":\"admin\"}\n directlyReceivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33\",\"role\":\"admin\"}\n directlyReceivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xC700d16428cF5Bfa71D91E66fA54Fc11A73f2552\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SystemConfig (eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x91eb7a11bc6b22871adb21c12699c6d110b59393d358aa82559927584f1bf804\"\n+ \"0xec811d054ae19d6bf9a5a9be07ae9ec060a10d411e1cd81528489e4450a5e313\"\n values.$implementation:\n- \"eth:0x9c61C5a8FF9408B83ac92571278550097A9d2BB5\"\n+ \"eth:0xe5Dc3C0a3489b81A6F3AE3bB49bF9CcBFB85a3dB\"\n values.$pastUpgrades.3:\n+ [\"2026-03-31T07:05:23.000Z\",\"0x66a97a8a6934d37b3ed077e788fb02fbce53e02ad7d95d3159ba6347ede395c8\",[\"eth:0xa9c79551eA70D311f5153a27Cba12396e5128b9c\"]]\n values.$pastUpgrades.4:\n+ [\"2026-03-31T07:08:11.000Z\",\"0xce8f5d953104dbe1a793fdcf76a16290f1c8765f87fcef729c2ad7e2e95a07dc\",[\"eth:0xe5Dc3C0a3489b81A6F3AE3bB49bF9CcBFB85a3dB\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.opStackDA.isUsingEigenDA:\n- \"v2\"\n+ \"v3\"\n values.owner:\n- \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n+ \"eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d\"\n values.version:\n- \"2.5.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 1\n values.guardian:\n+ \"eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d\"\n values.initVersion:\n+ 3\n values.l2ChainId:\n+ 42220\n values.minBaseFee:\n+ 25000000000\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x783A434532Ee94667979213af1711505E8bFE374\"\n values.proxyAdminOwner:\n+ \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n values.superchainConfig:\n+ \"eth:0x25035d2233d099f0BA710ca1e5a3834842870C66\"\n implementationNames.eth:0x9c61C5a8FF9408B83ac92571278550097A9d2BB5:\n- \"SystemConfig\"\n implementationNames.eth:0xe5Dc3C0a3489b81A6F3AE3bB49bF9CcBFB85a3dB:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33\",\"description\":\"act as an override that pauses the SuperchainConfigLocal.\",\"role\":\".superchainConfig\",\"condition\":\"if the (global) eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C is paused.\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x9c314E8057025F2982aa4B3923Abd741A8e8DE91)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract L1StandardBridge (eth:0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcc038053dba84fe88b91f9062f3927165798c810fed5cb953c2045de301daf95\"\n+ \"0xf687ceb2d3a3ac5806864ef0c440ed6639eb8570b227e7bdb1748d7d24be0d18\"\n values.$implementation:\n- \"eth:0x28841965B26d41304905A836Da5C0921DA7dBB84\"\n+ \"eth:0xfA707F45A23370d9154AF4457401274E38FA2d8A\"\n values.superchainConfig:\n- \"eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33\"\n+ \"eth:0x25035d2233d099f0BA710ca1e5a3834842870C66\"\n values.version:\n- \"2.3.0\"\n+ \"2.8.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x783A434532Ee94667979213af1711505E8bFE374\"\n values.proxyAdminOwner:\n+ \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n implementationNames.eth:0x28841965B26d41304905A836Da5C0921DA7dBB84:\n- \"L1StandardBridge\"\n implementationNames.eth:0xfA707F45A23370d9154AF4457401274E38FA2d8A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract Celo cLabs Multisig (eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0x9F18D91949731E766f294A14027bBFE8F28328CC)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract SuperchainConfigLocal (eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33)\n +++ description: A local contract acting as source of truth for the paused status and the guardian role for the local chain.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract OPSuccinctFaultDisputeGame (eth:0xc5bd131ceAEb72F15C66418bc2668332AB99DE37)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the 42.\n sourceHashes.1:\n- \"0x61779e0cf81852e74f9420c1500237e5c588b39f95b03369daca20d2e624b741\"\n+ \"0x2747309564448749b20795c515708ee56536208ae4dadd4096a4819135b2b71f\"\n values.$implementation:\n- \"eth:0x215A5fF85308A72A772F09B520dA71D3520e9aC7\"\n+ \"eth:0x2c431080Fc733E259654f3b91E39468d9A85Ac9b\"\n values.$pastUpgrades.4:\n+ [\"2026-03-31T07:05:23.000Z\",\"0x66a97a8a6934d37b3ed077e788fb02fbce53e02ad7d95d3159ba6347ede395c8\",[\"eth:0x661DfA933f77148Dc8d84b06646a2868D7ae5DeB\"]]\n values.$pastUpgrades.5:\n+ [\"2026-03-31T07:08:11.000Z\",\"0xce8f5d953104dbe1a793fdcf76a16290f1c8765f87fcef729c2ad7e2e95a07dc\",[\"eth:0x2c431080Fc733E259654f3b91E39468d9A85Ac9b\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.guardian:\n- \"eth:0x6E226fa22e5F19363d231D3FA048aaBa73CC1f47\"\n+ \"eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d\"\n values.respectedGameTypeUpdatedAt:\n- 1741879583\n+ 1774940723\n values.superchainConfig:\n- \"eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33\"\n+ \"eth:0x25035d2233d099f0BA710ca1e5a3834842870C66\"\n values.version:\n- \"3.14.0\"\n+ \"5.1.1\"\n values.anchorStateRegistry:\n+ \"eth:0x8fE58d2168b5412Cf1Bd212cE6137f8b7300222d\"\n values.ethLockbox:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x783A434532Ee94667979213af1711505E8bFE374\"\n values.proxyAdminOwner:\n+ \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n implementationNames.eth:0x215A5fF85308A72A772F09B520dA71D3520e9aC7:\n- \"OptimismPortal2\"\n implementationNames.eth:0x2c431080Fc733E259654f3b91E39468d9A85Ac9b:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0xcc744008aD3306a716fED303b0A6eA5b5d0690a5)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.2:\n+ [\"2026-03-31T07:05:23.000Z\",\"0x66a97a8a6934d37b3ed077e788fb02fbce53e02ad7d95d3159ba6347ede395c8\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$pastUpgrades.3:\n+ [\"2026-03-31T07:08:11.000Z\",\"0xce8f5d953104dbe1a793fdcf76a16290f1c8765f87fcef729c2ad7e2e95a07dc\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 2\n+ 4\n+++ severity: HIGH\n values.game42:\n- \"eth:0xc5bd131ceAEb72F15C66418bc2668332AB99DE37\"\n+ \"eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1\"\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0xcc744008aD3306a716fED303b0A6eA5b5d0690a5\"\n+ \"eth:0x25Bd434Aa96EE31D6661c89CF4290281f1ed856F\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x25c2e07A24a74F9FA54f7CA5ddAfedB2264a5d02\"\n+ \"eth:0xa83a2E8595b602aD98C928E9cD123c0E05C84FD9\"\n values.permissionedGameArgs:\n- \"EXPECT_REVERT\"\n+ \"0x\"\n values.version:\n- \"1.0.1\"\n+ \"1.3.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x783A434532Ee94667979213af1711505E8bFE374\"\n values.proxyAdminOwner:\n+ \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract CeloSuperchainConfig (eth:0x25035d2233d099f0BA710ca1e5a3834842870C66)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x25Bd434Aa96EE31D6661c89CF4290281f1ed856F)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0x8fE58d2168b5412Cf1Bd212cE6137f8b7300222d)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the 42.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x91FA5B653aFe81A79890A93ad83768A04cc011b4)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xa83a2E8595b602aD98C928E9cD123c0E05C84FD9)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xC700d16428cF5Bfa71D91E66fA54Fc11A73f2552)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract OPSuccinctFaultDisputeGame (eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "9ff6bb3d",
"date": "Wed, 25 Mar 2026 10:06:58 GMT",
"timestamp": 1774433146,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA. Additionally, two signers of the Celo cLabs Multisig (members 3 and 4) were rotated.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract Celo cLabs Multisig (eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d) {\n +++ description: None\n values.$members.3:\n- \"eth:0x326b764CEb4FE11e70af538D3CB997Bb2e16659d\"\n+ \"eth:0x812f7C111476D45998e6D0C615B41c180C362263\"\n values.$members.4:\n- \"eth:0x48139512241D32047760E7481eBf0b6BF3390f8F\"\n+ \"eth:0x74bc9E59B52117Ccf5Ee457cFb0CBE83b339A065\"\n }\n```"
}
]
},
{
"id": "46eb36f1",
"date": "Thu, 05 Mar 2026 15:16:57 GMT",
"timestamp": 1772723699,
"description": "Celo Security Council member rotation: signer at index 7 changed from `0xc3E9...` to `0xC912...`. Threshold remains 6 of 8.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Celo Security Council (eth:0xC03172263409584f7860C25B6eB4985f0f6F4636) {\n +++ description: None\n values.$members.7:\n- \"eth:0xc3E966E79eF1aA4751221F55fB8A36589C24C0cA\"\n+ \"eth:0xC91252606ff547d8B0345491CfABcCf0f6F0a29a\"\n }\n```"
}
]
},
{
"id": "dc344c40",
"date": "Fri, 27 Feb 2026 13:21:00 GMT",
"timestamp": 1772198382,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "4ba24ed3",
"date": "Thu, 19 Feb 2026 10:15:36 GMT",
"timestamp": 1771496067,
"description": "New SP1Verifier (v6.0.0) registered on the SP1VerifierGateway with selector `0xbb1a6f29`.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SP1VerifierGateway (eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e) {\n +++ description: This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n+++ description: Verifiers that are routed to by their selector and not frozen.\n values.activeVerifiers.1:\n+ {\"selector\":\"0xbb1a6f29\",\"verifier\":\"eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C\"}\n+++ description: All verifiers that were ever routed to by this gateway.\n values.allVerifiers.10:\n+ {\"selector\":\"0xbb1a6f29\",\"verifier\":\"eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C)\n +++ description: Verifier contract for SP1 proofs (v6.0.0).\n```"
}
]
},
{
"id": "953d9862",
"date": "Tue, 10 Feb 2026 15:08:46 GMT",
"timestamp": 1770736055,
"description": "OPSuccinctFaultDisputeGame instance replaced in DisputeGameFactory (game42). Same contract version (1.0.0) but with updated SP1 proving keys: new aggregationVkey and rangeVkeyCommitment. The rollupConfigHash remains unchanged.",
"isHighSeverity": true,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract OPSuccinctFaultDisputeGame (eth:0x113f434f82FF82678AE7f69Ea122791FE1F6b73e)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game42:\n- \"eth:0x113f434f82FF82678AE7f69Ea122791FE1F6b73e\"\n+ \"eth:0xc5bd131ceAEb72F15C66418bc2668332AB99DE37\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract OPSuccinctFaultDisputeGame (eth:0xc5bd131ceAEb72F15C66418bc2668332AB99DE37)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "45b1acb6",
"date": "Mon, 26 Jan 2026 09:08:14 GMT",
"timestamp": 1769272310,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "77237f4b",
"date": "Thu, 18 Dec 2025 08:55:55 GMT",
"timestamp": 1766048053,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "4c71daa7",
"date": "Fri, 12 Dec 2025 14:38:10 GMT",
"timestamp": 1765550224,
"description": "Jello hardfork, introducing OP Succinct Lite and DA verification through Hokulea.",
"isHighSeverity": true,
"changeCount": 12,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AnchorStateRegistry (eth:0x9F18D91949731E766f294A14027bBFE8F28328CC) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n values.respectedGameType:\n- 1\n+ 42\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the 42.\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the 42.\"\n values.RespectedGameString:\n- \"PermissionedDisputeGame\"\n+ 42\n+++ severity: HIGH\n values.respectedGameType:\n- 1\n+ 42\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game42:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x113f434f82FF82678AE7f69Ea122791FE1F6b73e\"\n values.initBondGame42:\n- 0\n+ \"10000000000000000\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459)\n +++ description: Verifier contract for SP1 proofs (v5.0.0).\n```\n\n```diff\n+ Status: CREATED\n contract OPSuccinctFaultDisputeGame (eth:0x113f434f82FF82678AE7f69Ea122791FE1F6b73e)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGateway (eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e)\n +++ description: This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n```\n\n```diff\n+ Status: CREATED\n EOA (eth:0x95FFAC468e37DdeEF407FfEf18f0cC9E86D8f13B)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGatewayMultisig (eth:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AccessManager (eth:0xF59a19c5578291cB7fd22618D16281aDf76f2816)\n +++ description: Contract managing access control for proposers and challengers in OPSuccinct.\n```"
}
]
},
{
"id": "7c5573d1",
"date": "Fri, 28 Nov 2025 09:44:50 GMT",
"timestamp": 1764322969,
"description": "Jovian upgrade SuperchainConfig,",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "172caa8c",
"date": "Mon, 20 Oct 2025 15:24:08 GMT",
"timestamp": 1760973770,
"description": "OpFoundationUpgradeSafe multisig member change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "37c7ef6b",
"date": "Mon, 18 Aug 2025 09:02:02 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "c8375af0",
"date": "Mon, 28 Jul 2025 05:51:10 GMT",
"timestamp": 1753681870,
"description": "Op stack gov upgrade: SuperchainConfig with pause expiry and DeputyPausModule. See optimism diffHistory for details.",
"isHighSeverity": true,
"changeCount": 26,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```"
}
]
},
{
"id": "561e9d8d",
"date": "Mon, 21 Jul 2025 10:06:37 GMT",
"timestamp": 1753092397,
"description": "MS single member change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (0xD1C635987B6Aa287361d08C6461491Fa9df087f2) {\n +++ description: None\n values.$members.0:\n- \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n+ \"eth:0x4F0b8e0f51dE4dE1bA0bb59876e1A9bC157a4751\"\n }\n```"
}
]
},
{
"id": "4dd1f490",
"date": "Mon, 14 Jul 2025 12:44:54 GMT",
"timestamp": 1752497094,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 35,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Celo native asset Token (0x057898f3C43F129a17517B9056D23851F124b19f)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x25c2e07A24a74F9FA54f7CA5ddAfedB2264a5d02)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x3C519816C5BdC0a0199147594F83feD4F5847f13)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract CeloProxyAdminOwner (0x4092A77bAF58fef0309452cEaCb09221e556E112)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x55093104b76FAA602F9d6c35A5FFF576bE78d753)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x6f0E4f1EB98A52EfaCF7BE11d48B9d9d6510A906)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x783A434532Ee94667979213af1711505E8bFE374)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x89E31965D844a309231B1f17759Ccaf1b7c09861)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x9c314E8057025F2982aa4B3923Abd741A8e8DE91)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract Celo Multisig 2 (0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x9F18D91949731E766f294A14027bBFE8F28328CC)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfigLocal (0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33)\n +++ description: A local contract acting as source of truth for the paused status and the guardian role for the local chain.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract Celo Multisig 1 (0xC03172263409584f7860C25B6eB4985f0f6F4636)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xcc744008aD3306a716fED303b0A6eA5b5d0690a5)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (0xD1C635987B6Aa287361d08C6461491Fa9df087f2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```"
}
]
},
{
"id": "a6b1d9a2",
"date": "Wed, 09 Jul 2025 15:55:00 GMT",
"timestamp": 1752076500,
"description": "Isthmus upgrade - Celo edition (non-standard contracts), added all templates.\n\nno significant changes apart from the standard isthmus ones!\n\n- OptimismPortal2: \n - diff with prev: https://disco.l2beat.com/diff/eth:0x3Da872782f9fB696fD72Af2ec9313a56bDA6f06d/eth:0x215A5fF85308A72A772F09B520dA71D3520e9aC7\n - diff with op stack standard @ same version (adds custom gastoken): https://disco.l2beat.com/diff/eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4/eth:0x215A5fF85308A72A772F09B520dA71D3520e9aC7\n- SystemConfig: https://disco.l2beat.com/diff/eth:0x911EA44d22EB903515378625dA3a0E09D2E1B074/eth:0x9c61C5a8FF9408B83ac92571278550097A9d2BB5\n- L1StandardBridge: https://disco.l2beat.com/diff/eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A/eth:0x28841965B26d41304905A836Da5C0921DA7dBB84\n- L1CDM: https://disco.l2beat.com/diff/eth:0x3d5a67747dE7E09b0d71F5d782c8b45f6307B9Fd/eth:0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212",
"isHighSeverity": true,
"changeCount": 90,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (0x1204884E697efD929729B9A717Ea14496298A689) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0x2bCeB78Fda0d5e3bfA7F4B8c499aa74bDf8D7755\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x63e8f4931670a580e9e4b27d106235189507cc22a57c6c7aecd8f8a79d8d08ee\"\n+ \"0x6831ab5545aca99fd05c64f6718bff61dc5cbdb7d5b248257ea6e95a132024c3\"\n values.$implementation:\n- \"0xDE47b113E4157ed15fA46c5572562aC11146c5eA\"\n+ \"0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212\"\n values.$pastUpgrades.1:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0x3d5a67747dE7E09b0d71F5d782c8b45f6307B9Fd\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-07T10:27:11.000Z\",\"0xa9816c6dcbbe126e3b5c56f26ecfeebcb2dc03ab78535a7d5ed2bcdeea7ccf39\",[\"0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"2.4.1-beta.2\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.0xDE47b113E4157ed15fA46c5572562aC11146c5eA:\n- \"L1CrossDomainMessenger\"\n implementationNames.0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x2bCeB78Fda0d5e3bfA7F4B8c499aa74bDf8D7755)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (0x3C519816C5BdC0a0199147594F83feD4F5847f13) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x8d03a6303efd76759aaa7d52a65a151d851750f2f816678bf97961d413d4b9c0\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"0xad5D111e961A5E451C8172034115bcc0551b6551\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.1:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-07T10:27:11.000Z\",\"0xa9816c6dcbbe126e3b5c56f26ecfeebcb2dc03ab78535a7d5ed2bcdeea7ccf39\",[\"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"2.2.0-beta.1\"\n+ \"2.4.0\"\n implementationNames.0xad5D111e961A5E451C8172034115bcc0551b6551:\n- \"L1ERC721Bridge\"\n implementationNames.0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract CeloProxyAdminOwner (0x4092A77bAF58fef0309452cEaCb09221e556E112) {\n +++ description: None\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x057898f3C43F129a17517B9056D23851F124b19f\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x783A434532Ee94667979213af1711505E8bFE374\"}]}\n receivedPermissions.9.from:\n- \"eth:0xa24Bf5Bc02997f63da4e2C7F802067e05a102504\"\n+ \"eth:0x9F18D91949731E766f294A14027bBFE8F28328CC\"\n }\n```\n\n```diff\n EOA (0x6b145Ebf66602Ec524b196426B46631259689583) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"challenge\",\"from\":\"eth:0x2bCeB78Fda0d5e3bfA7F4B8c499aa74bDf8D7755\",\"role\":\".challenger\"}]\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x6f0E4f1EB98A52EfaCF7BE11d48B9d9d6510A906) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0xa4526e33eb750144164c05badf980525f867cae82e7db6e108b17aeb61b99924\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"0x0B3004b843dA84FE5D4C46AeB5E80F826e5CD69A\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.1:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.10.1-beta.4\"\n+ \"1.10.1\"\n implementationNames.0x0B3004b843dA84FE5D4C46AeB5E80F826e5CD69A:\n- \"OptimismMintableERC20Factory\"\n implementationNames.0x5493f4677A186f64805fe7317D6993ba4863988F:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x783A434532Ee94667979213af1711505E8bFE374) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x057898f3C43F129a17517B9056D23851F124b19f\",\"role\":\"admin\"}\n directlyReceivedPermissions.7.from:\n- \"eth:0xa24Bf5Bc02997f63da4e2C7F802067e05a102504\"\n+ \"eth:0x9F18D91949731E766f294A14027bBFE8F28328CC\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x876e8eeE292F23F163C9bCA406eDD65bEAEFBEBC)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract SystemConfig (0x89E31965D844a309231B1f17759Ccaf1b7c09861) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n+ \"0xde1dd3a62e9db0a611ef7256805eb375a1fa1a6c8fa0ba6afc44df5b3cd7d8be\"\n values.$implementation:\n- \"0x7b5a84F818B6fC3F079EE87c214F369062188D2A\"\n+ \"0x9c61C5a8FF9408B83ac92571278550097A9d2BB5\"\n values.$pastUpgrades.1:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0x911EA44d22EB903515378625dA3a0E09D2E1B074\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-07T10:27:11.000Z\",\"0xa9816c6dcbbe126e3b5c56f26ecfeebcb2dc03ab78535a7d5ed2bcdeea7ccf39\",[\"0x9c61C5a8FF9408B83ac92571278550097A9d2BB5\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95\",\"l1ERC721Bridge\":\"0x3C519816C5BdC0a0199147594F83feD4F5847f13\",\"l1StandardBridge\":\"0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe\",\"disputeGameFactory\":\"0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683\",\"optimismPortal\":\"0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC\",\"optimismMintableERC20Factory\":\"0x6f0E4f1EB98A52EfaCF7BE11d48B9d9d6510A906\",\"gasPayingToken\":\"0x057898f3C43F129a17517B9056D23851F124b19f\"}\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n implementationNames.0x7b5a84F818B6fC3F079EE87c214F369062188D2A:\n- \"SystemConfig\"\n implementationNames.0x9c61C5a8FF9408B83ac92571278550097A9d2BB5:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x8A12E1754f729C0856E2E32D4821577f0B245bfA)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract DelayedWETH (0x9c314E8057025F2982aa4B3923Abd741A8e8DE91) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0x2301d347829ef824a15e141e20cb7f1567a2425ebc534de28ee1f56ca3d48189\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0xDFBB69681F217aB3221E94AFCA4fEa51f5c6a779\"\n+ \"0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796\"\n values.$pastUpgrades.1:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.2.0-beta.3\"\n+ \"1.3.0\"\n implementationNames.0xDFBB69681F217aB3221E94AFCA4fEa51f5c6a779:\n- \"DelayedWETH\"\n implementationNames.0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796:\n+ \"DelayedWETH\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x660d3bcc53c06135b0810d3b5ca347ffde4e6a49e66f0bb081771b45d0baa1e5\"\n+ \"0xcc038053dba84fe88b91f9062f3927165798c810fed5cb953c2045de301daf95\"\n values.$implementation:\n- \"0x5e21245e97A7BB4733f72c412DcdDCED1f408587\"\n+ \"0x28841965B26d41304905A836Da5C0921DA7dBB84\"\n values.version:\n- \"2.2.1-beta.2\"\n+ \"2.3.0\"\n implementationNames.0x5e21245e97A7BB4733f72c412DcdDCED1f408587:\n- \"L1StandardBridge\"\n implementationNames.0x28841965B26d41304905A836Da5C0921DA7dBB84:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0xa24Bf5Bc02997f63da4e2C7F802067e05a102504)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract DelayedWETH (0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0x2301d347829ef824a15e141e20cb7f1567a2425ebc534de28ee1f56ca3d48189\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0xDFBB69681F217aB3221E94AFCA4fEa51f5c6a779\"\n+ \"0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796\"\n values.$pastUpgrades.1:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.2.0-beta.3\"\n+ \"1.3.0\"\n implementationNames.0xDFBB69681F217aB3221E94AFCA4fEa51f5c6a779:\n- \"DelayedWETH\"\n implementationNames.0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796:\n+ \"DelayedWETH\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x3428a8cdf5cc8628eb5234317ac9c44a21c8171ebfea260dfae5ad3c629b9e3b\"\n+ \"0x61779e0cf81852e74f9420c1500237e5c588b39f95b03369daca20d2e624b741\"\n values.$implementation:\n- \"0x3Da872782f9fB696fD72Af2ec9313a56bDA6f06d\"\n+ \"0x215A5fF85308A72A772F09B520dA71D3520e9aC7\"\n values.$pastUpgrades.2:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0xBeD463769920dAc19a7E2aDf47B6C6Bb6480bD97\"]]\n values.$pastUpgrades.3:\n+ [\"2025-07-07T10:27:11.000Z\",\"0xa9816c6dcbbe126e3b5c56f26ecfeebcb2dc03ab78535a7d5ed2bcdeea7ccf39\",[\"0x215A5fF85308A72A772F09B520dA71D3520e9aC7\"]]\n values.$upgradeCount:\n- 2\n+ 4\n values.version:\n- \"3.11.0-beta.6\"\n+ \"3.14.0\"\n implementationNames.0x3Da872782f9fB696fD72Af2ec9313a56bDA6f06d:\n- \"OptimismPortal2\"\n implementationNames.0x215A5fF85308A72A772F09B520dA71D3520e9aC7:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0xfaB0F466955D87e596Ca87E20c505bB6470D0DC4)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract DisputeGameFactory (0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0xe74de8a6ebfd4ec156cf8699ce372d14df81ea1ce6e0a4b4460f1b3575aa658a\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"0xe8b013bEE7Bd603e2f0B4825638559d645A4C4CB\"\n+ \"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.0:\n- \"0x876e8eeE292F23F163C9bCA406eDD65bEAEFBEBC\"\n+ \"0xcc744008aD3306a716fED303b0A6eA5b5d0690a5\"\n values.gameImpls.1:\n- \"0x2bCeB78Fda0d5e3bfA7F4B8c499aa74bDf8D7755\"\n+ \"0x25c2e07A24a74F9FA54f7CA5ddAfedB2264a5d02\"\n values.version:\n- \"1.0.1-beta.3\"\n+ \"1.0.1\"\n implementationNames.0xe8b013bEE7Bd603e2f0B4825638559d645A4C4CB:\n- \"DisputeGameFactory\"\n implementationNames.0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Celo native asset Token (0x057898f3C43F129a17517B9056D23851F124b19f)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x25c2e07A24a74F9FA54f7CA5ddAfedB2264a5d02)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x9F18D91949731E766f294A14027bBFE8F28328CC)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xcc744008aD3306a716fED303b0A6eA5b5d0690a5)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "8c8b367d",
"date": "Thu, 08 May 2025 08:48:52 GMT",
"timestamp": 1746694132,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```"
}
]
},
{
"id": "a0f023b8",
"date": "Fri, 04 Apr 2025 09:43:57 GMT",
"timestamp": 1743759837,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.permissionedGamesTotal:\n- 42\n+ 74\n }\n```"
}
]
},
{
"id": "99e071a2",
"date": "Mon, 31 Mar 2025 10:19:03 GMT",
"timestamp": 1743416343,
"description": "sub safe signer change.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (0xD1C635987B6Aa287361d08C6461491Fa9df087f2) {\n +++ description: None\n values.$members.2:\n+ \"0xD8091Ded796FE12A4D202Ca7Ab4DA6212BadC564\"\n values.$members.1:\n- \"0xD8091Ded796FE12A4D202Ca7Ab4DA6212BadC564\"\n+ \"0xc963AE163C7d1DD4d452EA8d9684c4C24655E1E8\"\n values.$members.0:\n- \"0xc963AE163C7d1DD4d452EA8d9684c4C24655E1E8\"\n+ \"0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n values.multisigThreshold:\n- \"2 of 2 (100%)\"\n+ \"2 of 3 (67%)\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.permissionedGamesTotal:\n- 4\n+ 42\n }\n```"
}
]
},
{
"id": "0d90a3cb",
"date": "Wed, 26 Mar 2025 13:47:13 GMT",
"timestamp": 1742996833,
"description": "Initial discovery: Standard OptiPortal2 opstack chain with new SuperchainConfig setup (local with global override).",
"isHighSeverity": false,
"changeCount": 33,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x2bCeB78Fda0d5e3bfA7F4B8c499aa74bDf8D7755)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x3C519816C5BdC0a0199147594F83feD4F5847f13)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract CeloProxyAdminOwner (0x4092A77bAF58fef0309452cEaCb09221e556E112)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x55093104b76FAA602F9d6c35A5FFF576bE78d753)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x6f0E4f1EB98A52EfaCF7BE11d48B9d9d6510A906)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x783A434532Ee94667979213af1711505E8bFE374)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x876e8eeE292F23F163C9bCA406eDD65bEAEFBEBC)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x89E31965D844a309231B1f17759Ccaf1b7c09861)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x8A12E1754f729C0856E2E32D4821577f0B245bfA)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x9c314E8057025F2982aa4B3923Abd741A8e8DE91)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract Celo Multisig 2 (0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xa24Bf5Bc02997f63da4e2C7F802067e05a102504)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfigLocal (0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33)\n +++ description: A local contract acting as source of truth for the paused status and the guardian role for the local chain.\n```\n\n```diff\n+ Status: CREATED\n contract Celo Multisig 1 (0xC03172263409584f7860C25B6eB4985f0f6F4636)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (0xD1C635987B6Aa287361d08C6461491Fa9df087f2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0xfaB0F466955D87e596Ca87E20c505bB6470D0DC4)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Cyber Multisig 1",
"name": "Cyber Multisig 1",
"description": "A Multisig with 3/4 threshold. \n* Can upgrade **with no delay**\n * AnchorStateRegistry [via: ProxyAdmin]\n * DataAvailabilityChallenge [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with DelayedWETH\n * can pull funds from the contract in case of emergency \n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type ",
"accounts": [
{
"address": "eth:0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398",
"type": "Contract",
"isVerified": true,
"name": "0xc225…5398",
"url": "https://etherscan.io/address/0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 2",
"url": "https://etherscan.io/address/0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2"
},
{
"address": "eth:0xaC79765A73eB9dcBd3c427181E6819902AE25b48",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 1",
"url": "https://etherscan.io/address/0xaC79765A73eB9dcBd3c427181E6819902AE25b48"
},
{
"address": "eth:0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 3",
"url": "https://etherscan.io/address/0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7"
},
{
"address": "eth:0x1a76Ed328600489811F819959a74043f106CF0f9",
"type": "EOA",
"isVerified": true,
"name": "Cyber",
"url": "https://etherscan.io/address/0x1a76Ed328600489811F819959a74043f106CF0f9"
}
],
"discoveryDrivenData": true
},
{
"id": "Cyber Multisig 2",
"name": "Cyber Multisig 2",
"description": "A Multisig with 3/4 threshold. \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"accounts": [
{
"address": "eth:0x68ca4cDCb0F47457273B554E60ff8321D5C133E4",
"type": "Contract",
"isVerified": true,
"name": "0x68ca…33E4",
"url": "https://etherscan.io/address/0x68ca4cDCb0F47457273B554E60ff8321D5C133E4"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xaC79765A73eB9dcBd3c427181E6819902AE25b48",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 1",
"url": "https://etherscan.io/address/0xaC79765A73eB9dcBd3c427181E6819902AE25b48"
},
{
"address": "eth:0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 2",
"url": "https://etherscan.io/address/0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2"
},
{
"address": "eth:0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 3",
"url": "https://etherscan.io/address/0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7"
},
{
"address": "eth:0xc76C563185d01284AdbC9cF5bb909162dD2F15e7",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"address": "eth:0xa564C83958f7F9fA5a255a540EF5e49445873104",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
"name": "0xa564…3104",
"url": "https://etherscan.io/address/0xa564C83958f7F9fA5a255a540EF5e49445873104"
},
{
"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:0x2F8Fd76923E2B0D0ba8F9C1a52A365CC6E7c040f",
"type": "EOA",
"isVerified": true,
"name": "0x2F8F…040f",
"url": "https://etherscan.io/address/0x2F8Fd76923E2B0D0ba8F9C1a52A365CC6E7c040f",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xc76C563185d01284AdbC9cF5bb909162dD2F15e7",
"type": "EOA",
"isVerified": true,
"name": "0xc76C…15e7",
"url": "https://etherscan.io/address/0xc76C563185d01284AdbC9cF5bb909162dD2F15e7",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "Member of Cyber Multisig 2.\n* Can interact with DataAvailabilityChallenge\n * can upgrade the parameters of DA challenges like the bond size or refund percentages, potentially making challenges infeasable or insecure ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1790808262,
"baseTimestamp": 1792587967,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "ebdbe8cb",
"date": "Wed, 21 Oct 2026 13:05:44 GMT",
"timestamp": 1792587967,
"description": "OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n+ \"eth:0xa564C83958f7F9fA5a255a540EF5e49445873104\"\n }\n```"
}
]
},
{
"id": "3e732be6",
"date": "Wed, 30 Sep 2026 22:47:30 GMT",
"timestamp": 1790808262,
"description": "OP Contracts Upgrade 20 (op-contracts/v8.0.0-rc.3): the shared SuperchainConfig implementation was upgraded v2.4.2 → v2.4.3 on 2026-09-24. Version bump only; no chain-specific contract changed. ([diff](https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504))",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n+ \"0xb74ed3aa109bd981b095c02d6e3bda2b2467d40e9d1060b4c89b01de32ebad3a\"\n values.$implementation:\n- \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n+ \"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$upgradeCount:\n- 8\n+ 12\n values.version:\n- \"2.4.2\"\n+ \"2.4.3\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n- \"SuperchainConfig\"\n implementationNames.eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "9726f48e",
"date": "Thu, 10 Sep 2026 12:48:50 GMT",
"timestamp": 1789044436,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "d3b362e3",
"date": "Tue, 04 Aug 2026 21:27:45 GMT",
"timestamp": 1785878764,
"description": "Guardian intervention by the operator: a resolved PermissionedDisputeGame proposal (`0x7373…f4c3`) was blacklisted on the OptimismPortal2 and the AnchorStateRegistry anchor was reset from a separate, valid game. Since the guardian role is derived from the Superchain-wide SuperchainConfig, both contracts were temporarily upgraded to `SuperchainConfigSetter` implementations pointing `superchainConfig` at an operator-controlled deployment; minutes later the pointer and original implementations were restored.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AnchorStateRegistry (eth:0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07) [opstack/AnchorStateRegistry] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n values.$pastUpgrades.1:\n+ [\"2026-08-04T16:35:47.000Z\",\"0x7e83c02dfbd4cf29d07626f34579b27937493b4436c3ad495a2b3b7e8b095d71\",[\"eth:0x8C8a1F23F3AfE6aeF5F0030FaB44D5b17ee97268\"]]\n values.$pastUpgrades.2:\n+ [\"2026-08-04T16:38:47.000Z\",\"0x65c4f08365a1298614ba2b61a7ae5cac0c517a405622c41bd2d68b150e5a88b7\",[\"eth:0x795F854562d82b3A051e415f6c48B2766521C855\"]]\n values.$upgradeCount:\n- 1\n+ 3\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n values.$pastUpgrades.3:\n+ [\"2026-08-04T16:43:59.000Z\",\"0x05ff2cb55118f839a31c2e8ea398c99d0f97dcb0d71535df87f14ece5c130475\",[\"eth:0xa702D767ef8a7ba06eD0d605Fe584e2C42eeED44\"]]\n values.$pastUpgrades.4:\n+ [\"2026-08-04T16:45:47.000Z\",\"0x5bc9e4731a28ac126a9f926e98369d4ddc5ae13adeaa22762f7123d0d15069e3\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$upgradeCount:\n- 3\n+ 5\n }\n```"
}
]
},
{
"id": "b2f66d10",
"date": "Fri, 17 Jul 2026 10:09:47 GMT",
"timestamp": 1784282889,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "c103056a",
"date": "Mon, 06 Jul 2026 07:56:33 GMT",
"timestamp": 1783324511,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling). Batcher rotated (`0xf99F…6FC5` → `0x2F8F…040f`). PermissionedDisputeGame redeployed to rotate proposer (`0xE1F8…E36f` → `0xAA0F…99Ab`); other params unchanged ([diff](https://disco.l2beat.com/diff/eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8/eth:0x924B10d37392414b0813190F01DbaF6c3322E906)).",
"isHighSeverity": true,
"changeCount": 12,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0xf99F2E466D35b9B2755f7bA99E34bC7D56F96FC5\"\n+ \"eth:0x2F8Fd76923E2B0D0ba8F9C1a52A365CC6E7c040f\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8\"\n+ \"eth:0x924B10d37392414b0813190F01DbaF6c3322E906\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x924B10d37392414b0813190F01DbaF6c3322E906) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "c7a5e292",
"date": "Mon, 08 Jun 2026 13:32:15 GMT",
"timestamp": 1780925465,
"description": "PermissionedDisputeGame clone redeployed with new proposer + challenger immutable args ([diff](https://disco.l2beat.com/diff/eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b/eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8)). SystemConfig `batcherHash` + `unsafeBlockSigner` rotated.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0x6AdE72DA6C1d47c856f13CD01Aac22A90D722e01\"\n+ \"eth:0xf99F2E466D35b9B2755f7bA99E34bC7D56F96FC5\"\n values.unsafeBlockSigner:\n- \"eth:0x1F316F0F898AAb1919F9Fb9183F8D1900F721AdB\"\n+ \"eth:0xa3AC51c395ddA7a264D54890Da04ddF61bCDA359\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b\"\n+ \"eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "d41320a8",
"date": "Fri, 15 May 2026 13:11:05 GMT",
"timestamp": 1778850529,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "d620d657",
"date": "Tue, 05 May 2026 15:19:09 GMT",
"timestamp": 1777994281,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "66d633b8",
"date": "Wed, 25 Mar 2026 10:07:04 GMT",
"timestamp": 1774433159,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "ebb805b1",
"date": "Fri, 27 Feb 2026 13:23:33 GMT",
"timestamp": 1772198383,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "e82cb0c0",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272322,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "ed1d31a5",
"date": "Thu, 18 Dec 2025 08:56:22 GMT",
"timestamp": 1766048095,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "4f22b743",
"date": "Fri, 28 Nov 2025 09:49:22 GMT",
"timestamp": 1764323296,
"description": "Jovian upgrade.",
"isHighSeverity": true,
"changeCount": 103,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x0DE6711cE623d03f0888310ca3A04a69DE0E12e1) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"propose\",\"from\":\"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\",\"role\":\".proposer\"}\n receivedPermissions.1.role:\n- \".PROPOSER\"\n+ \".proposer\"\n receivedPermissions.1.from:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n+ \"eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x12a580c05466eefb2c467C6b115844cDaF55B255) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n values.$implementation:\n- \"eth:0x01b46e02fcE5FC0731076711aFFe73bEeCD87997\"\n+ \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.superchainConfig:\n- \"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x01b46e02fcE5FC0731076711aFFe73bEeCD87997:\n- \"L1StandardBridge\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SuperchainConfig (eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0xe35fb7bc0433439337b3eadda3d6fb7991918162f62a337a695e8c7f948cdd35\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0xACfD93B4887cef4F05cF3440d150D2cE97339142\"\n+ \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.1:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"eth:0x0C883f622b4ccbF1e8ce86217998f87e6d36BCE4\"\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.GUARDIAN:\n- \"eth:0x0C883f622b4ccbF1e8ce86217998f87e6d36BCE4\"\n values.L2_ORACLE:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n values.l2Oracle:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n values.superchainConfig:\n- \"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.SYSTEM_CONFIG:\n- \"eth:0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055\"\n values.version:\n- \"2.5.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1764210551\n implementationNames.eth:0xACfD93B4887cef4F05cF3440d150D2cE97339142:\n- \"OptimismPortal\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n+ \"OptimismPortal2\"\n fieldMeta:\n+ {\"respectedGameType\":{\"severity\":\"HIGH\"},\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\",\"1337\":\"KailuaGame\"}}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x3c01ebF22e9c111528c1E027D68944eDaB08Dfc9) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$implementation:\n- \"eth:0x849d0821B1D313b65f6FF152176F4b6a0AF7aa56\"\n+ \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.$pastUpgrades.1:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x849d0821B1D313b65f6FF152176F4b6a0AF7aa56:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x4F4B716627D2Ba0439327Ce8B563b4443aF47Dbd) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$implementation:\n- \"eth:0x1234c7a75f40551Fce5aFf1d58efD72F2ee2AFB1\"\n+ \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.$pastUpgrades.1:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x1234c7a75f40551Fce5aFf1d58efD72F2ee2AFB1:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x51A00470Eb50D758EcFF3B96DB0bF4A8e86268F4) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$implementation:\n- \"eth:0x985F187489954435ddf9571D45500184566e4B46\"\n+ \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.$pastUpgrades.1:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.eth:0x985F187489954435ddf9571D45500184566e4B46:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xdf9a11b46747139bfe0135df8a65a2728a2dbd60a689e2398c45627915cdd752\"\n+ \"0xf2ca03f1fb80fdb3c1281ea41b46245c8e6811a03a9ad7129f60cfedaac0e231\"\n values.$implementation:\n- \"eth:0x726C6ac8A53061e56AfB2c890545348ba6f0DF0E\"\n+ \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.1:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n values.version:\n- \"1.12.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 1\n values.blobbasefeeScalar:\n+ 1\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0\"\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n values.maximumGasLimit:\n+ 200000000\n implementationNames.eth:0x726C6ac8A53061e56AfB2c890545348ba6f0DF0E:\n- \"SystemConfig\"\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07\",\"role\":\"admin\"}\n directlyReceivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6A9AFfDcfeF73f66177a1386590607F444520571\",\"role\":\"admin\"}\n directlyReceivedPermissions.9.from:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n+ \"eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (eth:0xa669A743b065828682eE16109273F5CFeF5e676d)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract Cyber Multisig 1 (eth:0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398) {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x6A9AFfDcfeF73f66177a1386590607F444520571\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03\"}]}\n receivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6A9AFfDcfeF73f66177a1386590607F444520571\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03\"}]}\n receivedPermissions.9.from:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n+ \"eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0\"\n }\n```\n\n```diff\n EOA (eth:0xE363e5aeAbf7F6c20589a774fCD83389ebBF0275) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\",\"role\":\".challenger\"}\n receivedPermissions.1.role:\n- \".CHALLENGER\"\n+ \".challenger\"\n receivedPermissions.1.from:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n+ \"eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (eth:0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x6A9AFfDcfeF73f66177a1386590607F444520571)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (eth:0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "b06d59a9",
"date": "Mon, 14 Jul 2025 12:44:56 GMT",
"timestamp": 1752497096,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract DataAvailabilityChallenge (0x10E34EfE14E4D270C0f77Bf1aF01b6C832161B49)\n +++ description: The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x12a580c05466eefb2c467C6b115844cDaF55B255)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x19b5804B88F10262A55ac731f28A3BbC4209853a)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x3c01ebF22e9c111528c1E027D68944eDaB08Dfc9)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x4F4B716627D2Ba0439327Ce8B563b4443aF47Dbd)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x51A00470Eb50D758EcFF3B96DB0bF4A8e86268F4)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract Cyber Multisig 2 (0x68ca4cDCb0F47457273B554E60ff8321D5C133E4)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x7E54107731EC43e78DA678DFa5fB6222Ad036e03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0xa669A743b065828682eE16109273F5CFeF5e676d)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract Cyber Multisig 1 (0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398)\n +++ description: None\n```"
}
]
},
{
"id": "f886bf47",
"date": "Sun, 06 Apr 2025 08:20:46 GMT",
"timestamp": 1743927646,
"description": "Operators change, no change to implementations.",
"isHighSeverity": true,
"changeCount": 29,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n issuedPermissions.1.permission:\n- \"interact\"\n+ \"sequence\"\n issuedPermissions.1.to:\n- \"0xc76C563185d01284AdbC9cF5bb909162dD2F15e7\"\n+ \"0x6AdE72DA6C1d47c856f13CD01Aac22A90D722e01\"\n issuedPermissions.1.description:\n- \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n issuedPermissions.0.permission:\n- \"sequence\"\n+ \"interact\"\n issuedPermissions.0.to:\n- \"0xf0748C52EDC23135d9845CDFB91279Cf61ee14b4\"\n+ \"0x68ca4cDCb0F47457273B554E60ff8321D5C133E4\"\n issuedPermissions.0.description:\n+ \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n values.batcherHash:\n- \"0xf0748C52EDC23135d9845CDFB91279Cf61ee14b4\"\n+ \"0x6AdE72DA6C1d47c856f13CD01Aac22A90D722e01\"\n values.owner:\n- \"0xc76C563185d01284AdbC9cF5bb909162dD2F15e7\"\n+ \"0x68ca4cDCb0F47457273B554E60ff8321D5C133E4\"\n values.unsafeBlockSigner:\n- \"0xa7A4D6d5920b93D0FE590f9524Ef17f24EE1F5B8\"\n+ \"0x1F316F0F898AAb1919F9Fb9183F8D1900F721AdB\"\n }\n```\n\n```diff\n contract L2OutputOracle (0xa669A743b065828682eE16109273F5CFeF5e676d) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n issuedPermissions.2.permission:\n- \"upgrade\"\n+ \"challenge\"\n issuedPermissions.2.to:\n- \"0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398\"\n+ \"0xE363e5aeAbf7F6c20589a774fCD83389ebBF0275\"\n issuedPermissions.2.via.0:\n- {\"address\":\"0x7E54107731EC43e78DA678DFa5fB6222Ad036e03\"}\n issuedPermissions.1.permission:\n- \"propose\"\n+ \"upgrade\"\n issuedPermissions.1.to:\n- \"0xF2987f0A626c8D29dFB2E0A21144ca3026d6F1E1\"\n+ \"0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398\"\n issuedPermissions.1.via.0:\n+ {\"address\":\"0x7E54107731EC43e78DA678DFa5fB6222Ad036e03\"}\n issuedPermissions.0.permission:\n- \"challenge\"\n+ \"propose\"\n issuedPermissions.0.to:\n- \"0x87bD2cFf3b59d615b1Eac7A7f809B5e5f0Ee6752\"\n+ \"0x0DE6711cE623d03f0888310ca3A04a69DE0E12e1\"\n values.$pastUpgrades.2:\n+ [\"2024-04-18T08:59:47.000Z\",\"0x3873d6dcc852f76be0f9f8c71f927a42b055ddb43c495e17464831044ac31046\",[\"0x93E1c0D8ef27930130fb809CE18ca681A8C32F85\"]]\n values.$pastUpgrades.1:\n+ [\"2025-04-05T10:01:23.000Z\",\"0x73ee182446c88efe7fcb620040891c07867047a2f87527f0c2f313d87f9657d9\",[\"0x93E1c0D8ef27930130fb809CE18ca681A8C32F85\"]]\n values.$pastUpgrades.0.2:\n- \"2024-04-18T08:59:47.000Z\"\n+ [\"0xA9D78F579f1B30194F3c2Ca1987A9B91A33BDF08\"]\n values.$pastUpgrades.0.1:\n- \"0x3873d6dcc852f76be0f9f8c71f927a42b055ddb43c495e17464831044ac31046\"\n+ \"2025-04-05T09:37:35.000Z\"\n values.$pastUpgrades.0.0:\n- [\"0x93E1c0D8ef27930130fb809CE18ca681A8C32F85\"]\n+ \"0x8a478837105675e4e373c2a15350499aaed1c3c899df845ea10eec28b275c662\"\n values.$upgradeCount:\n- 1\n+ 3\n+++ severity: HIGH\n values.challenger:\n- \"0x87bD2cFf3b59d615b1Eac7A7f809B5e5f0Ee6752\"\n+ \"0xE363e5aeAbf7F6c20589a774fCD83389ebBF0275\"\n values.CHALLENGER:\n- \"0x87bD2cFf3b59d615b1Eac7A7f809B5e5f0Ee6752\"\n+ \"0xE363e5aeAbf7F6c20589a774fCD83389ebBF0275\"\n+++ severity: HIGH\n values.proposer:\n- \"0xF2987f0A626c8D29dFB2E0A21144ca3026d6F1E1\"\n+ \"0x0DE6711cE623d03f0888310ca3A04a69DE0E12e1\"\n values.PROPOSER:\n- \"0xF2987f0A626c8D29dFB2E0A21144ca3026d6F1E1\"\n+ \"0x0DE6711cE623d03f0888310ca3A04a69DE0E12e1\"\n }\n```\n\n```diff\n contract undefined (0xc76C563185d01284AdbC9cF5bb909162dD2F15e7) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract Cyber Multisig 2 (0x68ca4cDCb0F47457273B554E60ff8321D5C133E4)\n +++ description: None\n```"
}
]
},
{
"id": "2ec38aa8",
"date": "Fri, 17 May 2024 09:35:04 GMT",
"timestamp": 1715938504,
"description": "Signers added to Owner Multisig, threshold changed to 3/4. EOA warning is removed.\n\nThe DAChallenge contract has resolverRefundPercentage set to 100%. A successful resolve now gets `( fixedResolutionCost + preImageLength * variableResolutionCost / variableResolutionCostPrecision ) * block.basefee` as a refund. Depending on the other variables, a malicious Sequencer can now challenge itself infinitely without cost.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DataAvailabilityChallenge (0x10E34EfE14E4D270C0f77Bf1aF01b6C832161B49) {\n +++ description: None\n values.resolverRefundPercentage:\n- 0\n+ 100\n }\n```\n\n```diff\n contract ProxyAdminOwner (0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398) {\n +++ description: None\n upgradeability.threshold:\n- \"1 of 1 (100%)\"\n+ \"3 of 4 (75%)\"\n values.getOwners.3:\n+ \"0x1a76Ed328600489811F819959a74043f106CF0f9\"\n values.getOwners.2:\n+ \"0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7\"\n values.getOwners.1:\n+ \"0xaC79765A73eB9dcBd3c427181E6819902AE25b48\"\n values.getOwners.0:\n- \"0x1a76Ed328600489811F819959a74043f106CF0f9\"\n+ \"0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2\"\n values.getThreshold:\n- 1\n+ 3\n }\n```"
}
]
},
{
"id": "82843724",
"date": "Wed, 15 May 2024 13:24:31 GMT",
"timestamp": 1715779471,
"description": "Initial discovery: Cyber is an OP stack plasma mode L2 using custom DA (currently not yet EigenDA).",
"isHighSeverity": false,
"changeCount": 12,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract DataAvailabilityChallenge (0x10E34EfE14E4D270C0f77Bf1aF01b6C832161B49)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x12a580c05466eefb2c467C6b115844cDaF55B255)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x19b5804B88F10262A55ac731f28A3BbC4209853a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x3c01ebF22e9c111528c1E027D68944eDaB08Dfc9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x4F4B716627D2Ba0439327Ce8B563b4443aF47Dbd)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x51A00470Eb50D758EcFF3B96DB0bF4A8e86268F4)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x7E54107731EC43e78DA678DFa5fB6222Ad036e03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0xa669A743b065828682eE16109273F5CFeF5e676d)\n +++ description: Central actor allowed to post new L2 state roots to L1.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdminOwner (0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398)\n +++ description: None\n```"
}
]
}
]
+19 -5
+4 -4
{
"addresses": {
"arbitrum": [
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0x2F12c50b46adB01a4961AdDa5038c0974C7C78e8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1742816885,
"transactionHash": "0x1e6e3cb414d9098a4d0cc7791ca3c91da1152941b65b09e3cd925df0a78a276b",
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
},
{
"timestamp": 1788870544,
"transactionHash": "0x82bbd98ed358f383b6808a90279593027627aeb61fce7a842fe67898f2c7b658",
"implementations": [
"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2F12c50b46adB01a4961AdDa5038c0974C7C78e8#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0xA3464bf0ed52cFe6676D3e34ab1F4DF53f193631",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0xC08A4543b011fd4f1EfC9e26521F4e157433b3b1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0x7a299aD29499736994Aa3a9aFa3f476445FAEB2c"
]
},
{
"timestamp": 1742831419,
"transactionHash": "0x0c2b46c93025ed6c2500f99e813d57f91bbdb89f4cb884f122948ab6ddbe135e",
"implementations": [
"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10"
]
},
{
"timestamp": 1788870544,
"transactionHash": "0x82bbd98ed358f383b6808a90279593027627aeb61fce7a842fe67898f2c7b658",
"implementations": [
"arb1:0xC08A4543b011fd4f1EfC9e26521F4e157433b3b1"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2\n * **batchPosters**: EOA 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA3464bf0ed52cFe6676D3e34ab1F4DF53f193631#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "arb1:0xaaEEAcf6bcCc50E46af95464696BB269848eaAfd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x1Ef281CD6BD48affD9C44Cb590858FCfF92DE821"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1788870544,
"transactionHash": "0x82bbd98ed358f383b6808a90279593027627aeb61fce7a842fe67898f2c7b658",
"implementations": [
"arb1:0x1Ef281CD6BD48affD9C44Cb590858FCfF92DE821"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xaaEEAcf6bcCc50E46af95464696BB269848eaAfd#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0xC92793985e0026583Dc70aBDFBa167b1932b834D",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x9132151475ACCf0662C545Bc81FbC1741d978EE0"
],
"implementations": [
"arb1:0x8dA371823A4937e5F371B7b53876Ee34d5d5E520",
"arb1:0x56411606380fD9eF28DB1AAc3897Bd4a24F26606"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1788870544,
"transactionHash": "0x82bbd98ed358f383b6808a90279593027627aeb61fce7a842fe67898f2c7b658",
"implementations": [
"arb1:0x8dA371823A4937e5F371B7b53876Ee34d5d5E520",
"arb1:0x56411606380fD9eF28DB1AAc3897Bd4a24F26606"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 2\n * **anyTrustFastConfirmer**: EduFastConfirmerMultisig; ultimately EOA 1\n * **getValidators**: EOA 1\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xC92793985e0026583Dc70aBDFBa167b1932b834D#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x9132151475ACCf0662C545Bc81FbC1741d978EE0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2\n * **executors**: Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9132151475ACCf0662C545Bc81FbC1741d978EE0#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0x419e439e5c0B839d6e31d7C438939EEE1A4f4184",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721992935,
"transactionHash": "0xb438cbcdc499b041ffa782aecb94d616a532eb1455f7c58e1141b557ccd70475",
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x419e439e5c0B839d6e31d7C438939EEE1A4f4184#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x590044e628ea1B9C10a86738Cf7a7eeF52D031B8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x08b1395a2Ee51073d6B9ebF9E97FBeb09dcAcAf1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1742831419,
"transactionHash": "0x0c2b46c93025ed6c2500f99e813d57f91bbdb89f4cb884f122948ab6ddbe135e",
"implementations": [
"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255"
]
},
{
"timestamp": 1788870544,
"transactionHash": "0x82bbd98ed358f383b6808a90279593027627aeb61fce7a842fe67898f2c7b658",
"implementations": [
"arb1:0x08b1395a2Ee51073d6B9ebF9E97FBeb09dcAcAf1"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x590044e628ea1B9C10a86738Cf7a7eeF52D031B8#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0x6339965Cb3002f5c746895e4eD895bd775dbfdf9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x99761fAc22FcE23498F8004ac4025F822fEdce95"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
{
"timestamp": 1788870544,
"transactionHash": "0x82bbd98ed358f383b6808a90279593027627aeb61fce7a842fe67898f2c7b658",
"implementations": [
"arb1:0x99761fAc22FcE23498F8004ac4025F822fEdce95"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6339965Cb3002f5c746895e4eD895bd775dbfdf9#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "arb1:0xDa4ac9E9cB8Af8afBB2Df1ffe7b82efEA17ba0f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0xd106EC93D2c1adaA65C4B17ffc7bB166Ce30DDAe"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721992935,
"transactionHash": "0xb438cbcdc499b041ffa782aecb94d616a532eb1455f7c58e1141b557ccd70475",
"implementations": [
"arb1:0xd106EC93D2c1adaA65C4B17ffc7bB166Ce30DDAe"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xDa4ac9E9cB8Af8afBB2Df1ffe7b82efEA17ba0f6#code"
},
{
"name": "CustomGateway",
"isVerified": true,
"address": "arb1:0xDd7A9dEcBB0b16B37fE6777e245b18fC0aC63759",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x17e7F68ce50A77e55C7834ddF31AEf86403B8010"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721992935,
"transactionHash": "0xb438cbcdc499b041ffa782aecb94d616a532eb1455f7c58e1141b557ccd70475",
"implementations": [
"arb1:0x17e7F68ce50A77e55C7834ddF31AEf86403B8010"
]
}
],
"description": "Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xDd7A9dEcBB0b16B37fE6777e245b18fC0aC63759#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x583F8BA007580c83EFB4B02C66694096cD5c56d1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x583F8BA007580c83EFB4B02C66694096cD5c56d1#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x61006c8566fac9a3315F646dA4624C00BbCF15E4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x61006c8566fac9a3315F646dA4624C00BbCF15E4#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0xD36cd2624a7187ED41ec30FC1d6E6B7b3abAf251",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x9fD20D42Cf52B1A0dEf8e95AD8d2E92B58ECa51B"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb"
]
},
{
"timestamp": 1788870544,
"transactionHash": "0x82bbd98ed358f383b6808a90279593027627aeb61fce7a842fe67898f2c7b658",
"implementations": [
"arb1:0x9fD20D42Cf52B1A0dEf8e95AD8d2E92B58ECa51B"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xD36cd2624a7187ED41ec30FC1d6E6B7b3abAf251#code"
}
]
},
"escrows": [
{
"address": "0x2F12c50b46adB01a4961AdDa5038c0974C7C78e8",
"sinceTimestamp": 1721987935,
"tokens": [
"EDU"
],
"contract": {
"isVerified": true,
"address": "arb1:0x2F12c50b46adB01a4961AdDa5038c0974C7C78e8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1742816885,
"transactionHash": "0x1e6e3cb414d9098a4d0cc7791ca3c91da1152941b65b09e3cd925df0a78a276b",
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
},
{
"timestamp": 1788870544,
"transactionHash": "0x82bbd98ed358f383b6808a90279593027627aeb61fce7a842fe67898f2c7b658",
"implementations": [
"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows EDU sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0x2F12c50b46adB01a4961AdDa5038c0974C7C78e8#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x419e439e5c0B839d6e31d7C438939EEE1A4f4184",
"sinceTimestamp": 1721992935,
"tokens": "*",
"contract": {
"name": "StandardGateway",
"isVerified": true,
"address": "arb1:0x419e439e5c0B839d6e31d7C438939EEE1A4f4184",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721992935,
"transactionHash": "0xb438cbcdc499b041ffa782aecb94d616a532eb1455f7c58e1141b557ccd70475",
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination.",
"url": "https://arbiscan.io/address/0x419e439e5c0B839d6e31d7C438939EEE1A4f4184#code"
},
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0xDd7A9dEcBB0b16B37fE6777e245b18fC0aC63759",
"sinceTimestamp": 1721992935,
"tokens": "*",
"contract": {
"name": "CustomGateway",
"isVerified": true,
"address": "arb1:0xDd7A9dEcBB0b16B37fE6777e245b18fC0aC63759",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x17e7F68ce50A77e55C7834ddF31AEf86403B8010"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721992935,
"transactionHash": "0xb438cbcdc499b041ffa782aecb94d616a532eb1455f7c58e1141b557ccd70475",
"implementations": [
"arb1:0x17e7F68ce50A77e55C7834ddF31AEf86403B8010"
]
}
],
"description": "Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.",
"url": "https://arbiscan.io/address/0xDd7A9dEcBB0b16B37fE6777e245b18fC0aC63759#code"
},
"chain": "arbitrum",
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"title": "ArbOS wasmModuleRoot v61",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v61/arbos",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~95 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v61` . Commit hash should be `dfab1dea5c8d2c5089eb26d22ad6239bb78cfa5d`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Fix a dependency on a private repo in `Dockerfile`: replace line `RUN --mount=type=secret,id=gh_token,required=false ./download-machine.sh consensus-v60-rc.3 0xeadc910d36a0eab43a3dd7acb1a3513885e333785689c7cf750b9949c5bb7227 OffchainLabs/nitro-private` with `RUN ./download-machine.sh consensus-v60-rc.5 0x7a9e6a77354888257a9989ce0b6bb39df5fedf222d453932933fdf7a489cbb57`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97"
}
],
"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": 1789570509,
"baseTimestamp": 1792490842,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "6ad09a3e",
"date": "Tue, 20 Oct 2026 10:08:43 GMT",
"timestamp": 1792490842,
"description": "RollupProxy: ArbOS v51 → v61 wasm module root, executed by Conduit Multisig 2 through the UpgradeExecutor.",
"isHighSeverity": true,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (arb1:0xC92793985e0026583Dc70aBDFBa167b1932b834D) [orbitstack/RollupProxyBoLD] {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v51 wasmModuleRoot\"\n+ \"ArbOS v61 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n+++ severity: HIGH\n values.wasmModuleRoot:\n- \"0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499\"\n+ \"0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97\"\n }\n```"
}
]
},
{
"id": "4872ff16",
"date": "Tue, 29 Sep 2026 17:49:55 GMT",
"timestamp": 1789570509,
"description": "Upgrade to the BoLD dispute protocol (nitro-contracts v3.1.0) and ArbOS v51 \"Dia\", executed by Conduit Multisig 2 via the UpgradeExecutor.\n\nRollupProxy replaced by a BoLD rollup (`isPostBoLD: true`). Validator whitelist stays enabled; validators 2 → 1: EduFastConfirmerMultisig removed as validator, kept as `anyTrustFastConfirmer`. Stake token ETH → WETH. `minimumAssertionPeriod` 10 → 75. `validatorAfkBlocks` 45818 → 2^50. `challengeGracePeriodBlocks` set to 14400.\n\nChallengeManager replaced by EdgeChallengeManager: 1 big-step level, 0.01 WETH stake on big-step and small-step edges.\n\nBridge, Inbox, Outbox, RollupEventInbox and SequencerInbox upgraded. SequencerInbox: `isDelayBufferable: true` with buffer at max.\n\nOneStepProvers and OneStepProofEntry replaced. ValidatorUtils removed.",
"isHighSeverity": true,
"changeCount": 73,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract ChallengeManager (arb1:0x14dBe58192B60b5207b86c751255B34550Bd12Fb) [orbitstack/ChallengeManager]\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n contract Bridge (arb1:0x2F12c50b46adB01a4961AdDa5038c0974C7C78e8) [orbitstack/Bridge] {\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n sourceHashes.1:\n- \"0x44eab8a1244ce0ae33674b88b4211d02a3f4d060cf9a7791854f3263c039813a\"\n+ \"0xcf23a1556783b1256851289ed1e962cbab0633dca95bc20654f016b52c1d4fae\"\n values.$implementation:\n- \"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd\"\n+ \"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7\"\n values.$pastUpgrades.2:\n+ [\"2026-09-08T12:29:04.000Z\",\"0x82bbd98ed358f383b6808a90279593027627aeb61fce7a842fe67898f2c7b658\",[\"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.rollup:\n- \"arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\"\n+ \"arb1:0xC92793985e0026583Dc70aBDFBa167b1932b834D\"\n implementationNames.arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd:\n- \"ERC20Bridge\"\n implementationNames.arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7:\n+ \"ERC20Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverHostIo (arb1:0x33c1514Bf90e202d242C299b37C60f908aa206D4) [orbitstack/OneStepProverHostIo]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProver0 (arb1:0x54E0923782b701044444De5d8c3A45aC890b0881) [orbitstack/OneStepProver0]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract Inbox (arb1:0x590044e628ea1B9C10a86738Cf7a7eeF52D031B8) [orbitstack/Inbox] {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n sourceHashes.1:\n- \"0xb33f29d585cf178f81b64440ee9a3c598cd398ad18d2b3c6dc6c711eaf63d5e4\"\n+ \"0x03939c3cbd6c108ea9a077f61bb7ec6c3254fe21911bf5dfdb3c0efcb636e796\"\n values.$implementation:\n- \"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255\"\n+ \"arb1:0x08b1395a2Ee51073d6B9ebF9E97FBeb09dcAcAf1\"\n values.$pastUpgrades.2:\n+ [\"2026-09-08T12:29:04.000Z\",\"0x82bbd98ed358f383b6808a90279593027627aeb61fce7a842fe67898f2c7b658\",[\"arb1:0x08b1395a2Ee51073d6B9ebF9E97FBeb09dcAcAf1\"]]\n values.$upgradeCount:\n- 2\n+ 3\n implementationNames.arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255:\n- \"ERC20Inbox\"\n implementationNames.arb1:0x08b1395a2Ee51073d6B9ebF9E97FBeb09dcAcAf1:\n+ \"ERC20Inbox\"\n }\n```\n\n```diff\n contract Outbox (arb1:0x6339965Cb3002f5c746895e4eD895bd775dbfdf9) [orbitstack/Outbox] {\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n sourceHashes.1:\n- \"0x3073f29910dee50069a001fb20e58cca3dcc1b3c8da4b91809af2dd356ef0c8c\"\n+ \"0xb9f7bc73978fab23b0df754fac230d706fee0d774d97b8533b62b3014d5561a8\"\n values.$implementation:\n- \"arb1:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0\"\n+ \"arb1:0x99761fAc22FcE23498F8004ac4025F822fEdce95\"\n values.$pastUpgrades.1:\n+ [\"2026-09-08T12:29:04.000Z\",\"0x82bbd98ed358f383b6808a90279593027627aeb61fce7a842fe67898f2c7b658\",[\"arb1:0x99761fAc22FcE23498F8004ac4025F822fEdce95\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\"\n+ \"arb1:0xC92793985e0026583Dc70aBDFBa167b1932b834D\"\n implementationNames.arb1:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0:\n- \"ERC20Outbox\"\n implementationNames.arb1:0x99761fAc22FcE23498F8004ac4025F822fEdce95:\n+ \"ERC20Outbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ValidatorUtils (arb1:0x6c21303F5986180B1394d2C89f3e883890E2867b) [orbitstack/ValidatorUtils]\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n contract Conduit Multisig 2 (arb1:0x79C2abE3eBA9dc119318FdAaA48118e1CDB53F56) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\",\"role\":\".owner\",\"via\":[{\"address\":\"arb1:0x9132151475ACCf0662C545Bc81FbC1741d978EE0\"}]}\n receivedPermissions.1.description:\n+ \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n receivedPermissions.1.via.0:\n- {\"address\":\"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A\"}\n receivedPermissions.1.role:\n- \"admin\"\n+ \".owner\"\n receivedPermissions.1.from:\n- \"arb1:0x14dBe58192B60b5207b86c751255B34550Bd12Fb\"\n+ \"arb1:0xC92793985e0026583Dc70aBDFBa167b1932b834D\"\n receivedPermissions.1.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"arb1:0xaaEEAcf6bcCc50E46af95464696BB269848eaAfd\",\"role\":\"admin\",\"via\":[{\"address\":\"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A\"},{\"address\":\"arb1:0x9132151475ACCf0662C545Bc81FbC1741d978EE0\"}]}\n receivedPermissions.8.from:\n- \"arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\"\n+ \"arb1:0xC92793985e0026583Dc70aBDFBa167b1932b834D\"\n }\n```\n\n```diff\n contract ProxyAdmin (arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.0:\n- {\"permission\":\"upgrade\",\"from\":\"arb1:0x14dBe58192B60b5207b86c751255B34550Bd12Fb\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"arb1:0xaaEEAcf6bcCc50E46af95464696BB269848eaAfd\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract UpgradeExecutor (arb1:0x9132151475ACCf0662C545Bc81FbC1741d978EE0) [orbitstack/UpgradeExecutor] {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n directlyReceivedPermissions.1.from:\n- \"arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\"\n+ \"arb1:0xC92793985e0026583Dc70aBDFBa167b1932b834D\"\n directlyReceivedPermissions.2.from:\n- \"arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\"\n+ \"arb1:0xC92793985e0026583Dc70aBDFBa167b1932b834D\"\n }\n```\n\n```diff\n EOA (arb1:0x92D81CCc020E18C748f17178a71A7300d60c8816) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\",\"role\":\".anyTrustFastConfirmer\",\"via\":[{\"address\":\"arb1:0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}]}\n receivedPermissions.1.role:\n- \".validators\"\n+ \".anyTrustFastConfirmer\"\n receivedPermissions.1.description:\n- \"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"\n+ \"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"\n receivedPermissions.1.from:\n- \"arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\"\n+ \"arb1:0xC92793985e0026583Dc70aBDFBa167b1932b834D\"\n receivedPermissions.2.role:\n- \".validators\"\n+ \".getValidators\"\n receivedPermissions.2.from:\n- \"arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\"\n+ \"arb1:0xC92793985e0026583Dc70aBDFBa167b1932b834D\"\n }\n```\n\n```diff\n contract SequencerInbox (arb1:0xA3464bf0ed52cFe6676D3e34ab1F4DF53f193631) [orbitstack/SequencerInbox] {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.1:\n- \"0x38fab1c44903c11839e1113e339b7268b07f99808721133182f57fdd891be63a\"\n+ \"0xd9d7945b3c909d8777cc1798e1b56051640a57595cc65064235a913104f4e9e9\"\n values.$implementation:\n- \"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10\"\n+ \"arb1:0xC08A4543b011fd4f1EfC9e26521F4e157433b3b1\"\n values.$pastUpgrades.2:\n+ [\"2026-09-08T12:29:04.000Z\",\"0x82bbd98ed358f383b6808a90279593027627aeb61fce7a842fe67898f2c7b658\",[\"arb1:0xC08A4543b011fd4f1EfC9e26521F4e157433b3b1\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.rollup:\n- \"arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\"\n+ \"arb1:0xC92793985e0026583Dc70aBDFBa167b1932b834D\"\n values.feeTokenPricer:\n+ \"arb1:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.isDelayBufferable:\n+ true\n implementationNames.arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10:\n- \"SequencerInbox\"\n implementationNames.arb1:0xC08A4543b011fd4f1EfC9e26521F4e157433b3b1:\n+ \"SequencerInbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract RollupProxy (arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914) [orbitstack/RollupProxy_fastConfirm]\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n contract RollupEventInbox (arb1:0xD36cd2624a7187ED41ec30FC1d6E6B7b3abAf251) [orbitstack/RollupEventInbox] {\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n sourceHashes.1:\n- \"0x88c3a2fa81cad2f98a156402c78de0fc804b2a1866ea4f449aa90ae92ceabc6c\"\n+ \"0x30d86d66b2eba9a29c67fd3a446f636d4d7835b6d679dab61a2cfc6e10b97b23\"\n values.$implementation:\n- \"arb1:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb\"\n+ \"arb1:0x9fD20D42Cf52B1A0dEf8e95AD8d2E92B58ECa51B\"\n values.$pastUpgrades.1:\n+ [\"2026-09-08T12:29:04.000Z\",\"0x82bbd98ed358f383b6808a90279593027627aeb61fce7a842fe67898f2c7b658\",[\"arb1:0x9fD20D42Cf52B1A0dEf8e95AD8d2E92B58ECa51B\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ severity: HIGH\n values.rollup:\n- \"arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\"\n+ \"arb1:0xC92793985e0026583Dc70aBDFBa167b1932b834D\"\n implementationNames.arb1:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb:\n- \"ERC20RollupEventInbox\"\n implementationNames.arb1:0x9fD20D42Cf52B1A0dEf8e95AD8d2E92B58ECa51B:\n+ \"ERC20RollupEventInbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProofEntry (arb1:0xD89d54007079071cBA859127318b9F34eeB78049) [orbitstack/OneStepProofEntry]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMath (arb1:0xE58a2dEb5718F9aAF2C1DdD0E366ED076D204cc4) [orbitstack/OneStepProverMath]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract EduFastConfirmerMultisig (arb1:0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b) [GnosisSafe] {\n +++ description: None\n directlyReceivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\",\"role\":\".anyTrustFastConfirmer\"}\n directlyReceivedPermissions.1.role:\n- \".validators\"\n+ \".anyTrustFastConfirmer\"\n directlyReceivedPermissions.1.description:\n- \"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"\n+ \"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"\n directlyReceivedPermissions.1.from:\n- \"arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\"\n+ \"arb1:0xC92793985e0026583Dc70aBDFBa167b1932b834D\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMemory (arb1:0xf8E5e5562c2c12d8690786f5C9FA65F20F6bD881) [orbitstack/OneStepProverMemory]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (arb1:0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F) [orbitstack/OneStepProverHostIo]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (arb1:0x583F8BA007580c83EFB4B02C66694096cD5c56d1) [orbitstack/OneStepProverMemory]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (arb1:0x61006c8566fac9a3315F646dA4624C00BbCF15E4) [orbitstack/OneStepProofEntry]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (arb1:0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612) [orbitstack/OneStepProver0]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract EdgeChallengeManager (arb1:0xaaEEAcf6bcCc50E46af95464696BB269848eaAfd) [orbitstack/EdgeChallengeManager]\n +++ description: Contract that implements the main challenge protocol logic of the fraud proof system.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (arb1:0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb) [orbitstack/OneStepProverMath]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (arb1:0xC92793985e0026583Dc70aBDFBa167b1932b834D) [orbitstack/RollupProxyBoLD]\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n```"
}
]
},
{
"id": "c8a7eab5",
"date": "Mon, 07 Sep 2026 21:36:03 GMT",
"timestamp": 1788816897,
"description": "Conduit Multisig 2: member added; threshold 4/10 → 4/11.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 2 (arb1:0x79C2abE3eBA9dc119318FdAaA48118e1CDB53F56) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"arb1:0x9402c42dB162d5a0927c032136f40Cc9C71853F2\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "c0a4e15c",
"date": "Thu, 30 Jul 2026 11:09:28 GMT",
"timestamp": 1785409703,
"description": "Upgrade control moved from Gelato Multisig to Conduit Multisig 2. Sequencer/batch posting and fast-confirming validator keys rotated, the DAC keyset changed to 1 member, and `minimumAssertionPeriod` dropped 75 -> 10 blocks.",
"isHighSeverity": false,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n EOA (arb1:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682)\n +++ description: None\n```\n\n```diff\n contract UpgradeExecutor (arb1:0x9132151475ACCf0662C545Bc81FbC1741d978EE0) [orbitstack/UpgradeExecutor] {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n values.accessControl.EXECUTOR_ROLE.members.0:\n- \"arb1:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"arb1:0x79C2abE3eBA9dc119318FdAaA48118e1CDB53F56\"\n values.executors.0:\n- \"arb1:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"arb1:0x79C2abE3eBA9dc119318FdAaA48118e1CDB53F56\"\n }\n```\n\n```diff\n contract SequencerInbox (arb1:0xA3464bf0ed52cFe6676D3e34ab1F4DF53f193631) [orbitstack/SequencerInbox] {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.batchPosters.0:\n- \"arb1:0xeA64C25e6Ea873D5cffb045b80BEc605ABE06647\"\n+ \"arb1:0xfB61f6Dff37F794eE56D9A1Cf4BB73f189E92399\"\n values.dacKeyset.membersCount:\n- 2\n+ 1\n values.dacKeyset.blsSignatures.0:\n- \"YApRbu7H+AjeSIWZR9hor58IOyQQpMegfJZMOkxC/gdFNlGHiA4TuWZJYSlrme4dRgwze1tWGj/6gCBnmAEVAK0NU/BhNU7icU7/75If8uRz90tDlvo8xS4PGprjMRxQQANowPGZeGzeJY2sm8M2hsy5dwSQ095tox9dejriKW4+VyKlQa/CuqcbBk88EDQ64xTizu+wv9bf7pN3ZJ4Unz8A3AhLG5vEni2d4XsL2m53+HbMvrNAqa0PJWL9b1GPbQSlrbx+L3FdlX2XAwhTUoko1CnXGEqlGRBK16PXLlpGbNi45PV3wH4DMI6Rw9hWYhPH3d6eBuBc0CdNr037/NbzhPlP4zewn9RevvTPw2j0xMjdMpxCneOjo1d9vOsgJg==\"\n values.dacKeyset.blsSignatures.1:\n- \"YBGnBBd06sp05xER/T35yyrDaoydq8Gb5cLoQ7gy01PJGaHWLOTLep9G7RsKOuuxPRAwq7EkQhsNOOQcPgCVgWOzF/JlQ3h0z4LKDEiDyneNzNwECNb6XL/l0rNEtmY4IgHHu79wVCFsMTlhUOQjJfMyPvS4MC5K+ApoqaVJ1rtyXHy5Oh7Czs7HeEn/iXs1mRX1Q5LCs83IuUjsPTY6E/IO/3UsQFWiSNkEDzrbwoeNds0y/aAFII1Qij0AALumkBafe1hE+wuMxoEnIZmQKlR3Whxg8t4xl80QyHyYnNr2RPXq7ma7kDhX2mN/XBgyBAaf8U8qICxq/DVjMaS3dpjpwqjoXf/eFKKTRsG8x1WZRQsriPAXy1nN7QkjDKpbYQ==\"\n+ \"YBhPN6Tq6nXoJS041bPwKYcDeU1Y84s1URBM4MJHKup49TzNB/23scWwhETSvpAl1RnMwh0S/Z+LZ8UGFWlLYmquyJi5weYTsMF6rChTnuZnqY4I1zQZPemy5hK0sIJDlQaqb/llv/8ujT5q3p4DhBLXZ3eIUMcXs4j7F+QMNZyO87mbTnrulLiPfZbAno1SKg8k2Q76fbNPQs76GK4aseCPeA5hPguvjijDIqDVK5Ffz/PhQ6nap8K6UlApBm+CMBIOmAP9IdMyAVs+wirhgMvR88+JVhoMW9kU3F90bWks78tHYqASrw/lXBFI8TgiGhlvvsmUJAC3dyzjccjMyO0M05JjmM1i8bkAdYuCWRF0KV63rABVXUAFGtKAzrLPpw==\"\n values.keySetUpdates:\n- 2\n+ 3\n values.setIsBatchPosterCount:\n- 3\n+ 5\n }\n```\n\n```diff\n contract RollupProxy (arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914) [orbitstack/RollupProxy_fastConfirm] {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n+++ description: Minimum time delta between newly created nodes (stateUpdates). This is checked on `stakeOnNewNode()`. Format is number of ETHEREUM blocks, even for L3s.\n values.minimumAssertionPeriod:\n- 75\n+ 10\n+++ description: Increments on each Validator change.\n values.setValidatorCount:\n- 9\n+ 11\n values.validators.0:\n+ \"arb1:0x92D81CCc020E18C748f17178a71A7300d60c8816\"\n values.validators.1:\n- \"arb1:0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Gelato Multisig (arb1:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract EduFastConfirmerMultisig (arb1:0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"arb1:0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n+ \"arb1:0x92D81CCc020E18C748f17178a71A7300d60c8816\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Conduit Multisig 2 (arb1:0x79C2abE3eBA9dc119318FdAaA48118e1CDB53F56) [GnosisSafe]\n +++ description: None\n```"
}
]
},
{
"id": "270bf809",
"date": "Tue, 28 Apr 2026 15:45:05 GMT",
"timestamp": 1777390972,
"description": "Gelato Multisig (`arb1:0xBeA2Bc85...`) member rotation on Arbitrum: 4 signers removed (`0x28bB9385`, `0x349f3839`, `0xB65540bB`, `0x5bE3E96C`), 1 added (`0x6a0A93Cd`). Threshold dropped 4→3 and total signers 8→5 (50% → 60%). Same shared multisig as on Ethereum mainnet — see also `ethernity`, `ink`, `lisk`, `everclear`, `reya`.",
"isHighSeverity": false,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n EOA (arb1:0xB65540bBA534E88EB4a5062D0E6519C07063b259)\n +++ description: None\n```\n\n```diff\n contract Gelato Multisig (arb1:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.0:\n- \"arb1:0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.2:\n- \"arb1:0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"arb1:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682\"\n values.$members.4:\n- \"arb1:0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.$members.6:\n- \"arb1:0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$threshold:\n- 4\n+ 3\n values.multisigThreshold:\n- \"4 of 8 (50%)\"\n+ \"3 of 5 (60%)\"\n }\n```\n\n```diff\n+ Status: CREATED\n EOA (arb1:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682)\n +++ description: None\n```"
}
]
},
{
"id": "278fc2c5",
"date": "Thu, 26 Feb 2026 15:12:41 GMT",
"timestamp": 1772118697,
"description": "An EOA (0xB65540bB) used in educhain's discovery was upgraded to an EIP-7702 EOA with a GelatoDelegation smart account implementation (0x5aF42746). This enables ERC-4337 account abstraction features (validator management, user operations) via Gelato's delegation framework. The entryPoint is set to 0x4337084D (ERC-4337 EntryPoint).",
"isHighSeverity": true,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (arb1:0xB65540bBA534E88EB4a5062D0E6519C07063b259) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n sourceHashes:\n+ [\"0xa02612e698cdf0f165e76377b7aefb72b855bf88be73017b1ec214669fc409cf\"]\n values:\n+ {\"$implementation\":\"arb1:0x5aF42746a8Af42d8a4708dF238C53F1F71abF0E0\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"GelatoDelegation\",\"version\":\"0.0.1\",\"chainId\":42161,\"verifyingContract\":\"arb1:0xB65540bBA534E88EB4a5062D0E6519C07063b259\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"entryPoint\":\"arb1:0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108\"}\n }\n```"
}
]
},
{
"id": "2f408070",
"date": "Mon, 25 Aug 2025 14:08:42 GMT",
"timestamp": 1756118260,
"description": "Upgrade to ArbOS v40 wasmModuleRoot.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0xBaE3B462a2A7fb758F66D91170514C10B14Ce914) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v32 wasmModuleRoot\"\n+ \"ArbOS v40 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39\"\n+ \"0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a\"\n }\n```"
}
]
},
{
"id": "03057630",
"date": "Mon, 14 Jul 2025 13:11:49 GMT",
"timestamp": 1752498709,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 20,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract ChallengeManager (0x14dBe58192B60b5207b86c751255B34550Bd12Fb)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0x2F12c50b46adB01a4961AdDa5038c0974C7C78e8)\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x33c1514Bf90e202d242C299b37C60f908aa206D4)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ERC20Gateway (0x419e439e5c0B839d6e31d7C438939EEE1A4f4184)\n +++ description: Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x54E0923782b701044444De5d8c3A45aC890b0881)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (0x590044e628ea1B9C10a86738Cf7a7eeF52D031B8)\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0x6339965Cb3002f5c746895e4eD895bd775dbfdf9)\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0x6c21303F5986180B1394d2C89f3e883890E2867b)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0x9132151475ACCf0662C545Bc81FbC1741d978EE0)\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0xA3464bf0ed52cFe6676D3e34ab1F4DF53f193631)\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0xBaE3B462a2A7fb758F66D91170514C10B14Ce914)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n+ Status: CREATED\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RollupEventInbox (0xD36cd2624a7187ED41ec30FC1d6E6B7b3abAf251)\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0xD89d54007079071cBA859127318b9F34eeB78049)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract GatewayRouter (0xDa4ac9E9cB8Af8afBB2Df1ffe7b82efEA17ba0f6)\n +++ description: This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n```\n\n```diff\n+ Status: CREATED\n contract CustomGateway (0xDd7A9dEcBB0b16B37fE6777e245b18fC0aC63759)\n +++ description: Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0xE58a2dEb5718F9aAF2C1DdD0E366ED076D204cc4)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract EduFastConfirmerMultisig (0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0xf8E5e5562c2c12d8690786f5C9FA65F20F6bD881)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```"
}
]
},
{
"id": "b20cc28e",
"date": "Wed, 25 Jun 2025 07:30:44 GMT",
"timestamp": 1750836644,
"description": "operator changes.",
"isHighSeverity": false,
"changeCount": 19,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0xBaE3B462a2A7fb758F66D91170514C10B14Ce914) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n+++ description: Increments on each Validator change.\n values.setValidatorCount:\n- 8\n+ 9\n values.validators.5:\n- \"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n values.validators.4:\n- \"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"\n values.validators.3:\n- \"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\"\n values.validators.2:\n- \"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\"\n values.validators.1:\n- \"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\"\n+ \"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n values.validators.0:\n- \"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\"\n+ \"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"\n }\n```\n\n```diff\n EOA (0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635) {\n +++ description: None\n receivedPermissions.2:\n+ {\"permission\":\"validate\",\"from\":\"arbitrum:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"role\":\".validators\"}\n receivedPermissions.1:\n+ {\"permission\":\"fastconfirm\",\"from\":\"arbitrum:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\",\"role\":\".anyTrustFastConfirmer\",\"via\":[{\"address\":\"arbitrum:0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}]}\n receivedPermissions.0.via:\n+ [{\"address\":\"arbitrum:0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}]\n }\n```\n\n```diff\n contract EduFastConfirmerMultisig (0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b) {\n +++ description: None\n values.$members.4:\n- \"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n values.$members.3:\n- \"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\"\n values.$members.2:\n- \"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\"\n values.$members.1:\n- \"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\"\n values.$members.0:\n- \"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\"\n+ \"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n values.$threshold:\n- 3\n+ 1\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"1 of 1 (100%)\"\n receivedPermissions:\n- [{\"permission\":\"fastconfirm\",\"from\":\"arbitrum:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\",\"role\":\".anyTrustFastConfirmer\"},{\"permission\":\"validate\",\"from\":\"arbitrum:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"role\":\".validators\"}]\n directlyReceivedPermissions:\n+ [{\"permission\":\"fastconfirm\",\"from\":\"arbitrum:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\",\"role\":\".anyTrustFastConfirmer\"},{\"permission\":\"validate\",\"from\":\"arbitrum:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"role\":\".validators\"}]\n }\n```"
}
]
},
{
"id": "04d4c547",
"date": "Tue, 25 Mar 2025 08:43:34 GMT",
"timestamp": 1742892214,
"description": "Minor upgrade of Bridge, Inbox and SequencerInbox:\n- logic for tokens with custom decimals\n- 7702 adjustments\n- SequencerInbox upgraded to known implementation",
"isHighSeverity": true,
"changeCount": 23,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Bridge (0x2F12c50b46adB01a4961AdDa5038c0974C7C78e8) {\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n sourceHashes.1:\n- \"0x057de68a7007d55f4394ba6eafb2c802efcaf13583ff9342ea4d0ee3924d9be1\"\n+ \"0xa7e3f6c355703ed46fcb2156862c4f01792b87beb10a87a81ce3bd5beee79b67\"\n sourceHashes.0:\n- \"0xa7e3f6c355703ed46fcb2156862c4f01792b87beb10a87a81ce3bd5beee79b67\"\n+ \"0x32c73666d391a33c17183e4ab20bcb0f2b925d8a99da436d2ff99c13f403e289\"\n values.$implementation:\n- \"0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC\"\n+ \"0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd\"\n values.$pastUpgrades.1:\n+ [\"2024-07-26T09:58:55.000Z\",\"0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e\",[\"0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC\"]]\n values.$pastUpgrades.0.2.0:\n- \"0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC\"\n+ \"0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd\"\n values.$pastUpgrades.0.1:\n- \"2024-07-26T09:58:55.000Z\"\n+ \"0x1e6e3cb414d9098a4d0cc7791ca3c91da1152941b65b09e3cd925df0a78a276b\"\n values.$pastUpgrades.0.0:\n- \"0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e\"\n+ \"2025-03-24T11:48:05.000Z\"\n values.$upgradeCount:\n- 1\n+ 2\n values.nativeTokenDecimals:\n+ 18\n }\n```\n\n```diff\n contract Inbox (0x590044e628ea1B9C10a86738Cf7a7eeF52D031B8) {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n sourceHashes.0:\n- \"0xcb390b491549387c8fcc09fb22fbea7adf54cc74b7247a0c738369ddd7049b92\"\n+ \"0x25984fdfffb8141859c99299fb29e7a7460732d77111e5fe23792baa99f336a3\"\n values.$implementation:\n- \"0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab\"\n+ \"0xD87f160f8c414d834cBDd9477c3D8c3ad1802255\"\n values.$pastUpgrades.1:\n+ [\"2024-07-26T09:58:55.000Z\",\"0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e\",[\"0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab\"]]\n values.$pastUpgrades.0.2:\n- [\"0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab\"]\n+ \"0x0c2b46c93025ed6c2500f99e813d57f91bbdb89f4cb884f122948ab6ddbe135e\"\n values.$pastUpgrades.0.1:\n- \"2024-07-26T09:58:55.000Z\"\n+ [\"0xD87f160f8c414d834cBDd9477c3D8c3ad1802255\"]\n values.$pastUpgrades.0.0:\n- \"0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e\"\n+ \"2025-03-24T15:50:19.000Z\"\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n contract SequencerInbox (0xA3464bf0ed52cFe6676D3e34ab1F4DF53f193631) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.0:\n- \"0x50cf57b01499408fa99da27cf0fee96ec30f0d40667d1aa090c442bc80f0636b\"\n+ \"0x6bb86ac4bd0d31e049f543fcf0a8f94c952252222f115246ef9d5b8104d803cc\"\n values.$implementation:\n- \"0x7a299aD29499736994Aa3a9aFa3f476445FAEB2c\"\n+ \"0x7be08B013de2b23a6329De51C4994f841dcE1a10\"\n values.$pastUpgrades.1:\n+ [\"2024-07-26T09:58:55.000Z\",\"0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e\",[\"0x7a299aD29499736994Aa3a9aFa3f476445FAEB2c\"]]\n values.$pastUpgrades.0.2:\n- \"2024-07-26T09:58:55.000Z\"\n+ [\"0x7be08B013de2b23a6329De51C4994f841dcE1a10\"]\n values.$pastUpgrades.0.1:\n- [\"0x7a299aD29499736994Aa3a9aFa3f476445FAEB2c\"]\n+ \"0x0c2b46c93025ed6c2500f99e813d57f91bbdb89f4cb884f122948ab6ddbe135e\"\n values.$pastUpgrades.0.0:\n- \"0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e\"\n+ \"2025-03-24T15:50:19.000Z\"\n values.$upgradeCount:\n- 1\n+ 2\n }\n```"
}
]
},
{
"id": "eb495109",
"date": "Tue, 11 Mar 2025 12:02:34 GMT",
"timestamp": 1741694554,
"description": "2 more validators are staking (all are staking now).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0xBaE3B462a2A7fb758F66D91170514C10B14Ce914) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n values.stakerCount:\n- 4\n+ 6\n }\n```"
}
]
},
{
"id": "f800466f",
"date": "Mon, 10 Mar 2025 16:48:04 GMT",
"timestamp": 1741625284,
"description": "Add 4 validators.",
"isHighSeverity": false,
"changeCount": 18,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract undefined (0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"validate\",\"from\":\"0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"}]\n }\n```\n\n```diff\n contract undefined (0x834999E1D729Ead48Ae1Db1dAa11463102EccB77) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"validate\",\"from\":\"0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"}]\n }\n```\n\n```diff\n contract undefined (0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"validate\",\"from\":\"0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"}]\n }\n```\n\n```diff\n contract RollupProxy (0xBaE3B462a2A7fb758F66D91170514C10B14Ce914) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n issuedPermissions.8:\n+ {\"permission\":\"validate\",\"to\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.7:\n+ {\"permission\":\"validate\",\"to\":\"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.6:\n+ {\"permission\":\"validate\",\"to\":\"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.5:\n+ {\"permission\":\"validate\",\"to\":\"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.4.to:\n- \"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"\n+ \"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\"\n issuedPermissions.3.to:\n- \"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n+ \"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\"\n+++ description: Increments on each Validator change.\n values.setValidatorCount:\n- 7\n+ 8\n values.stakerCount:\n- 2\n+ 4\n values.validators.5:\n+ \"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\"\n values.validators.4:\n+ \"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n values.validators.3:\n+ \"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\"\n values.validators.2:\n+ \"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"\n values.validators.1:\n- \"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n+ \"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\"\n values.validators.0:\n- \"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"\n+ \"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\"\n }\n```\n\n```diff\n contract undefined (0xedbFE5493367F8fBc340276503D3c18D2C02E9AE) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"validate\",\"from\":\"0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"}]\n }\n```"
}
]
},
{
"id": "c99a2b48",
"date": "Fri, 07 Mar 2025 14:52:25 GMT",
"timestamp": 1741359145,
"description": "Validators removed, fastConfirmer MS threshold raised.",
"isHighSeverity": false,
"changeCount": 42,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0xBaE3B462a2A7fb758F66D91170514C10B14Ce914) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n issuedPermissions.16:\n- {\"permission\":\"validate\",\"to\":\"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[{\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}]}\n issuedPermissions.15:\n- {\"permission\":\"validate\",\"to\":\"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.14:\n- {\"permission\":\"validate\",\"to\":\"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[{\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}]}\n issuedPermissions.13:\n- {\"permission\":\"validate\",\"to\":\"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.12:\n- {\"permission\":\"validate\",\"to\":\"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[{\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}]}\n issuedPermissions.11:\n- {\"permission\":\"validate\",\"to\":\"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.10:\n- {\"permission\":\"validate\",\"to\":\"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[{\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}]}\n issuedPermissions.9:\n- {\"permission\":\"validate\",\"to\":\"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.8:\n- {\"permission\":\"validate\",\"to\":\"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[{\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}]}\n issuedPermissions.7:\n- {\"permission\":\"validate\",\"to\":\"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.6:\n- {\"permission\":\"upgrade\",\"to\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x9132151475ACCf0662C545Bc81FbC1741d978EE0\"}]}\n issuedPermissions.5:\n- {\"permission\":\"interact\",\"to\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"description\":\"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\",\"via\":[{\"address\":\"0x9132151475ACCf0662C545Bc81FbC1741d978EE0\"}]}\n issuedPermissions.4.permission:\n- \"fastconfirm\"\n+ \"validate\"\n issuedPermissions.4.to:\n- \"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\"\n+ \"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"\n issuedPermissions.4.description:\n- \"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"\n+ \"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"\n issuedPermissions.4.via.0:\n- {\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}\n issuedPermissions.3.permission:\n- \"fastconfirm\"\n+ \"validate\"\n issuedPermissions.3.description:\n- \"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"\n+ \"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"\n issuedPermissions.3.via.0:\n- {\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}\n issuedPermissions.2.permission:\n- \"fastconfirm\"\n+ \"upgrade\"\n issuedPermissions.2.to:\n- \"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n issuedPermissions.2.description:\n- \"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"\n issuedPermissions.2.via.0.address:\n- \"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"\n+ \"0x9132151475ACCf0662C545Bc81FbC1741d978EE0\"\n issuedPermissions.1.permission:\n- \"fastconfirm\"\n+ \"interact\"\n issuedPermissions.1.to:\n- \"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n issuedPermissions.1.description:\n- \"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"\n+ \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n issuedPermissions.1.via.0.address:\n- \"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"\n+ \"0x9132151475ACCf0662C545Bc81FbC1741d978EE0\"\n issuedPermissions.0.to:\n- \"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\"\n+ \"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"\n issuedPermissions.0.via.0:\n- {\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}\n values.baseStake:\n- \"100000000000000000\"\n+ \"10000000000000000\"\n values.currentRequiredStake:\n- \"100000000000000000\"\n+ \"10000000000000000\"\n+++ description: Increments on each Validator change.\n values.setValidatorCount:\n- 6\n+ 7\n values.validators.5:\n- \"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\"\n values.validators.4:\n- \"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n values.validators.3:\n- \"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\"\n values.validators.2:\n- \"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"\n values.validators.1:\n- \"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\"\n+ \"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n values.validators.0:\n- \"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\"\n+ \"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"\n }\n```\n\n```diff\n contract EduFastConfirmerMultisig (0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b) {\n +++ description: None\n directlyReceivedPermissions:\n- [{\"permission\":\"fastconfirm\",\"from\":\"0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"},{\"permission\":\"validate\",\"from\":\"0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"}]\n values.$threshold:\n- 1\n+ 3\n values.multisigThreshold:\n- \"1 of 5 (20%)\"\n+ \"3 of 5 (60%)\"\n receivedPermissions:\n+ [{\"permission\":\"fastconfirm\",\"from\":\"0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"},{\"permission\":\"validate\",\"from\":\"0xBaE3B462a2A7fb758F66D91170514C10B14Ce914\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"}]\n }\n```"
}
]
},
{
"id": "29792dcb",
"date": "Fri, 21 Feb 2025 13:51:36 GMT",
"timestamp": 1740145896,
"description": "Add operator addresses.\nConfig related: Set orbit stack contract categories.",
"isHighSeverity": false,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerInbox (0xA3464bf0ed52cFe6676D3e34ab1F4DF53f193631) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n issuedPermissions.0.to:\n- \"0x0816e1EeE08C701001e5a846f5ae2ee93FABb608\"\n+ \"0xeA64C25e6Ea873D5cffb045b80BEc605ABE06647\"\n values.batchPosters.0:\n- \"0x0816e1EeE08C701001e5a846f5ae2ee93FABb608\"\n+ \"0xeA64C25e6Ea873D5cffb045b80BEc605ABE06647\"\n values.setIsBatchPosterCount:\n- 1\n+ 3\n }\n```\n\n```diff\n contract RollupProxy (0xBaE3B462a2A7fb758F66D91170514C10B14Ce914) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n issuedPermissions.14.to:\n- \"0xbdA6d4ecbb176e12314361DF779bdB428f368163\"\n+ \"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n issuedPermissions.13.to:\n- \"0xbdA6d4ecbb176e12314361DF779bdB428f368163\"\n+ \"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n issuedPermissions.3.to:\n- \"0xbdA6d4ecbb176e12314361DF779bdB428f368163\"\n+ \"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n+++ description: Increments on each Validator change.\n values.setValidatorCount:\n- 4\n+ 6\n values.stakerCount:\n- 1\n+ 2\n values.validators.4:\n- \"0xbdA6d4ecbb176e12314361DF779bdB428f368163\"\n+ \"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n }\n```\n\n```diff\n contract EduFastConfirmerMultisig (0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b) {\n +++ description: None\n values.$members.4:\n- \"0xbdA6d4ecbb176e12314361DF779bdB428f368163\"\n+ \"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\"\n values.$members.3:\n- \"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\"\n+ \"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\"\n values.$members.2:\n- \"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\"\n+ \"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\"\n values.$members.1:\n- \"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\"\n+ \"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\"\n values.$members.0:\n- \"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\"\n+ \"0xd5950958024F46FcBe7C8D7Bb6815Ce35F654635\"\n }\n```"
}
]
},
{
"id": "d3288069",
"date": "Wed, 22 Jan 2025 12:13:06 GMT",
"timestamp": 1737547986,
"description": "New validators added to Fastconfirmer MS.",
"isHighSeverity": false,
"changeCount": 39,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0xBaE3B462a2A7fb758F66D91170514C10B14Ce914) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n issuedPermissions.16:\n+ {\"permission\":\"validate\",\"to\":\"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[{\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}]}\n issuedPermissions.15:\n+ {\"permission\":\"validate\",\"to\":\"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.14:\n+ {\"permission\":\"validate\",\"to\":\"0xbdA6d4ecbb176e12314361DF779bdB428f368163\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[{\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}]}\n issuedPermissions.13:\n+ {\"permission\":\"validate\",\"to\":\"0xbdA6d4ecbb176e12314361DF779bdB428f368163\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.12:\n+ {\"permission\":\"validate\",\"to\":\"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[{\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}]}\n issuedPermissions.11:\n+ {\"permission\":\"validate\",\"to\":\"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.10:\n+ {\"permission\":\"validate\",\"to\":\"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[{\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}]}\n issuedPermissions.9:\n+ {\"permission\":\"validate\",\"to\":\"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.8.to:\n- \"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\"\n+ \"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\"\n issuedPermissions.8.via.0:\n+ {\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}\n issuedPermissions.7.to:\n- \"0xbdA6d4ecbb176e12314361DF779bdB428f368163\"\n+ \"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\"\n issuedPermissions.7.via.0:\n- {\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}\n issuedPermissions.6.permission:\n- \"validate\"\n+ \"upgrade\"\n issuedPermissions.6.to:\n- \"0xbdA6d4ecbb176e12314361DF779bdB428f368163\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n issuedPermissions.6.description:\n- \"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"\n issuedPermissions.6.via.0:\n+ {\"address\":\"0x9132151475ACCf0662C545Bc81FbC1741d978EE0\"}\n issuedPermissions.5.permission:\n- \"validate\"\n+ \"fastconfirm\"\n issuedPermissions.5.to:\n- \"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\"\n+ \"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\"\n issuedPermissions.5.description:\n- \"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"\n+ \"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"\n issuedPermissions.5.via.0:\n+ {\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}\n issuedPermissions.4.permission:\n- \"validate\"\n+ \"fastconfirm\"\n issuedPermissions.4.to:\n- \"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\"\n+ \"0xbdA6d4ecbb176e12314361DF779bdB428f368163\"\n issuedPermissions.4.description:\n- \"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"\n+ \"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"\n issuedPermissions.4.via.0:\n+ {\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}\n issuedPermissions.3.permission:\n- \"validate\"\n+ \"fastconfirm\"\n issuedPermissions.3.to:\n- \"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\"\n+ \"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\"\n issuedPermissions.3.description:\n- \"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"\n+ \"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"\n issuedPermissions.3.via.0:\n+ {\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}\n issuedPermissions.2.permission:\n- \"upgrade\"\n+ \"fastconfirm\"\n issuedPermissions.2.to:\n- \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\"\n issuedPermissions.2.via.0.address:\n- \"0x9132151475ACCf0662C545Bc81FbC1741d978EE0\"\n+ \"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"\n issuedPermissions.2.description:\n+ \"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"\n issuedPermissions.1.to:\n- \"0xbdA6d4ecbb176e12314361DF779bdB428f368163\"\n+ \"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\"\n }\n```\n\n```diff\n contract EduFastConfirmerMultisig (0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b) {\n +++ description: None\n values.$members.4:\n+ \"0xbdA6d4ecbb176e12314361DF779bdB428f368163\"\n values.$members.3:\n+ \"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\"\n values.$members.2:\n+ \"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\"\n values.$members.1:\n+ \"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\"\n values.$members.0:\n- \"0xbdA6d4ecbb176e12314361DF779bdB428f368163\"\n+ \"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\"\n values.multisigThreshold:\n- \"1 of 1 (100%)\"\n+ \"1 of 5 (20%)\"\n }\n```"
}
]
},
{
"id": "b45e9e88",
"date": "Mon, 20 Jan 2025 12:08:57 GMT",
"timestamp": 1737374937,
"description": "GelatoMS signer changes + add validators.",
"isHighSeverity": false,
"changeCount": 18,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0xBaE3B462a2A7fb758F66D91170514C10B14Ce914) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n issuedPermissions.8:\n+ {\"permission\":\"validate\",\"to\":\"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.7:\n+ {\"permission\":\"validate\",\"to\":\"0xbdA6d4ecbb176e12314361DF779bdB428f368163\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[{\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}]}\n issuedPermissions.6:\n+ {\"permission\":\"validate\",\"to\":\"0xbdA6d4ecbb176e12314361DF779bdB428f368163\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.5:\n+ {\"permission\":\"validate\",\"to\":\"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.4.to:\n- \"0xbdA6d4ecbb176e12314361DF779bdB428f368163\"\n+ \"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\"\n issuedPermissions.4.via.0:\n- {\"address\":\"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"}\n issuedPermissions.3.to:\n- \"0xbdA6d4ecbb176e12314361DF779bdB428f368163\"\n+ \"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\"\n+++ description: Increments on each Validator change.\n values.setValidatorCount:\n- 2\n+ 4\n values.validators.5:\n+ \"0xedbFE5493367F8fBc340276503D3c18D2C02E9AE\"\n values.validators.4:\n+ \"0xbdA6d4ecbb176e12314361DF779bdB428f368163\"\n values.validators.3:\n+ \"0xa7F450595Db1e14E70570a1AdFA15678fbC7bceD\"\n values.validators.2:\n+ \"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"\n values.validators.1:\n- \"0xbdA6d4ecbb176e12314361DF779bdB428f368163\"\n+ \"0x834999E1D729Ead48Ae1Db1dAa11463102EccB77\"\n values.validators.0:\n- \"0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b\"\n+ \"0x62A5cE01D91fEe98678D4346890c8E7ABB4695A6\"\n }\n```\n\n```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.7:\n- \"0xebD4919C075417a86F19713dADe101852867A04F\"\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.6:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.4:\n- \"0xc85aC6d2fdC376F335455D4cCA30c45ED1080849\"\n+ \"0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.$members.3:\n- \"0xBc0ca6865d6883a83D4aDDD6b862aE042d855E0d\"\n+ \"0x88De44422E1b1c30bc530c35aEdb9f5aD0e6fD52\"\n }\n```"
}
]
},
{
"id": "47119c30",
"date": "Fri, 17 Jan 2025 08:36:40 GMT",
"timestamp": 1737103000,
"description": "Gelato MS upgraded to known shape, 1 signer removed, threshold decreased to 4.",
"isHighSeverity": true,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x59fe14e95a8aa7f52213f18bae5c9329cf583a7ba31194698b15eddb97d5e825\"\n values.$implementation:\n- \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\"\n values.$members.8:\n- \"0xebD4919C075417a86F19713dADe101852867A04F\"\n values.$members.7:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0xebD4919C075417a86F19713dADe101852867A04F\"\n values.$members.6:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.5:\n- \"0x27b1682E9C5Cb0E58Ff474F3a13EeCC36E708ad3\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.$threshold:\n- 5\n+ 4\n values.multisigThreshold:\n- \"5 of 9 (56%)\"\n+ \"4 of 8 (50%)\"\n derivedName:\n- \"GnosisSafe\"\n+ \"GnosisSafeL2\"\n }\n```"
}
]
},
{
"id": "839e830e",
"date": "Thu, 16 Jan 2025 15:20:55 GMT",
"timestamp": 1737040855,
"description": "Standard orbit stack L3 with native token EDU and admin EOA, launch on Dec 2nd (Gelato). Postponed to Jan 2025.",
"isHighSeverity": false,
"changeCount": 20,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract ChallengeManager (0x14dBe58192B60b5207b86c751255B34550Bd12Fb)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n+ Status: CREATED\n contract ERC20Bridge (0x2F12c50b46adB01a4961AdDa5038c0974C7C78e8)\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x33c1514Bf90e202d242C299b37C60f908aa206D4)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract L1OrbitERC20Gateway (0x419e439e5c0B839d6e31d7C438939EEE1A4f4184)\n +++ description: Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x54E0923782b701044444De5d8c3A45aC890b0881)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ERC20Inbox (0x590044e628ea1B9C10a86738Cf7a7eeF52D031B8)\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```\n\n```diff\n+ Status: CREATED\n contract ERC20Outbox (0x6339965Cb3002f5c746895e4eD895bd775dbfdf9)\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0x6c21303F5986180B1394d2C89f3e883890E2867b)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0x9132151475ACCf0662C545Bc81FbC1741d978EE0)\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0xA3464bf0ed52cFe6676D3e34ab1F4DF53f193631)\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0xBaE3B462a2A7fb758F66D91170514C10B14Ce914)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n+ Status: CREATED\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ERC20RollupEventInbox (0xD36cd2624a7187ED41ec30FC1d6E6B7b3abAf251)\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0xD89d54007079071cBA859127318b9F34eeB78049)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract L1OrbitGatewayRouter (0xDa4ac9E9cB8Af8afBB2Df1ffe7b82efEA17ba0f6)\n +++ description: This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n```\n\n```diff\n+ Status: CREATED\n contract L1OrbitCustomGateway (0xDd7A9dEcBB0b16B37fE6777e245b18fC0aC63759)\n +++ description: Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0xE58a2dEb5718F9aAF2C1DdD0E366ED076D204cc4)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract EduFastConfirmerMultisig (0xF4620078b10CDfD0Dc8E4BCec4250642fa5B517b)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0xf8E5e5562c2c12d8690786f5C9FA65F20F6bD881)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```"
}
]
}
]
+0 -5
+0 -5
{
"daLayer": "ethereum",
"name": "Enshrined Bridge",
"risks": {
"daBridge": {
"value": "Enshrined",
"sentiment": "good",
"description": "Rollup users have access to all the data, as it is posted onchain on the consensus layer. On the execution layer, the rollup relies on blob data commitment (versioned hashes), which are accessible through the BLOBHASH opcode. \nThe rollup smart contracts can use these blob commitments during state transition validation to reference blobs during proof verification, without requiring direct access to the raw blob data.\n "
},
"callout": "Unlike non-enshrined DA bridges, it does not place any honesty\nassumption on an external committee that provides data availability\nattestations to the DA bridge. From the rollup perspective,\nEthereum's canonical chain cannot contain unavailable data\ncommitments as full nodes self-verify the data availability of each\nblock, discarding blocks with unavailable data. The rollup state\nvalidating bridge has access to all the data, as it is posted on chain."
},
"technology": {
"description": "## Enshrined Bridge\nThe DA bridge on Ethereum is enshrined, meaning that blob data is directly accessible on the consensus layer, with data availability guaranteed by the network's inherent consensus rules. \nIf a block contains unavailable data, full nodes will reject it, causing the chain to fork away from that block. This ensures data availability without requiring additional trust assumptions. \nIn contrast, external DA providers must rely on data availability attestations from the external validator set, introducing an extra layer of trust on the majority of validators."
},
"usedIn": [
{
"id": "abstract",
"name": "Abstract",
"slug": "abstract"
},
{
"id": "adi",
"name": "ADI Chain",
"slug": "adi"
},
{
"id": "apechain",
"name": "ApeChain",
"slug": "apechain"
},
{
"id": "nova",
"name": "Arbitrum Nova",
"slug": "nova"
},
{
"id": "arbitrum",
"name": "Arbitrum One",
"slug": "arbitrum"
},
{
"id": "aztecnetwork",
"name": "Aztec Network",
"slug": "aztecnetwork"
},
{
"id": "base",
"name": "Base Chain",
"slug": "base"
},
{
"id": "blast",
"name": "Blast",
"slug": "blast"
},
{
"id": "bob",
"name": "BOB",
"slug": "bob"
},
{
"id": "bobanetwork",
"name": "Boba Network",
"slug": "bobanetwork"
},
{
"id": "cartesi-prt-honeypot-v2",
"name": "Cartesi PRT Honeypot v2",
"slug": "cartesi-prt-honeypot-v2"
},
{
"id": "dbk",
"name": "DeBank Chain",
"slug": "dbk"
},
{
"id": "deri",
"name": "Deri",
"slug": "deri"
},
{
"id": "ethscriptions",
"name": "Ethscriptions",
"slug": "ethscriptions"
},
{
"id": "facet",
"name": "Facet",
"slug": "facet"
},
{
"id": "fluent",
"name": "Fluent",
"slug": "fluent"
},
{
"id": "hashkey",
"name": "HashKey Chain",
"slug": "hashkey"
},
{
"id": "hemi",
"name": "Hemi",
"slug": "hemi"
},
{
"id": "ink",
"name": "Ink",
"slug": "ink"
},
{
"id": "katana",
"name": "Katana",
"slug": "katana"
},
{
"id": "lighter",
"name": "Lighter",
"slug": "lighter"
},
{
"id": "linea",
"name": "Linea",
"slug": "linea"
},
{
"id": "lisk",
"name": "Lisk",
"slug": "lisk"
},
{
"id": "mantle",
"name": "Mantle",
"slug": "mantle"
},
{
"id": "metal",
"name": "Metal",
"slug": "metal"
},
{
"id": "metis",
"name": "Metis Andromeda",
"slug": "metis"
},
{
"id": "mode",
"name": "Mode Network",
"slug": "mode"
},
{
"id": "morph",
"name": "Morph",
"slug": "morph"
},
{
"id": "optimism",
"name": "OP Mainnet",
"slug": "op-mainnet"
},
{
"id": "phala",
"name": "Phala",
"slug": "phala"
},
{
"id": "robinhood",
"name": "Robinhood Chain",
"slug": "robinhood"
},
{
"id": "scroll",
"name": "Scroll",
"slug": "scroll"
},
{
"id": "settlus",
"name": "Settlus",
"slug": "settlus"
},
{
"id": "shape",
"name": "Shape",
"slug": "shape"
},
{
"id": "soneium",
"name": "Soneium",
"slug": "soneium"
},
{
"id": "starknet",
"name": "Starknet",
"slug": "starknet"
},
{
"id": "swan",
"name": "Swan Chain",
"slug": "swan"
},
{
"id": "taiko",
"name": "Taiko Alethia",
"slug": "taiko"
},
{
"id": "unichain",
"name": "Unichain",
"slug": "unichain"
},
{
"id": "worldchain",
"name": "World Chain",
"slug": "world"
},
{
"id": "xlayer",
"name": "X Layer",
"slug": "xlayer"
},
{
"id": "zircuit",
"name": "Zircuit",
"slug": "zircuit"
},
{
"id": "zksync2",
"name": "ZKsync Era",
"slug": "zksync-era"
},
{
"id": "zora",
"name": "Zora",
"slug": "zora"
}
]
}
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Funki Multisig 1",
"name": "Funki Multisig 1",
"description": "A Multisig with 3/4 threshold. \n* Can upgrade **with no delay**\n * OptimismPortal2 [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * DataAvailabilityChallenge [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with DelayedWETH\n * can pull funds from the contract in case of emergency \n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type ",
"accounts": [
{
"address": "eth:0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD",
"type": "Contract",
"isVerified": true,
"name": "0x89CB…fbCD",
"url": "https://etherscan.io/address/0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 3",
"url": "https://etherscan.io/address/0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7"
},
{
"address": "eth:0xaC79765A73eB9dcBd3c427181E6819902AE25b48",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 1",
"url": "https://etherscan.io/address/0xaC79765A73eB9dcBd3c427181E6819902AE25b48"
},
{
"address": "eth:0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 2",
"url": "https://etherscan.io/address/0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2"
},
{
"address": "eth:0xf0AE006C6f810831DA1d2A061288575fB5082144",
"type": "EOA",
"isVerified": true,
"name": "Funki",
"url": "https://etherscan.io/address/0xf0AE006C6f810831DA1d2A061288575fB5082144"
}
],
"discoveryDrivenData": true
},
{
"id": "Funki Multisig 2",
"name": "Funki Multisig 2",
"description": "A Multisig with 3/4 threshold. \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"accounts": [
{
"address": "eth:0x3D389212A78FD7D4600C9483470e59630C293416",
"type": "Contract",
"isVerified": true,
"name": "0x3D38…3416",
"url": "https://etherscan.io/address/0x3D389212A78FD7D4600C9483470e59630C293416"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 3",
"url": "https://etherscan.io/address/0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7"
},
{
"address": "eth:0xaC79765A73eB9dcBd3c427181E6819902AE25b48",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 1",
"url": "https://etherscan.io/address/0xaC79765A73eB9dcBd3c427181E6819902AE25b48"
},
{
"address": "eth:0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 2",
"url": "https://etherscan.io/address/0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2"
},
{
"address": "eth:0xc0CE2761d5cC92d25dB6ccD95e4b9483eD22D11B",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"address": "eth:0xa564C83958f7F9fA5a255a540EF5e49445873104",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
"name": "0xa564…3104",
"url": "https://etherscan.io/address/0xa564C83958f7F9fA5a255a540EF5e49445873104"
},
{
"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:0xc0CE2761d5cC92d25dB6ccD95e4b9483eD22D11B",
"type": "EOA",
"isVerified": true,
"name": "0xc0CE…D11B",
"url": "https://etherscan.io/address/0xc0CE2761d5cC92d25dB6ccD95e4b9483eD22D11B",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "Member of Funki Multisig 2.\n* Can interact with DataAvailabilityChallenge\n * can upgrade the parameters of DA challenges like the bond size or refund percentages, potentially making challenges infeasable or insecure ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xE840FF9BCC3de1097a8BF51bDD60b996dA971208",
"type": "EOA",
"isVerified": true,
"name": "0xE840…1208",
"url": "https://etherscan.io/address/0xE840FF9BCC3de1097a8BF51bDD60b996dA971208",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1790808269,
"baseTimestamp": 1792587967,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "c73cbbdf",
"date": "Wed, 21 Oct 2026 13:06:13 GMT",
"timestamp": 1792587967,
"description": "OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n+ \"eth:0xa564C83958f7F9fA5a255a540EF5e49445873104\"\n }\n```"
}
]
},
{
"id": "5e1c26a8",
"date": "Wed, 30 Sep 2026 22:47:32 GMT",
"timestamp": 1790808269,
"description": "OP Contracts Upgrade 20 (op-contracts/v8.0.0-rc.3): the shared SuperchainConfig implementation was upgraded v2.4.2 → v2.4.3 on 2026-09-24. Version bump only; no chain-specific contract changed. ([diff](https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504))",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n+ \"0xb74ed3aa109bd981b095c02d6e3bda2b2467d40e9d1060b4c89b01de32ebad3a\"\n values.$implementation:\n- \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n+ \"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$upgradeCount:\n- 8\n+ 12\n values.version:\n- \"2.4.2\"\n+ \"2.4.3\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n- \"SuperchainConfig\"\n implementationNames.eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "6f479007",
"date": "Thu, 10 Sep 2026 12:49:13 GMT",
"timestamp": 1789044471,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "555cd99d",
"date": "Tue, 04 Aug 2026 21:28:10 GMT",
"timestamp": 1785878806,
"description": "Guardian intervention by the operator: a resolved PermissionedDisputeGame proposal (`0x586a…77ef`) was blacklisted on the OptimismPortal2 and the AnchorStateRegistry anchor was reset from a separate, valid game. Since the guardian role is derived from the Superchain-wide SuperchainConfig, both contracts were temporarily upgraded to `SuperchainConfigSetter` implementations pointing `superchainConfig` at an operator-controlled deployment; minutes later the pointer and original implementations were restored.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (eth:0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n values.$pastUpgrades.3:\n+ [\"2026-08-04T16:03:59.000Z\",\"0x8ae9c575a81b99b976cceca3ea4e08fdf2232457ebc85647258a002bd7077ef2\",[\"eth:0xa702D767ef8a7ba06eD0d605Fe584e2C42eeED44\"]]\n values.$pastUpgrades.4:\n+ [\"2026-08-04T16:10:23.000Z\",\"0x528836e8c2f19b30fdecacb75a0bcf31e85f9b6dd7363a0b73f47daa42484d9c\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$upgradeCount:\n- 3\n+ 5\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3) [opstack/AnchorStateRegistry] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n values.$pastUpgrades.1:\n+ [\"2026-08-04T15:46:11.000Z\",\"0x33432ac905eeae713da21603bc69ede8dfadcf94fcdd49f234e77d7550bc9d53\",[\"eth:0x46D4f9b61cEC319902b007F4253d376ecA73875F\"]]\n values.$pastUpgrades.2:\n+ [\"2026-08-04T16:04:59.000Z\",\"0x30d1456049b58e81d1504f46ef56bd93c735e26e4d5ad8c0b34fde1563f87506\",[\"eth:0xf6746e055414a3FcA38F0e8e9dD3926A9A518719\"]]\n values.$upgradeCount:\n- 1\n+ 3\n }\n```"
}
]
},
{
"id": "00fb76c9",
"date": "Fri, 17 Jul 2026 10:10:08 GMT",
"timestamp": 1784282928,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "55e15a71",
"date": "Mon, 06 Jul 2026 07:56:55 GMT",
"timestamp": 1783324534,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling). Batcher rotated (`0xE33D…D7d2` → `0xE840…1208`). PermissionedDisputeGame redeployed to rotate proposer (`0x30B6…2AC8` → `0xC7D3…0496`); other params unchanged ([diff](https://disco.l2beat.com/diff/eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117/eth:0x63A70Bb5e1C613B5D2fCA1dac70C1408A271C0bE)).",
"isHighSeverity": true,
"changeCount": 12,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117\"\n+ \"eth:0x63A70Bb5e1C613B5D2fCA1dac70C1408A271C0bE\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0xE33DbfDd77D969c3c55fE420E8AF4dCCac4Dd7d2\"\n+ \"eth:0xE840FF9BCC3de1097a8BF51bDD60b996dA971208\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x63A70Bb5e1C613B5D2fCA1dac70C1408A271C0bE) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "b47dbf73",
"date": "Mon, 08 Jun 2026 13:32:21 GMT",
"timestamp": 1780925476,
"description": "PermissionedDisputeGame clone redeployed with new proposer + challenger immutable args ([diff](https://disco.l2beat.com/diff/eth:0x695F652b03470F396789cF007278F922e1726B94/eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117)). SystemConfig `batcherHash` + `unsafeBlockSigner` rotated.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x695F652b03470F396789cF007278F922e1726B94) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x695F652b03470F396789cF007278F922e1726B94\"\n+ \"eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0x4712454AddDbAbACaAb84916546899CA9690A6fF\"\n+ \"eth:0xE33DbfDd77D969c3c55fE420E8AF4dCCac4Dd7d2\"\n values.unsafeBlockSigner:\n- \"eth:0xa54e493641d097d164A6a2D8F9895303344d88A9\"\n+ \"eth:0x039d75D5DA1834d291E911Fe58599d077184D01a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "bc137cee",
"date": "Fri, 15 May 2026 13:11:07 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "6f0f1824",
"date": "Tue, 05 May 2026 15:19:39 GMT",
"timestamp": 1777994313,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "7713c532",
"date": "Wed, 25 Mar 2026 10:07:18 GMT",
"timestamp": 1774433174,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "450547af",
"date": "Fri, 27 Feb 2026 13:21:04 GMT",
"timestamp": 1772198384,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "381079e4",
"date": "Mon, 26 Jan 2026 09:08:12 GMT",
"timestamp": 1769272331,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "e39193c7",
"date": "Thu, 18 Dec 2025 08:56:48 GMT",
"timestamp": 1766048122,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "88dd24a8",
"date": "Fri, 28 Nov 2025 09:53:23 GMT",
"timestamp": 1764323514,
"description": "Jovian upgrade.",
"isHighSeverity": true,
"changeCount": 103,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x0B3476949e1C82160575295f58720E16EeD2BF7b) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\",\"role\":\".challenger\"}\n receivedPermissions.1.role:\n- \".CHALLENGER\"\n+ \".challenger\"\n receivedPermissions.1.from:\n- \"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\"\n+ \"eth:0x695F652b03470F396789cF007278F922e1726B94\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x025eaa1cbd7fa48ee7b33fc45374ef90b0676ec3a15bd7224a4cb394cc343b7d\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0x90b82d6EFBA56Dcc0f1B55B8d50952c2eB9640e0\"\n+ \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.1:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"eth:0x052a8cd5967bc3Bdb5660c989a3A68bCA683A077\"\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.l2Oracle:\n- \"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\"\n values.superchainConfig:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.version:\n- \"2.8.1-beta.1\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1764125519\n implementationNames.eth:0x90b82d6EFBA56Dcc0f1B55B8d50952c2eB9640e0:\n- \"OptimismPortal\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n+ \"OptimismPortal2\"\n fieldMeta:\n+ {\"respectedGameType\":{\"severity\":\"HIGH\"},\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\",\"1337\":\"KailuaGame\"}}]\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$implementation:\n- \"eth:0x459FdC15D88f9bD6AD7B547ef7F4542330a0BBce\"\n+ \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.$pastUpgrades.1:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.eth:0x459FdC15D88f9bD6AD7B547ef7F4542330a0BBce:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract Funki Multisig 1 (eth:0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD) {\n +++ description: None\n receivedPermissions.1.description:\n+ \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.1.via:\n- [{\"address\":\"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]\n receivedPermissions.1.role:\n- \"admin\"\n+ \".owner\"\n receivedPermissions.1.from:\n- \"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\"\n+ \"eth:0x97E417DC6f93adBe742733095C16FFE91B9d7530\"\n receivedPermissions.1.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x97E417DC6f93adBe742733095C16FFE91B9d7530\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]}\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]}\n receivedPermissions.8.from:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x8F56a665c376A08b604DD32ee6E88667A6093172) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x4d4c8988a076d9b4f8e7056a3223ce908cacc5888a54ae3940f1c8d7b7aae742\"\n+ \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n values.$implementation:\n- \"eth:0x96f41d8f175F7907Afa78C565f564C9114C9Bd20\"\n+ \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.$pastUpgrades.1:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.systemConfig:\n- \"eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8\"\n values.version:\n- \"2.4.0\"\n+ \"2.3.0\"\n implementationNames.eth:0x96f41d8f175F7907Afa78C565f564C9114C9Bd20:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x56b8df1d0d704ad119f31879a8c1446528dbdc9130c3442ae76a2991ca1df17a\"\n+ \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n values.$implementation:\n- \"eth:0x5E739e53106a0d1516196aa9E8EE402CaCC7B768\"\n+ \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.$pastUpgrades.1:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.version:\n- \"2.1.1+beta.1\"\n+ \"2.1.0\"\n implementationNames.eth:0x5E739e53106a0d1516196aa9E8EE402CaCC7B768:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n EOA (eth:0xA1ddae0829c3bD4096c34aEC58b2BC21e3a6d10E) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"propose\",\"from\":\"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\",\"role\":\".proposer\"}\n receivedPermissions.1.role:\n- \".PROPOSER\"\n+ \".proposer\"\n receivedPermissions.1.from:\n- \"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\"\n+ \"eth:0x695F652b03470F396789cF007278F922e1726B94\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xe3ebd11527e7e2cc700c4894d46405fa80fdd55e1f6074a122818a25141db5f2\"\n+ \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n values.$implementation:\n- \"eth:0x64F1e21412f61e9Ceda3b65FcFC5A4739c7eBBeE\"\n+ \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.superchainConfig:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.systemConfig:\n- \"eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8\"\n values.version:\n- \"2.2.0\"\n+ \"2.1.0\"\n implementationNames.eth:0x64F1e21412f61e9Ceda3b65FcFC5A4739c7eBBeE:\n- \"L1StandardBridge\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957) {\n +++ description: None\n directlyReceivedPermissions.1:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x97E417DC6f93adBe742733095C16FFE91B9d7530\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98\",\"role\":\"admin\"}\n directlyReceivedPermissions.8.from:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x37e4bc420a724954556b571c6d8bc8c72d7c7f2b6c48465c65d895e51d5bbc10\"\n+ \"0xf2ca03f1fb80fdb3c1281ea41b46245c8e6811a03a9ad7129f60cfedaac0e231\"\n values.$implementation:\n- \"eth:0xaE0CdC4960335A99D833d0c7Ae99b3ae0fa3c20C\"\n+ \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.1:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.basefeeScalar:\n- 2269\n+ 1\n values.blobbasefeeScalar:\n- 0\n+ 1\n values.disputeGameFactory:\n- \"eth:0x2Dc9d2Cb1Ba0b8A46AE252ab4FBE1ad5C5c3B795\"\n+ \"eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98\"\n values.version:\n- \"2.3.0-beta.2\"\n+ \"2.3.0\"\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n implementationNames.eth:0xaE0CdC4960335A99D833d0c7Ae99b3ae0fa3c20C:\n- \"SystemConfig\"\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SuperchainConfig (eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (eth:0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x695F652b03470F396789cF007278F922e1726B94)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x97E417DC6f93adBe742733095C16FFE91B9d7530)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (eth:0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "61008130",
"date": "Mon, 14 Jul 2025 12:45:07 GMT",
"timestamp": 1752497107,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L2OutputOracle (0x1A9aE6486caEc0504657351ac473B3dF8A1367cb)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract Funki Multisig 2 (0x3D389212A78FD7D4600C9483470e59630C293416)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x5a4ebF927338EA6af377caEee99C85088908f57D)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract Funki Multisig 1 (0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x8F56a665c376A08b604DD32ee6E88667A6093172)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xD069C4724f9bC15FA53b3b2516594512AEf8c957)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xD39a6CcCFa23cb741bB530497e42EC337f1215a8)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract DataAvailabilityChallenge (0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD)\n +++ description: The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n```"
}
]
},
{
"id": "d09ecccd",
"date": "Sun, 06 Apr 2025 08:20:46 GMT",
"timestamp": 1743927646,
"description": "Operators change, no change to implementations.",
"isHighSeverity": true,
"changeCount": 67,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2OutputOracle (0x1A9aE6486caEc0504657351ac473B3dF8A1367cb) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n issuedPermissions.2.permission:\n- \"propose\"\n+ \"upgrade\"\n issuedPermissions.2.to:\n- \"0x7a7690bBAb496537Ac59B45B4c59d789233BcA16\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.2.via.0:\n+ {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.1.to:\n- \"0x9f8b2470ffECbca2FFda20B9e10f6a12F33BC2Ce\"\n+ \"0x0B3476949e1C82160575295f58720E16EeD2BF7b\"\n issuedPermissions.0.permission:\n- \"upgrade\"\n+ \"propose\"\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0xA1ddae0829c3bD4096c34aEC58b2BC21e3a6d10E\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0:\n- {\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}\n values.$pastUpgrades.2:\n+ [\"2025-04-05T13:02:59.000Z\",\"0x36b019357e2b55f4676855c5ae23f1e9d02c42fd9e01bbe2873f51be02ec3b8f\",[\"0xA3facd35d9a0BD9Df1603E00F10D7b0f9Ee5f587\"]]\n values.$pastUpgrades.1:\n+ [\"2024-07-17T10:46:23.000Z\",\"0x3dc0389b8d624e6c853fcbcba1321b88a48cefdcf2000af75c986263414c312d\",[\"0xA3facd35d9a0BD9Df1603E00F10D7b0f9Ee5f587\"]]\n values.$pastUpgrades.0.2:\n- \"2024-07-17T10:46:23.000Z\"\n+ [\"0xA9D78F579f1B30194F3c2Ca1987A9B91A33BDF08\"]\n values.$pastUpgrades.0.1:\n- \"0x3dc0389b8d624e6c853fcbcba1321b88a48cefdcf2000af75c986263414c312d\"\n+ \"0xe6eedfdce548f3eaa2abd10d1d2195d00cc231b28017490753ea5739bc26bdca\"\n values.$pastUpgrades.0.0:\n- [\"0xA3facd35d9a0BD9Df1603E00F10D7b0f9Ee5f587\"]\n+ \"2025-04-05T12:57:35.000Z\"\n values.$upgradeCount:\n- 1\n+ 3\n+++ severity: HIGH\n values.challenger:\n- \"0x9f8b2470ffECbca2FFda20B9e10f6a12F33BC2Ce\"\n+ \"0x0B3476949e1C82160575295f58720E16EeD2BF7b\"\n values.CHALLENGER:\n- \"0x9f8b2470ffECbca2FFda20B9e10f6a12F33BC2Ce\"\n+ \"0x0B3476949e1C82160575295f58720E16EeD2BF7b\"\n+++ severity: HIGH\n values.proposer:\n- \"0x7a7690bBAb496537Ac59B45B4c59d789233BcA16\"\n+ \"0xA1ddae0829c3bD4096c34aEC58b2BC21e3a6d10E\"\n values.PROPOSER:\n- \"0x7a7690bBAb496537Ac59B45B4c59d789233BcA16\"\n+ \"0xA1ddae0829c3bD4096c34aEC58b2BC21e3a6d10E\"\n }\n```\n\n```diff\n contract AddressManager (0x5a4ebF927338EA6af377caEee99C85088908f57D) {\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0.address:\n- \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n+ \"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"\n }\n```\n\n```diff\n contract OptimismPortal (0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22) {\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n issuedPermissions.1.permission:\n- \"guard\"\n+ \"upgrade\"\n issuedPermissions.1.to:\n- \"0x052a8cd5967bc3Bdb5660c989a3A68bCA683A077\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.1.via.0:\n+ {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.permission:\n- \"upgrade\"\n+ \"guard\"\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x052a8cd5967bc3Bdb5660c989a3A68bCA683A077\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0:\n- {\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0.address:\n- \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n+ \"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"\n }\n```\n\n```diff\n contract Funki Multisig 1 (0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD) {\n +++ description: None\n values.$members.3:\n+ \"0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2\"\n values.$members.2:\n+ \"0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7\"\n values.$members.1:\n+ \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n values.$members.0:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0xaC79765A73eB9dcBd3c427181E6819902AE25b48\"\n values.$threshold:\n- 1\n+ 3\n values.multisigThreshold:\n- \"1 of 1 (100%)\"\n+ \"3 of 4 (75%)\"\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"0x5a4ebF927338EA6af377caEee99C85088908f57D\",\"description\":\"set and change address mappings.\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC\",\"description\":\"upgrading the bridge implementation can give access to all funds escrowed therein.\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0xD39a6CcCFa23cb741bB530497e42EC337f1215a8\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]}]\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0.address:\n- \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n+ \"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"\n }\n```\n\n```diff\n contract L1StandardBridge (0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0.address:\n- \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n+ \"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"\n }\n```\n\n```diff\n contract SystemConfig (0xD39a6CcCFa23cb741bB530497e42EC337f1215a8) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n issuedPermissions.2.permission:\n- \"interact\"\n+ \"upgrade\"\n issuedPermissions.2.to:\n- \"0x3D389212A78FD7D4600C9483470e59630C293416\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.2.description:\n- \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n issuedPermissions.2.via.0:\n+ {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.1.permission:\n- \"upgrade\"\n+ \"interact\"\n issuedPermissions.1.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x3D389212A78FD7D4600C9483470e59630C293416\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.1.via.0:\n- {\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}\n issuedPermissions.1.description:\n+ \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n issuedPermissions.0.to:\n- \"0x73c98Cf34AF1f7D798e8e6f34b16037530Bffc41\"\n+ \"0x4712454AddDbAbACaAb84916546899CA9690A6fF\"\n values.batcherHash:\n- \"0x73c98Cf34AF1f7D798e8e6f34b16037530Bffc41\"\n+ \"0x4712454AddDbAbACaAb84916546899CA9690A6fF\"\n values.unsafeBlockSigner:\n- \"0x843458b6De651E02dFD5bFFea0e9cfb3eca293EF\"\n+ \"0xa54e493641d097d164A6a2D8F9895303344d88A9\"\n }\n```\n\n```diff\n contract SuperchainConfig (0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2) {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n issuedPermissions.1.permission:\n- \"guard\"\n+ \"upgrade\"\n issuedPermissions.1.to:\n- \"0x052a8cd5967bc3Bdb5660c989a3A68bCA683A077\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.1.via.0:\n+ {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.permission:\n- \"upgrade\"\n+ \"guard\"\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x052a8cd5967bc3Bdb5660c989a3A68bCA683A077\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0:\n- {\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}\n }\n```\n\n```diff\n contract Funki (0xf0AE006C6f810831DA1d2A061288575fB5082144) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"0x5a4ebF927338EA6af377caEee99C85088908f57D\",\"description\":\"set and change address mappings.\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC\",\"description\":\"upgrading the bridge implementation can give access to all funds escrowed therein.\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0xD39a6CcCFa23cb741bB530497e42EC337f1215a8\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]}]\n }\n```\n\n```diff\n contract DataAvailabilityChallenge (0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD) {\n +++ description: The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n issuedPermissions.1.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.1.via.0.address:\n- \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n+ \"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"\n }\n```"
}
]
},
{
"id": "644e95a8",
"date": "Fri, 04 Apr 2025 10:09:01 GMT",
"timestamp": 1743761341,
"description": "Standard Orbit chain.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract L2OutputOracle (0x1A9aE6486caEc0504657351ac473B3dF8A1367cb)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract Funki Multisig 2 (0x3D389212A78FD7D4600C9483470e59630C293416)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x5a4ebF927338EA6af377caEee99C85088908f57D)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract Funki Multisig 1 (0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x8F56a665c376A08b604DD32ee6E88667A6093172)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xD069C4724f9bC15FA53b3b2516594512AEf8c957)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xD39a6CcCFa23cb741bB530497e42EC337f1215a8)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract DataAvailabilityChallenge (0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD)\n +++ description: The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * DisputeGameFactory [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * SuperchainConfig [via: SuperchainProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * ETHLockbox [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * L2CrossDomainMessenger [via: L2ProxyAdmin]\n * GasPriceOracle [via: L2ProxyAdmin]\n * L2StandardBridge [via: L2ProxyAdmin]\n * SequencerFeeVault [via: L2ProxyAdmin]\n * OptimismMintableERC20Factory [via: L2ProxyAdmin]\n * L1BlockNumber [via: L2ProxyAdmin]\n * L2ERC721Bridge [via: L2ProxyAdmin]\n * L1Block [via: L2ProxyAdmin]\n * L2ToL1MessagePasser [via: L2ProxyAdmin]\n * OptimismMintableERC721Factory [via: L2ProxyAdmin]\n * L2ProxyAdmin [via: L2ProxyAdmin]\n * BaseFeeVault [via: L2ProxyAdmin]\n * L1FeeVault [via: L2ProxyAdmin]\n * SchemaRegistry [via: L2ProxyAdmin]\n * EAS [via: L2ProxyAdmin]\n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type \n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"address": "eth:0xa564C83958f7F9fA5a255a540EF5e49445873104",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
"name": "0xa564…3104",
"url": "https://etherscan.io/address/0xa564C83958f7F9fA5a255a540EF5e49445873104"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system [via: OpFoundationUpgradeSafe]\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x6db6161fC5662450E801398Bad62dD9921216B98",
"type": "EOA",
"isVerified": true,
"name": "0x6db6…6B98",
"url": "https://etherscan.io/address/0x6db6161fC5662450E801398Bad62dD9921216B98",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1790862352,
"baseTimestamp": 1792587967,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "e063daa7",
"date": "Wed, 21 Oct 2026 13:48:52 GMT",
"timestamp": 1792587967,
"description": "OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n+ \"eth:0xa564C83958f7F9fA5a255a540EF5e49445873104\"\n }\n```"
}
]
},
{
"id": "cc3ef196",
"date": "Thu, 01 Oct 2026 13:46:57 GMT",
"timestamp": 1790862352,
"description": "OP Contracts Upgrade 20 (op-contracts/v8.0.0-rc.3), executed 2026-09-24.\n\nState roots are now proposed as super roots, which are addressed by an L2 timestamp rather than by a block number on this chain. The starting anchor sequence number is therefore a timestamp, changing from 19265297 to 1788848282. The format carries per-chain roots for a future interop set; today each game commits only to this chain. Proving a withdrawal now requires a game whose sequence number is at or after the timestamp of the initiating block rather than its block number; `proveWithdrawalTransaction` is unchanged, as the portal reads this chain's output root out of the super root.\n\nThe respected game type changed 8 → 9, CANNON_KONA to SUPER_CANNON_KONA. Proposing and challenging remain permissionless, with a 0.08 ETH bond, a 3.5 day clock, max game depth 73 and split depth 30. The fault proof program is the interop variant of kona v1.7.0-rc.2.\n\nGame types 0, 1 and 8 were cleared. The permissioned fallback is now type 5, SUPER_PERMISSIONED, which carries no bond and defines only a proposer. It has no challenger, so the OP Foundation Operations Safe no longer holds a challenger role.\n\nSystemConfig v3.14.2 → v4.0.0 removes the `batchInbox()` getter; the batch inbox address now lives only in the rollup config.\n\nVersion changes and implementation diffs:\n\n- FaultDisputeGame -> SuperFaultDisputeGame (type 8 -> 9): https://disco.l2beat.com/diff/eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC/eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208\n- PermissionedDisputeGame -> SuperPermissionedDisputeGame (type 1 -> 5): https://disco.l2beat.com/diff/eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e/eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\n- OptimismPortal2 5.6.1 -> 5.8.0: https://disco.l2beat.com/diff/eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2/eth:0x1005217ad392DC64CEf501FA1777A27D42166748\n- SystemConfig 3.14.2 -> 4.0.0: https://disco.l2beat.com/diff/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9/eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\n- SuperchainConfig 2.4.2 -> 2.4.3: https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504",
"isHighSeverity": true,
"changeCount": 113,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 8\n+ 12\n+++ severity: HIGH\n values.absolutePrestateFromDGF:\n- \"0xdead000000000000000000000000000000000000000000000000000000000000\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.anchorStateRegistryFromDGF:\n- \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.chainIdFromDGF:\n- 57073\n+ \"UNRESOLVED\"\n values.challengerFromDGF:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game1:\n- \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game5:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\"\n+++ severity: HIGH\n values.game5AnchorStateRegistry:\n- \"UNRESOLVED\"\n+ \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n values.game5Args:\n- \"0x\"\n+ \"0xee018baf058227872540ac60efbd38b023d9dae23832bfbef03173e4c49a00ec0dd178817a02d177\"\n+++ severity: HIGH\n values.game5Proposer:\n- \"UNRESOLVED\"\n+ \"eth:0x3832bfbeF03173E4C49a00ec0DD178817A02D177\"\n+++ severity: HIGH\n values.game8:\n- \"eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8AbsolutePrestate:\n- \"0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8AnchorStateRegistry:\n- \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n+ \"UNRESOLVED\"\n values.game8Args:\n- \"0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025acc005dcd857b401e4732e6f7837135a22825cfaee018baf058227872540ac60efbd38b023d9dae257b4c29daee99a28e6e86778b499361294c134ea000000000000000000000000000000000000000000000000000000000000def1\"\n+ \"0x\"\n+++ severity: HIGH\n values.game8ChainId:\n- 57073\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Vm:\n- \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Weth:\n- \"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208\"\n+++ severity: HIGH\n values.game9AbsolutePrestate:\n- \"UNRESOLVED\"\n+ \"0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1df\"\n+++ severity: HIGH\n values.game9AnchorStateRegistry:\n- \"UNRESOLVED\"\n+ \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n values.game9Args:\n- \"0x\"\n+ \"0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1dfacc005dcd857b401e4732e6f7837135a22825cfaee018baf058227872540ac60efbd38b023d9dae257b4c29daee99a28e6e86778b499361294c134ea0000000000000000000000000000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game9Vm:\n- \"UNRESOLVED\"\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+++ severity: HIGH\n values.game9Weth:\n- \"UNRESOLVED\"\n+ \"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\"\n values.initBondGame1:\n- \"80000000000000000\"\n+ 0\n values.initBondGame8:\n- \"80000000000000000\"\n+ 0\n values.initBondGame9:\n- 0\n+ \"80000000000000000\"\n values.permissionedGameArgs:\n- \"0xdead000000000000000000000000000000000000000000000000000000000000acc005dcd857b401e4732e6f7837135a22825cfaee018baf058227872540ac60efbd38b023d9dae257b4c29daee99a28e6e86778b499361294c134ea000000000000000000000000000000000000000000000000000000000000def13832bfbef03173e4c49a00ec0dd178817a02d1779ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0x\"\n values.proposerFromDGF:\n- \"eth:0x3832bfbeF03173E4C49a00ec0DD178817A02D177\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.vmFromDGF:\n- \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.wethFromDGF:\n- \"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\"\n+ \"UNRESOLVED\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract DelayedWETH (eth:0x57b4C29DAee99a28E6E86778b499361294c134eA) [opstack/DelayedWETH] {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n values.$pastUpgrades.2:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xE440CC08A71694C8229323803F59024E3144630e\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xE440CC08A71694C8229323803F59024E3144630e\"]]\n values.$upgradeCount:\n- 2\n+ 6\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperFaultDisputeGame.\n sourceHashes.1:\n- \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n+ \"0x5a3a97f72d46aaebbcbdba3783f7c5a8acfcd5ae928afe402abdb21acc0be49f\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperFaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n+ \"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$upgradeCount:\n- 9\n+ 13\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n+ \"SuperFaultDisputeGame\"\n values.respectedGameType:\n- 8\n+ 9\n values.version:\n- \"5.6.1\"\n+ \"5.8.0\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n- \"OptimismPortal2\"\n implementationNames.eth:0x1005217ad392DC64CEf501FA1777A27D42166748:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n+ \"0x532730df835e1a130919ca2afe170505acde568abb77ed1f9a018e5019415ab6\"\n values.$implementation:\n- \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n+ \"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.13:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$upgradeCount:\n- 10\n+ 14\n values.BATCH_INBOX_SLOT:\n- \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n- \"eth:0x005969bf0EcbF6eDB6C47E5e94693b1C3651Be97\"\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 60000000\n+ 30000000\n values.getAddresses.opcm:\n- \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCM:\n- \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCMVersion:\n- \"7.1.17\"\n+ \"8.0.1\"\n values.version:\n- \"3.14.2\"\n+ \"4.0.0\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n- \"SystemConfig\"\n implementationNames.eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 9\n+ 13\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 9\n+ 13\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n+ \"0xb74ed3aa109bd981b095c02d6e3bda2b2467d40e9d1060b4c89b01de32ebad3a\"\n values.$implementation:\n- \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n+ \"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$upgradeCount:\n- 8\n+ 12\n values.version:\n- \"2.4.2\"\n+ \"2.4.3\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n- \"SuperchainConfig\"\n implementationNames.eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) [gnosisSafeModules/SaferSafes] {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n directlyReceivedPermissions.1:\n- {\"permission\":\"act\",\"from\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\"role\":\".GnosisSafe_modules\"}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA8B389A82e088b164cD03230e900980CcED34d29) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 6\n+ 10\n }\n```\n\n```diff\n contract ETHLockbox (eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 3\n+ 7\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 5\n+ 9\n values.getStartingAnchorRoot.root:\n- \"0x10c839264195b6b897892b2d8949004bcb6005a9c712b41651aaf1a68c004d21\"\n+ \"0x25b22a0c711fa1d01b3cdb95fb98c0e7ff003b00909bfe8fade3507a6e62d44e\"\n values.getStartingAnchorRoot.l2SequenceNumber:\n- 19265297\n+ 1788848282\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n+ \"SuperFaultDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 8\n+ 9\n }\n```\n\n```diff\n+ Status: CREATED\n contract SuperFaultDisputeGame (eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208) [opstack/SuperFaultDisputeGame]\n +++ description: Logic of the permissionless dispute game introduced in Upgrade 20. It proves a super root, a state commitment addressed by an L2 timestamp rather than by a block number. The format carries per-chain roots for a future interop set; today each game commits only to its own chain. When a state root is proposed, a game contract is cloned from this implementation; anyone posting the bond can challenge it.\n```\n\n```diff\n+ Status: CREATED\n contract SuperPermissionedDisputeGame (eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691) [opstack/SuperPermissionedDisputeGame]\n +++ description: Logic of the permissioned dispute game introduced in Upgrade 20. Only the proposer configured in the DisputeGameFactory can create games of this type, and each one commits to a super root anchored to an L2 timestamp. Unlike the permissioned game it replaces, it runs no VM and exposes no challenger, bond, clock or absolute prestate: validity is governed by the AnchorStateRegistry and the Guardian.\n```"
}
]
},
{
"id": "e645a512",
"date": "Thu, 10 Sep 2026 13:00:50 GMT",
"timestamp": 1789045166,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "3faa3c28",
"date": "Thu, 27 Aug 2026 12:38:00 GMT",
"timestamp": 1787834174,
"description": "SystemConfig: ownership transferred from OpFoundationOperationsSafe to OpFoundationUpgradeSafe.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.owner:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) [gnosisSafeModules/SaferSafes] {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n receivedPermissions.0.via.0.address:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92\"\n }\n```"
}
]
},
{
"id": "35fe1dcf",
"date": "Mon, 10 Aug 2026 11:03:38 GMT",
"timestamp": 1786359753,
"description": "DisputeGameFactory: the proposer key was rotated. L1FeeVault: the recipient changed to a new address and the minimum withdrawal dropped from 2 ETH to 0.15 ETH. This vault collects only the L1 data-fee component of L2 transaction fees; the BaseFeeVault and SequencerFeeVault still pay out to the previous recipient at the 2 ETH threshold.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n values.proposerFromDGF:\n- \"eth:0x65436ddCbc026F34118954F229f7F132b696b3B4\"\n+ \"eth:0x3832bfbeF03173E4C49a00ec0DD178817A02D177\"\n }\n```\n\n```diff\n contract L1FeeVault (ink:0x420000000000000000000000000000000000001A) [opstack/Layer2/L1FeeVault_karst] {\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n values.MIN_WITHDRAWAL_AMOUNT:\n- \"2000000000000000000\"\n+ \"150000000000000000\"\n values.minWithdrawalAmount:\n- \"2000000000000000000\"\n+ \"150000000000000000\"\n values.recipient:\n- \"ink:0xa6f0F94C13C4255231958079E7331694205F6c93\"\n+ \"ink:0x1eB630b2e7409597D462dd5f3D21E305FC56B8C9\"\n values.RECIPIENT:\n- \"ink:0xa6f0F94C13C4255231958079E7331694205F6c93\"\n+ \"ink:0x1eB630b2e7409597D462dd5f3D21E305FC56B8C9\"\n }\n```"
}
]
},
{
"id": "6578d519",
"date": "Thu, 30 Jul 2026 11:05:46 GMT",
"timestamp": 1785409481,
"description": "SystemConfig batch submitter and unsafe block signer rotated. L1Block now mirrors the new batcher hash on L2.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0x500d7Ea63CF2E501dadaA5feeC1FC19FE2Aa72Ac\"\n+ \"eth:0x6db6161fC5662450E801398Bad62dD9921216B98\"\n values.unsafeBlockSigner:\n- \"eth:0x7D056B99AA2021864c42E25B4F8cE3BdEAc9463C\"\n+ \"eth:0x7b322282DF45E537E5de76D60E1432Db3cF3F8E1\"\n }\n```\n\n```diff\n contract L1Block (ink:0x4200000000000000000000000000000000000015) [opstack/Layer2/L1Block] {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n values.batcherHash:\n- \"0x000000000000000000000000500d7ea63cf2e501dadaa5feec1fc19fe2aa72ac\"\n+ \"0x0000000000000000000000006db6161fc5662450e801398bad62dd9921216b98\"\n }\n```"
}
]
},
{
"id": "f3a8ed9c",
"date": "Mon, 20 Jul 2026 15:36:32 GMT",
"timestamp": 1784561683,
"description": "SystemConfig `owner` transferred from the Gelato Multisig to the OpFoundationOperationsSafe (`0x9BA6…6b3A`). Ink's sequencer address, batch-submitter address, and gas config are now controlled by OP Foundation instead of Gelato.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.owner:\n- \"eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n }\n```\n\n```diff\n- Status: DELETED\n EOA (eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682)\n +++ description: None\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) [gnosisSafeModules/SaferSafes] {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) [GnosisSafe]\n +++ description: None\n```"
}
]
},
{
"id": "d855fd61",
"date": "Fri, 17 Jul 2026 10:10:49 GMT",
"timestamp": 1784282949,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "a94fc3c6",
"date": "Tue, 14 Jul 2026 10:11:47 GMT",
"timestamp": 1784023841,
"description": "Karst hardfork (Upgrade 19b, op-contracts/v7.0.0) L2 activation on 2026-07-08 16:00:01 UTC.\n\nMost predeploys now inherit `ProxyAdminOwnedBase`, which lets a contract read its proxy's ProxyAdmin and ProxyAdmin owner on-chain so privileged functions can be gated to them. On the initializable ones — both bridges, both mintable factories, L2CrossDomainMessenger and every FeeVault — the constructor calls `_disableInitializers()` and `initialize()` is restricted to the ProxyAdmin or its owner (the SuperchainProxyAdminOwner). L1Block is not initializable but inherits the same base and gates its new `setFeature` setter the same way.\n\nCustom gas token support was removed from L2StandardBridge and L2CrossDomainMessenger. The `gasPayingToken()` override is gone, and `withdraw()` / `withdrawTo()` no longer revert on custom gas token chains. Ink pays gas in ETH, so behaviour is unchanged.\n\nL2ProxyAdmin (1.0.0) adds `upgradePredeploys(address)`, which delegatecalls the L2ContractsManager.\n\nFeeVault configuration (recipient, minimum withdrawal amount, withdrawal network) moved from constructor immutables to storage set by `initialize()`, and is now mutable post-deployment via `setRecipient`, `setMinWithdrawalAmount` and `setWithdrawalNetwork` — each gated to the ProxyAdmin owner. Previously these values were fixed at deployment; the SuperchainProxyAdminOwner can now change them. BaseFeeVault and L1FeeVault are byte-identical and now share implementation `0xf7bed7215EEF1003fac426682Cf2edeb958569f7`.\n\nGasPriceOracle stayed at 1.6.0 with unchanged source; only its implementation address moved.\n\nVersion changes and implementation diffs:\n\n- L2CrossDomainMessenger 2.1.1-beta.1 -> 2.2.1: https://disco.l2beat.com/diff/ink:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007/ink:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\n- L2StandardBridge 1.11.1-beta.1 -> 1.13.2: https://disco.l2beat.com/diff/ink:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010/ink:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\n- SequencerFeeVault 1.5.0-beta.2 -> 1.6.1: https://disco.l2beat.com/diff/ink:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011/ink:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\n- OptimismMintableERC20Factory 1.10.1-beta.2 -> 1.11.0: https://disco.l2beat.com/diff/ink:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012/ink:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\n- L2ERC721Bridge 1.7.1-beta.2 -> 1.10.1: https://disco.l2beat.com/diff/ink:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014/ink:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\n- L1Block 1.7.0 -> 1.9.0: https://disco.l2beat.com/diff/ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C/ink:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\n- L2ToL1MessagePasser 1.1.1-beta.1 -> 1.2.0: https://disco.l2beat.com/diff/ink:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016/ink:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\n- OptimismMintableERC721Factory 1.4.1-beta.1 -> 1.5.1: https://disco.l2beat.com/diff/ink:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017/ink:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\n- ProxyAdmin -> L2ProxyAdmin 1.0.0: https://disco.l2beat.com/diff/ink:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018/ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\n- BaseFeeVault 1.5.0-beta.2 -> 1.6.1: https://disco.l2beat.com/diff/ink:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019/ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- L1FeeVault 1.5.0-beta.2 -> 1.6.1: https://disco.l2beat.com/diff/ink:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A/ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- GasPriceOracle 1.6.0 (source unchanged): https://disco.l2beat.com/diff/ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1/ink:0x547d0fba434877D7237d511cF87FABe2ee26b152\n- SchemaRegistry 1.3.1-beta.1 -> 1.3.1-beta.2: https://disco.l2beat.com/diff/ink:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020/ink:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\n- EAS 1.4.1-beta.1 -> 1.4.1-beta.3: https://disco.l2beat.com/diff/ink:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021/ink:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6",
"isHighSeverity": true,
"changeCount": 137,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2CrossDomainMessenger (ink:0x4200000000000000000000000000000000000007) [opstack/Layer2/L2CrossDomainMessenger] {\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n sourceHashes.1:\n- \"0x1ef37a50dbdd57f7019208b81019e52087cb92379f963e1ec092bd3eb81ec978\"\n+ \"0x9e9ae8aec73e808e50f80bced53c3a020588eed516b310a10397596869dcd3b1\"\n values.$implementation:\n- \"ink:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007\"\n+ \"ink:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"2.1.1-beta.1\"\n+ \"2.2.1\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.ink:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007:\n- \"L2CrossDomainMessenger\"\n implementationNames.ink:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96:\n+ \"L2CrossDomainMessenger\"\n }\n```\n\n```diff\n contract GasPriceOracle (ink:0x420000000000000000000000000000000000000F) [opstack/Layer2/GasPriceOracle] {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0x2a3c7909036a30543d4aaa8e9501caab6f998a671d40cc3822f89c6239e6b8ab\"\n+ \"0x2a5cf70e1712c3e8ae9596f3b71055e47fa8d83c7e248050853c903ee70cb139\"\n values.$implementation:\n- \"ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n+ \"ink:0x547d0fba434877D7237d511cF87FABe2ee26b152\"\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x547d0fba434877D7237d511cF87FABe2ee26b152\"]]\n values.$upgradeCount:\n- 2\n+ 3\n implementationNames.ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n- \"GasPriceOracle\"\n implementationNames.ink:0x547d0fba434877D7237d511cF87FABe2ee26b152:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L2StandardBridge (ink:0x4200000000000000000000000000000000000010) [opstack/Layer2/L2StandardBridge] {\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0xe528a1a655ef22d36419f53488f5b31752c4ecc2efea627fc6be5b0d63fa5069\"\n+ \"0xf6ef848ca1cf88e27b5e3bb5e01b91ef79f302e5daad8ba5206c4dc60027d312\"\n values.$implementation:\n- \"ink:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010\"\n+ \"ink:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.11.1-beta.1\"\n+ \"1.13.2\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010:\n- \"L2StandardBridge\"\n implementationNames.ink:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1:\n+ \"L2StandardBridge\"\n }\n```\n\n```diff\n contract SequencerFeeVault (ink:0x4200000000000000000000000000000000000011) [opstack/Layer2/SequencerFeeVault] {\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n sourceHashes.1:\n- \"0x509425b10b7bc736a2d76eb9fe3bc5951124e88ef3e4752a0a314d33690041d2\"\n+ \"0xb45389729a8fffa7650568cd2922e482d03d3ed57b35f4819650d11174d9237a\"\n values.$implementation:\n- \"ink:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011\"\n+ \"ink:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.5.0-beta.2\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011:\n- \"SequencerFeeVault\"\n implementationNames.ink:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA:\n+ \"SequencerFeeVault\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (ink:0x4200000000000000000000000000000000000012) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n template:\n- \"opstack/Layer2/OptimismMintableERC20Factory\"\n+ \"opstack/OptimismMintableERC20Factory\"\n sourceHashes.1:\n- \"0x106f86d507a55d0f26e3683c910a71a9804d75ced3a4bb374e6a78978462274b\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n description:\n- \"Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\"\n+ \"A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\"\n values.$implementation:\n- \"ink:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012\"\n+ \"ink:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.10.1-beta.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012:\n- \"OptimismMintableERC20Factory\"\n implementationNames.ink:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L2ERC721Bridge (ink:0x4200000000000000000000000000000000000014) [opstack/Layer2/L2ERC721Bridge] {\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0x271f936ec1986057d9043b9961aa266e87908766814bdde8071f19a9de7484be\"\n+ \"0x0d8059378487e33161e0b838f622400642360f1e311eba8c7b8fbdb504aeee1e\"\n values.$implementation:\n- \"ink:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014\"\n+ \"ink:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.7.1-beta.2\"\n+ \"1.10.1\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014:\n- \"L2ERC721Bridge\"\n implementationNames.ink:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833:\n+ \"L2ERC721Bridge\"\n }\n```\n\n```diff\n contract L1Block (ink:0x4200000000000000000000000000000000000015) [opstack/Layer2/L1Block] {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0x399e57fff478211b47d61c5acb60592a4df8ffa5716959a1a6ee2ccabc44915e\"\n+ \"0xca6401a4032def95df36b0d432052526888ef8a396f7e4fc37cdda3690932646\"\n values.$implementation:\n- \"ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n+ \"ink:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.7.0\"\n+ \"1.9.0\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n- \"L1Block\"\n implementationNames.ink:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56:\n+ \"L1Block\"\n }\n```\n\n```diff\n contract L2ToL1MessagePasser (ink:0x4200000000000000000000000000000000000016) [opstack/Layer2/L2ToL1MessagePasser] {\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n sourceHashes.1:\n- \"0x1e27889ae9ce2358b6248afde8e8b6f7c4ccf0b308a9d9ecb629369ce110ea23\"\n+ \"0xb5be3cf9878e914d0b7feef281dbcc2b72d7c7e9106e44a7dfd516d48de8a62a\"\n values.$implementation:\n- \"ink:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016\"\n+ \"ink:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.1.1-beta.1\"\n+ \"1.2.0\"\n implementationNames.ink:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016:\n- \"L2ToL1MessagePasser\"\n implementationNames.ink:0x27E51B2254433A3284D9ba73Ea551C397DB2a124:\n+ \"L2ToL1MessagePasser\"\n }\n```\n\n```diff\n contract OptimismMintableERC721Factory (ink:0x4200000000000000000000000000000000000017) [opstack/Layer2/OptimismMintableERC721Factory] {\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n sourceHashes.1:\n- \"0xec1bfae18ba5717949a6969cb01d743511c076e7bc6c78ed2c2b63232b97cc57\"\n+ \"0xf4fd8df9e9191098f5647a3568864aee248b011c092313bf392b57a4b0f43268\"\n values.$implementation:\n- \"ink:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017\"\n+ \"ink:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.4.1-beta.1\"\n+ \"1.5.1\"\n values.bridge:\n+ \"ink:0x4200000000000000000000000000000000000014\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.remoteChainID:\n+ 1\n implementationNames.ink:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017:\n- \"OptimismMintableERC721Factory\"\n implementationNames.ink:0xf43862B9d814BB4504158CecCB0b74b31265e4eE:\n+ \"OptimismMintableERC721Factory\"\n }\n```\n\n```diff\n contract L2ProxyAdmin (ink:0x4200000000000000000000000000000000000018) [opstack/Layer2/L2ProxyAdmin_karst] {\n +++ description: Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\n template:\n- \"opstack/Layer2/L2ProxyAdmin\"\n+ \"opstack/Layer2/L2ProxyAdmin_karst\"\n sourceHashes.1:\n- \"0x5685f6e3015a6b9a257228bb8ef3c33efb233627bc5c81b7005670a10a37bd47\"\n+ \"0xc9307181d90f9b86ff913d1c365245cfb8622929939cbff0389acf7f428ddc4b\"\n description:\n- \"Administration contract for other contract proxies.\"\n+ \"Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\"\n values.$implementation:\n- \"ink:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018\"\n+ \"ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0x48aa8d6a9d281bf0eaa204e895acdfe0ba38640c34f6d133b2f4ecb879f5c72c\",[\"ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n+ \"1.0.0\"\n implementationNames.ink:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018:\n- \"ProxyAdmin\"\n implementationNames.ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F:\n+ \"L2ProxyAdmin\"\n }\n```\n\n```diff\n contract BaseFeeVault (ink:0x4200000000000000000000000000000000000019) [opstack/Layer2/BaseFeeVault_karst] {\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n template:\n- \"opstack/Layer2/BaseFeeVault\"\n+ \"opstack/Layer2/BaseFeeVault_karst\"\n sourceHashes.1:\n- \"0x3d0a3be0a8f45817aa732f9e2f00e95db42726fa0335aa511b97c1a4cdecd4b7\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n values.$implementation:\n- \"ink:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019\"\n+ \"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.5.0-beta.2\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019:\n- \"BaseFeeVault\"\n implementationNames.ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract L1FeeVault (ink:0x420000000000000000000000000000000000001A) [opstack/Layer2/L1FeeVault_karst] {\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n name:\n- \"BaseFeeVault\"\n+ \"L1FeeVault\"\n template:\n- \"opstack/Layer2/BaseFeeVault\"\n+ \"opstack/Layer2/L1FeeVault_karst\"\n sourceHashes.1:\n- \"0x3d0a3be0a8f45817aa732f9e2f00e95db42726fa0335aa511b97c1a4cdecd4b7\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n description:\n- \"Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\"\n+ \"Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\"\n values.$implementation:\n- \"ink:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A\"\n+ \"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.5.0-beta.2\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A:\n- \"BaseFeeVault\"\n implementationNames.ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract SchemaRegistry (ink:0x4200000000000000000000000000000000000020) [opstack/Layer2/SchemaRegistry] {\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0x184ad3273d7e257c9f1b138ecff33286528599eae858abc182fdc3068060af90\"\n+ \"0xe2a60db541c987ffa9a6ed73b9100c7f62f2574966a20c903a73a8f730c7dfcc\"\n values.$implementation:\n- \"ink:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020\"\n+ \"ink:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.3.1-beta.1\"\n+ \"1.3.1-beta.2\"\n implementationNames.ink:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020:\n- \"SchemaRegistry\"\n implementationNames.ink:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34:\n+ \"SchemaRegistry\"\n }\n```\n\n```diff\n contract EAS (ink:0x4200000000000000000000000000000000000021) [opstack/Layer2/EAS] {\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0xa445fc3be07624967bd4cb9792e42018303744e20dc788527e19f17d83b6373d\"\n+ \"0xd39abb26f6acde3141075c8398a29b17974750e1651a038fcf5647d6cd8c5215\"\n values.$implementation:\n- \"ink:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021\"\n+ \"ink:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.4.1-beta.1\"\n+ \"1.4.1-beta.3\"\n implementationNames.ink:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021:\n- \"EAS\"\n implementationNames.ink:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6:\n+ \"EAS\"\n }\n```"
}
]
},
{
"id": "8341db46",
"date": "Wed, 01 Jul 2026 09:35:39 GMT",
"timestamp": 1782898474,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0): core L1 contracts upgraded to their v7 implementations and the respected game type changed 0 → 8 (CANNON → CANNON_KONA) — the permissionless fault proof now runs the Rust kona-client on the Cannon VM instead of op-program. Uses the shared Superchain deployment (same kona prestate `0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025` as OP Mainnet, verified); trust model unchanged.",
"isHighSeverity": true,
"changeCount": 138,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\",\"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [\"80000000000000000\",\"80000000000000000\",0,0,0]\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\"\n+ \"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC\"\n values.game8Args:\n+ \"0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025acc005dcd857b401e4732e6f7837135a22825cfaee018baf058227872540ac60efbd38b023d9dae257b4c29daee99a28e6e86778b499361294c134ea000000000000000000000000000000000000000000000000000000000000def1\"\n values.game8Vm:\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ \"80000000000000000\"\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ \"80000000000000000\"\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) [GnosisSafe] {\n +++ description: None\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 7\n+ 9\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 8\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\"\n values.getAddresses.opcm:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract L1StandardBridge (eth:0x88FF1e5b602916615391F55854588EFcBB7663f0) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA8B389A82e088b164cD03230e900980CcED34d29) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract ETHLockbox (eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n sourceHashes.1:\n- \"0x330c0ee4ca969ca3a1deda35d8ce83d1861361088ef0b4b8efe0ec23b4f24c19\"\n+ \"0x99fabdfb3d8ef02962877763f6f3c7ec26d39e15e700fa854a040321a79f61ec\"\n values.$implementation:\n- \"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6\"\n+ \"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"\n values.$pastUpgrades.1:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.2.0\"\n+ \"1.3.1\"\n implementationNames.eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6:\n- \"ETHLockbox\"\n implementationNames.eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad:\n+ \"ETHLockbox\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xd56045E68956FCe2576E680c95a4750cf8241f79) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.3:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 8\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x57b4C29DAee99a28E6E86778b499361294c134eA) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "64aa3df5",
"date": "Fri, 15 May 2026 13:31:28 GMT",
"timestamp": 1778851817,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe and OpFoundationOperationsSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "622dea2b",
"date": "Tue, 05 May 2026 15:18:48 GMT",
"timestamp": 1777994261,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "c3e5e703",
"date": "Tue, 28 Apr 2026 15:44:52 GMT",
"timestamp": 1777390955,
"description": "Gelato Multisig (`eth:0xBeA2Bc85...`) member rotation: 5 signers removed (`0x349f3839`, `0xB65540bB`, `0x58edE8C6`, `0x28bB9385`, `0x5bE3E96C`), 1 added (`0x6a0A93Cd`). Threshold dropped 4→3 and total signers 9→5 (44% → 60%). Shared multisig — same change observed on `ethernity`, `lisk`, `everclear`, `reya`, and `educhain` (arb1).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n EOA (eth:0x28bB9385A588EF4747264D19B9A9F1603591680c)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259)\n +++ description: None\n```\n\n```diff\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.0:\n- \"eth:0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.$members.1:\n- \"eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.2:\n- \"eth:0x58edE8C66A15f23c61b8EadD1191FdaD904f7a87\"\n values.$members.3:\n- \"eth:0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.5:\n- \"eth:0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682\"\n values.$threshold:\n- 4\n+ 3\n values.multisigThreshold:\n- \"4 of 9 (44%)\"\n+ \"3 of 5 (60%)\"\n }\n```\n\n```diff\n+ Status: CREATED\n EOA (eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682)\n +++ description: None\n```"
}
]
},
{
"id": "a60efb6e",
"date": "Wed, 25 Mar 2026 10:07:23 GMT",
"timestamp": 1774433178,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe and OpFoundationOperationsSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA. Additionally, a Gelato Multisig signer (0x28bB9385A588EF4747264D19B9A9F1603591680c) has set an EIP-7702 delegation to an EIP7702StatelessDeleGator contract.",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x28bB9385A588EF4747264D19B9A9F1603591680c) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n sourceHashes:\n+ [\"0x41c6ce964a4ef3e910f9ddf78152734dae8d1b1094ffc8334c50249a3b112bbf\"]\n values:\n+ {\"$implementation\":\"eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B\",\"delegationManager\":\"eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3\",\"DOMAIN_VERSION\":\"1\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"EIP7702StatelessDeleGator\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0x28bB9385A588EF4747264D19B9A9F1603591680c\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"entryPoint\":\"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032\",\"getDeposit\":0,\"getDomainHash\":\"0x4831558cc7e858c354d05912425f7b608f63f175997992468f288e0d88c4cc50\",\"getNonce\":0,\"NAME\":\"EIP7702StatelessDeleGator\",\"PACKED_USER_OP_TYPEHASH\":\"0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18\",\"VERSION\":\"1.3.0\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "1d117f2b",
"date": "Fri, 27 Feb 2026 13:20:54 GMT",
"timestamp": 1772198385,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "9ce267d2",
"date": "Fri, 13 Feb 2026 11:46:54 GMT",
"timestamp": 1770912803,
"description": "OP Contracts Upgrade 18 (op-contracts/v6.0.0).\n\nOptimismPortal2 v5.1.1→v5.2.0: adds Custom Gas Token safety guards preventing ETH value operations in CGT mode. ([diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B))\n\nAnchorStateRegistry v3.5.0→v3.7.0: adds safe re-initialization guard for retirementTimestamp and a new getStartingAnchorRoot() getter. ([diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5))\n\nSystemConfig v3.11.0→v3.13.1: adds DelayedWETH storage slot, setBatcherHash(address) convenience setter, and isCustomGasToken() legacy getter. ([diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2))\n\nDisputeGameFactory v1.3.0→v1.4.0: cloning logic now embeds gameType in clone bytecode when gameArgs are present. ([diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c))\n\nNew PermissionedDisputeGameV2 and FaultDisputeGameV2 move game parameters (VM, WETH, anchor registry, etc.) from constructor immutables into clone bytecode, allowing the factory to configure per-clone without separate implementations.",
"isHighSeverity": true,
"changeCount": 48,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n+ \"0x0fdb3ea7873ad716dd0f5f9d2fdbab989f3b308066977be182ddc31d150e12f5\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.5:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x4cBFBA0AfEb3a36878eb52fAE78335751076250C\"\n+ \"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x65436ddCbc026F34118954F229f7F132b696b3B4\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x4cBFBA0AfEb3a36878eb52fAE78335751076250C)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n+ \"0x3410684a7a8c16c4f87db990b834ce7c3be33136857c103791b132b824bfd951\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.6:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n+ \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.7:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.6:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.6:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA8B389A82e088b164cD03230e900980CcED34d29) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.3:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 3\n+ 4\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x1601463fd2e47d8994c28a90b556c6933f38e8685214f702dc41a5ae08d9787c\"\n+ \"0xa1c629e3a86e4cba49482956c04d921b52551c4ee9833ddda7e44ca155bc6cab\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.2:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x10c839264195b6b897892b2d8949004bcb6005a9c712b41651aaf1a68c004d21\",\"l2SequenceNumber\":19265297}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "00a86fec",
"date": "Mon, 26 Jan 2026 09:08:14 GMT",
"timestamp": 1769272339,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "84a11b4f",
"date": "Thu, 18 Dec 2025 08:57:30 GMT",
"timestamp": 1766048148,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n sourceHashes.1:\n- \"0x263aadde480629cd3ca5704cc7d4e7df809d437e68f8d9864039801ddf820367\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.domainSeparator:\n- \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\"\n+ \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\"\n values.getModules:\n- []\n values.NAME:\n- \"Gnosis Safe\"\n values.VERSION:\n- \"1.1.1\"\n+ \"1.4.1\"\n values.getChainId:\n+ 1\n implementationNames.eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "f6b8b6fd",
"date": "Wed, 10 Dec 2025 09:59:18 GMT",
"timestamp": 1765360693,
"description": "L1Block contract from Jovian. Starting in Jovian, every non-deposit L2 tx gets a DA usage estimate and the block sums those up into a new resource called DA footprint. Each non-deposit tx compute daUsageEstimate using the Fjord linear model using the tx fastlzSize, and then multiply by the scalar (daFootprintGasScalar). The scalar essentially is a bytes-to-gas conversion factor, e.g. higher daFootprintGasScalar -> each estimated DA byte costs more footprint-gas -> stricter DA-per-block cap. In practice:\n- blocks can become “DA-full” before they are “gas-full” (daFootprint(block) <= gasLimit)\n- base fee now responds to DA-heavy blocks - base fee update uses gasMetered := max(gasUsed, blobGasUsed)\nand Jovian repurposes blobGasUsed to store daFootprint\n- DA-heavy transactions become pricier to include (DA-heavy blocks push gasMetered up, which pushes EIP-1559 base fee up, which feeds back into tx pricing)",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (ink:0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0xc5d4d2bf19122f506ce43be8395b97b65c2b1109721869f31aa0b39605c5254b\"\n+ \"0x3a8edff20d21cac6fe4146bd2ae47f7ec927759ff9eb35e3f32f366e91da9e15\"\n values.$implementation:\n- \"ink:0x93e57A196454CB919193fa9946f14943cf733845\"\n+ \"ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n values.$pastUpgrades.1:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xc7c01d75d0b6950fcd30b448cba848e9841ab9ebb6b46eed9ecde4ba05ad0fd9\",[\"ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.4.0\"\n+ \"1.6.0\"\n values.isJovian:\n+ true\n implementationNames.ink:0x93e57A196454CB919193fa9946f14943cf733845:\n- \"GasPriceOracle\"\n implementationNames.ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L1Block (ink:0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n+ \"0x1d69ab3b3edee9b7eeccc72b0980f9041777fdc5f5224f97aa5e69f0a8b68c7c\"\n values.$implementation:\n- \"ink:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n+ \"ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n values.$pastUpgrades.1:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a\",[\"ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.6.0\"\n+ \"1.7.0\"\n values.daFootprintGasScalar:\n+ 400\n implementationNames.ink:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n- \"L1Block\"\n implementationNames.ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n+ \"L1Block\"\n }\n```"
}
]
},
{
"id": "dd4421dc",
"date": "Fri, 28 Nov 2025 11:36:47 GMT",
"timestamp": 1764329741,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202), [System Config](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\n- Jovian block values\n- fee updates `MIN_BASE_FEE`, `DA_FOOTPRINT_GAS_SCALAR` and operator fee\n\n[L1StandardBridge](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A), [SuperchainConfig](https://disco.l2beat.com/diff/eth:0xCe28685EB204186b557133766eCA00334EB441E4/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957), [OptimismMintableERC20Factory](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB), [DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50), [L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9),[L1CrossDomainMessenger](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0), [MIPS](https://disco.l2beat.com/diff/eth:0x07BABE08EE4D07dBA236530183B24055535A7011/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908), [PermissionedDisputeGame](https://disco.l2beat.com/diff/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f/eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n- minimal diff",
"isHighSeverity": true,
"changeCount": 70,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.4:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 4\n+ 5\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x5F5BEa598Fdf8DF30d56808E8b793da8FC7f3028\"\n+ \"eth:0x4cBFBA0AfEb3a36878eb52fAE78335751076250C\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f\"\n+ \"eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x5F5BEa598Fdf8DF30d56808E8b793da8FC7f3028)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.6:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n EOA (eth:0x65436ddCbc026F34118954F229f7F132b696b3B4) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f\"\n+ \"eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x88FF1e5b602916615391F55854588EFcBB7663f0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f\"\n+ \"eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA8B389A82e088b164cD03230e900980CcED34d29) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.2:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n template:\n+ \"uniswap/calibur7702\"\n sourceHashes:\n+ [\"0xb3eb47d8d57eba02013e5d347d05147f7ac072ef2e5e4e1f9a5c6fbced93f8b0\"]\n values:\n+ {\"$implementation\":\"eth:0x000000009B1D0aF20D8C6d0A44e162d11F9b8f00\",\"CUSTOM_STORAGE_ROOT\":\"0x3b86514c5c56b21f08d8e56ab090292e07c2483b3e667a2a45849dcb71368600\",\"domainBytes\":\"0xc7e4f5b2d381bdfacf8506a24542052ab4e951573cab4ce34bb1c9509c84cbbf06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b65540bba534e88eb4a5062d0e6519c07063b259000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"domainSeparator\":\"0xae1ae59b43b99665a7d7de7c1ca92017a6e8c484587869daf07b2bd3a6aa0301\",\"eip712Domain\":{\"fields\":\"0x1f\",\"name\":\"Calibur\",\"version\":\"1.0.0\",\"chainId\":1,\"verifyingContract\":\"eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259\",\"salt\":\"0x000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"extensions\":[]},\"ENTRY_POINT\":\"eth:0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108\",\"keyAt\":[],\"keyCount\":0,\"keyHashes\":0,\"namespaceAndVersion\":\"Uniswap.Calibur.1.0.0\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x4cBFBA0AfEb3a36878eb52fAE78335751076250C)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "291a7d2e",
"date": "Fri, 24 Oct 2025 12:59:10 GMT",
"timestamp": 1761310677,
"description": "Fix previously misreported value by dwellir rpc and accidentally commited.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.permissionedGamesTotal:\n- 185\n+ 190\n }\n```"
}
]
},
{
"id": "c6a6a4a0",
"date": "Thu, 23 Oct 2025 12:37:13 GMT",
"timestamp": 1761222955,
"description": "msig change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "4e925686",
"date": "Fri, 03 Oct 2025 09:11:16 GMT",
"timestamp": 1759482605,
"description": "OptimismPortal2\nhttps://disco.l2beat.com/diff/eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\n\nSystemConfig\nhttps://disco.l2beat.com/diff/eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\n\nL1ERC721Bridge\nhttps://disco.l2beat.com/diff/eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F/eth:0x7f1d12fB2911EB095278085f721e644C1f675696\n\nL1CrossDomainMessenger\nhttps://disco.l2beat.com/diff/eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\n\nL1StandardBridge\nhttps://disco.l2beat.com/diff/eth:0x44AfB7722AF276A601D524F429016A18B6923df0/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\n\nFaultDisputeGame (via DisputeGameFactory gameImpls[0])\nhttps://disco.l2beat.com/diff/eth:0x1a20c06a80260AA45adA0F9F59b334560eE3FEf1/eth:0x5F5BEa598Fdf8DF30d56808E8b793da8FC7f3028\n\nPermissionedDisputeGame (via DisputeGameFactory gameImpls[1])\nhttps://disco.l2beat.com/diff/eth:0x46DDe051eb4561694DC1F0286eBe940d9E90fbe9/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f\n\nMIPS → MIPS64\nhttps://disco.l2beat.com/diff/eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a/eth:0x07BABE08EE4D07dBA236530183B24055535A7011\n\nDelayedWETH (replacement 1)\nhttps://disco.l2beat.com/diff/eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE/eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\n\nDelayedWETH (replacement 2)\nhttps://disco.l2beat.com/diff/eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32/eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd",
"isHighSeverity": true,
"changeCount": 93,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.$pastUpgrades.3:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x1a20c06a80260AA45adA0F9F59b334560eE3FEf1\"\n+ \"eth:0x5F5BEa598Fdf8DF30d56808E8b793da8FC7f3028\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x46DDe051eb4561694DC1F0286eBe940d9E90fbe9\"\n+ \"eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x1a20c06a80260AA45adA0F9F59b334560eE3FEf1)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x46DDe051eb4561694DC1F0286eBe940d9E90fbe9)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.8.role:\n- \".$admin\"\n+ \"admin\"\n receivedPermissions.8.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: None\n template:\n- \"opstack/OptimismPortal2_post13\"\n sourceHashes.1:\n- \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.params.prevBlockNum:\n- 23476785\n+ 23496111\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n values.superRootsActive:\n- false\n values.version:\n- \"4.6.0\"\n+ \"5.0.0\"\n fieldMeta:\n- {\"respectedGameType\":{\"severity\":\"HIGH\"},\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n usedTypes:\n- [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\",\"1337\":\"KailuaGame\"}}]\n category:\n- {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: None\n template:\n- \"opstack/SystemConfig_pauseId\"\n sourceHashes.1:\n- \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n description:\n- \"Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\"\n values.$implementation:\n- \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.5:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.batcherHash:\n- \"eth:0x500d7Ea63CF2E501dadaA5feeC1FC19FE2Aa72Ac\"\n+ \"0x000000000000000000000000500d7ea63cf2e501dadaa5feec1fc19fe2aa72ac\"\n values.initVersion:\n- 2\n+ 3\n values.opStackDA:\n- {\"isSequencerSendingBlobTx\":true,\"isUsingCelestia\":false,\"isUsingEigenDA\":false}\n values.sequencerInbox:\n- \"eth:0x005969bf0EcbF6eDB6C47E5e94693b1C3651Be97\"\n values.version:\n- \"3.4.0\"\n+ \"3.7.0\"\n fieldMeta:\n- {\"paused\":{\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"},\"gasLimit\":{\"severity\":\"LOW\",\"description\":\"Gas limit for blocks on L2.\"},\"eip1559Denominator\":{\"description\":\"volatility param: lower denominator -> quicker fee changes on L2\"}}\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n category:\n- {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: None\n template:\n- \"opstack/L1ERC721Bridge\"\n sourceHashes.1:\n- \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n description:\n- \"Used to bridge ERC-721 tokens from host chain to this chain.\"\n values.$implementation:\n- \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n category:\n- {\"name\":\"Canonical Bridges\",\"priority\":2}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: None\n template:\n- \"opstack/L1CrossDomainMessenger\"\n sourceHashes.1:\n- \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n description:\n- \"Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\"\n values.$implementation:\n- \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.messageNonce:\n- \"1766847064778384329583297500742918515827483896875618958121606201292632463\"\n+ \"1766847064778384329583297500742918515827483896875618958121606201292632532\"\n values.version:\n- \"2.9.0\"\n+ \"2.10.0\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n category:\n- {\"name\":\"Canonical Bridges\",\"priority\":2}\n errors:\n+ {\"xDomainMessageSender\":\"Processing error occurred.\"}\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x88FF1e5b602916615391F55854588EFcBB7663f0) {\n +++ description: None\n template:\n- \"opstack/L1StandardBridge\"\n sourceHashes.1:\n- \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n description:\n- \"The main entry point to deposit ERC20 tokens from host chain to this chain.\"\n values.$implementation:\n- \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.6.0\"\n+ \"2.7.0\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n category:\n- {\"name\":\"Canonical Bridges\",\"priority\":2}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xd56045E68956FCe2576E680c95a4750cf8241f79) {\n +++ description: None\n directlyReceivedPermissions.2:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\",\"role\":\"admin\"}\n directlyReceivedPermissions.7.role:\n- \".$admin\"\n+ \"admin\"\n directlyReceivedPermissions.7.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n values.$pastUpgrades.1:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS64 (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x5F5BEa598Fdf8DF30d56808E8b793da8FC7f3028)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "37f15798",
"date": "Mon, 18 Aug 2025 14:05:07 GMT",
"timestamp": 1755525900,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "8f19a735",
"date": "Fri, 25 Jul 2025 17:48:23 GMT",
"timestamp": 1753465703,
"description": "Check optimism diffhistory for [the upgrade 16 breakdown](https://gov.optimism.io/t/upgrade-16-proposal-interop-contracts-stage-1-and-go-1-23-support-in-cannon/10037).",
"isHighSeverity": true,
"changeCount": 130,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x3cCF7C31a3A8C1b8aaA9A18FC2d010dDE4262342\"\n+ \"eth:0x1a20c06a80260AA45adA0F9F59b334560eE3FEf1\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x40641A4023f0F4C66D7f8Ade16497f4C947A7163\"\n+ \"eth:0x46DDe051eb4561694DC1F0286eBe940d9E90fbe9\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x3cCF7C31a3A8C1b8aaA9A18FC2d010dDE4262342)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x40641A4023f0F4C66D7f8Ade16497f4C947A7163)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0xc4986627A41cdCf6fa33543D96f00F475bCE42f5\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.3:\n- {\"permission\":\"interact\",\"from\":\"eth:0xf6b1554F483C391414d3830927E3600c105AaE6E\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.5.from:\n- \"eth:0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d\"\n+ \"eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE\"\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.13.from:\n- \"eth:0xc4986627A41cdCf6fa33543D96f00F475bCE42f5\"\n+ \"eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32\"\n receivedPermissions.14.from:\n- \"eth:0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n+ \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\n template:\n- \"opstack/OptimismPortal2\"\n+ \"opstack/OptimismPortal2_post13\"\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n+ \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.respectedGameTypeUpdatedAt:\n- 1737576635\n+ 1753379243\n values.version:\n- \"3.14.0\"\n+ \"4.6.0\"\n values.anchorStateRegistry:\n+ \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n values.ethLockbox:\n+ \"eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superRootsActive:\n+ false\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n- \"OptimismPortal2\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig\"\n+ \"opstack/SystemConfig_pauseId\"\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.4.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 2\n values.l2ChainId:\n+ 57073\n+++ description: `superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\n+++ severity: HIGH\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n fieldMeta.paused:\n+ {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.6.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x88FF1e5b602916615391F55854588EFcBB7663f0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n values.version:\n- \"2.3.0\"\n+ \"2.6.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions:\n- [{\"permission\":\"guard\",\"from\":\"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}]\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"role\":\".deputyGuardian\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0xc4986627A41cdCf6fa33543D96f00F475bCE42f5)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79) {\n +++ description: None\n directlyReceivedPermissions.2.from:\n- \"eth:0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d\"\n+ \"eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE\"\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14\",\"role\":\"admin\"}\n directlyReceivedPermissions.9.from:\n- \"eth:0xc4986627A41cdCf6fa33543D96f00F475bCE42f5\"\n+ \"eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32\"\n directlyReceivedPermissions.10.from:\n- \"eth:0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n+ \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0xf6b1554F483C391414d3830927E3600c105AaE6E)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x1a20c06a80260AA45adA0F9F59b334560eE3FEf1)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x3F7b07A5D638024a37A776FA228fE90b317aF6dE)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x46DDe051eb4561694DC1F0286eBe940d9E90fbe9)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract ETHLockbox (0xbd4AbB321138e8Eddc399cE64E66451294325a14)\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xEe018bAf058227872540AC60eFbd38b023d9dAe2)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```"
}
]
},
{
"id": "f8179fb7",
"date": "Mon, 21 Jul 2025 11:59:18 GMT",
"timestamp": 1753099158,
"description": "fee increase.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n values.baseFeeScalar:\n- 1368\n+ 4424\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n values.baseFeeScalar:\n- 1368\n+ 4424\n }\n```"
}
]
},
{
"id": "119aa72b",
"date": "Tue, 15 Jul 2025 11:31:07 GMT",
"timestamp": 1752579067,
"description": "Gelato MS: one signer removed, one changed.\n\nfee config updated.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.basefeeScalar:\n- 0\n+ 4424\n values.blobbasefeeScalar:\n- 0\n+ 810831\n }\n```\n\n```diff\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.2:\n- \"eth:0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"eth:0x58edE8C66A15f23c61b8EadD1191FdaD904f7a87\"\n values.$members.8:\n- \"eth:0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 9 (44%)\"\n }\n```"
}
]
},
{
"id": "70a21a32",
"date": "Mon, 14 Jul 2025 12:46:55 GMT",
"timestamp": 1752497215,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 15,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: Provides the current gas price for L2 transactions.\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: Simple contract that returns the latest L1 block number.\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: Administration contract for other contract proxies.\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x420000000000000000000000000000000000001A)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n```"
}
]
},
{
"id": "f1ff18f5",
"date": "Mon, 14 Jul 2025 12:46:55 GMT",
"timestamp": 1752497215,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 30,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x3cCF7C31a3A8C1b8aaA9A18FC2d010dDE4262342)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x40641A4023f0F4C66D7f8Ade16497f4C947A7163)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x5d66C1782664115999C47c9fA5cd031f495D3e4F)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x661235a238B11191211fa95D4Dd9E423d521E0Be)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x88FF1e5b602916615391F55854588EFcBB7663f0)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x9b7C9BbD6d540A8A4dEDd935819fC4408Ba71153)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xA8B389A82e088b164cD03230e900980CcED34d29)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xc4986627A41cdCf6fa33543D96f00F475bCE42f5)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xf6b1554F483C391414d3830927E3600c105AaE6E)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "16b74f0a",
"date": "Mon, 12 May 2025 08:14:46 GMT",
"timestamp": 1747037686,
"description": "Isthmus L2 contract upgrades, mainly focusing on support for the new operator fee (standard contracts).",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0x6e5bd465cdf07c7fc7de194833be336109be5aceaeb509643962096c772ec26a\"\n+ \"0xa6ae4f0695335983b644f1524c759f3178ee95c406e1e905b8cbccf5763af43a\"\n values.$implementation:\n- \"0xc0d3C0d3C0d3c0D3C0D3C0d3C0d3C0D3C0D3000f\"\n+ \"0x93e57A196454CB919193fa9946f14943cf733845\"\n values.$pastUpgrades.0:\n+ [\"2025-05-09T16:00:01.000Z\",\"0xb6560306ccb0e772b132a8a6dd78244c0d7ac270c80baba40f95006184926c30\",[\"0x93e57A196454CB919193fa9946f14943cf733845\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.3.1-beta.1\"\n+ \"1.4.0\"\n values.isIsthmus:\n+ true\n implementationNames.0xc0d3C0d3C0d3c0D3C0D3C0d3C0d3C0D3C0D3000f:\n- \"GasPriceOracle\"\n implementationNames.0x93e57A196454CB919193fa9946f14943cf733845:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0x936b7b7eb2a88a64e3eceaf897abfa2dc6e48b4c75eba2da34ff927b98413b6b\"\n+ \"0x6a90057e0a817ce81f9ed4b565f5efdbf1ebf76d5f59f3ce62f2994455e8199d\"\n sourceHashes.0:\n- \"0x6a90057e0a817ce81f9ed4b565f5efdbf1ebf76d5f59f3ce62f2994455e8199d\"\n+ \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n values.$implementation:\n- \"0xc0d3C0D3C0D3c0D3C0D3C0d3C0D3c0D3c0d30015\"\n+ \"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n values.$pastUpgrades.0:\n+ [\"2025-05-09T16:00:01.000Z\",\"0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd\",[\"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.5.1-beta.1\"\n+ \"1.6.0\"\n implementationNames.0xc0d3C0D3C0D3c0D3C0D3C0d3C0D3c0D3c0d30015:\n- \"L1Block\"\n implementationNames.0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n+ \"L1Block\"\n }\n```"
}
]
},
{
"id": "085af5d4",
"date": "Thu, 08 May 2025 08:49:06 GMT",
"timestamp": 1746694146,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x436BaC2Efe273e3f13eEFeda2b3689C34591bca1\"\n+ \"0x40641A4023f0F4C66D7f8Ade16497f4C947A7163\"\n values.gameImpls.3:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x3cCF7C31a3A8C1b8aaA9A18FC2d010dDE4262342\"\n values.gameImpls.0:\n- \"0x499E30a3b1BDB03f554fFFFAe4c9c5Edf31ca554\"\n+ \"0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x436BaC2Efe273e3f13eEFeda2b3689C34591bca1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x499E30a3b1BDB03f554fFFFAe4c9c5Edf31ca554)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x3cCF7C31a3A8C1b8aaA9A18FC2d010dDE4262342)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x40641A4023f0F4C66D7f8Ade16497f4C947A7163)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "304f8558",
"date": "Fri, 25 Apr 2025 13:16:23 GMT",
"timestamp": 1745586983,
"description": "[Isthmus upgrade](https://vote.optimism.io/proposals/8705916809146420472067303211131851783087744913535435360574720946039078686841):\n- upgraded proof system VM: MIPS (MT-Cannon MIPS64)\n- operator fee (fee mechanism to improve fee config for zk proven and alt-DA systems)\n- pectra readiness",
"isHighSeverity": true,
"changeCount": 61,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x69361c9134D620B704C2a72c58523a4373eCe86f\"\n+ \"0x436BaC2Efe273e3f13eEFeda2b3689C34591bca1\"\n values.gameImpls.0:\n- \"0x4699D20479dfD20e15CaB4FCB6F2a7CC6fE35443\"\n+ \"0x499E30a3b1BDB03f554fFFFAe4c9c5Edf31ca554\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x4699D20479dfD20e15CaB4FCB6F2a7CC6fE35443)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n values.$implementation:\n- \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$pastUpgrades.1.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]\n values.$pastUpgrades.1.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2024-12-06T15:20:11.000Z\"\n values.$pastUpgrades.1.0:\n- [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n+ \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n values.$pastUpgrades.0.2.0:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.0.1:\n- \"2024-12-06T15:20:11.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.13.0\"\n+ \"3.14.0\"\n }\n```\n\n```diff\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$pastUpgrades.2.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n values.$pastUpgrades.2.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2024-12-06T15:20:11.000Z\"\n values.$pastUpgrades.2.0:\n- [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n+ \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n values.$pastUpgrades.0.2:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.1:\n- \"2024-12-06T15:20:11.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$pastUpgrades.0.0:\n- \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n+ [\"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.1.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n values.$pastUpgrades.1.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2024-12-06T15:20:11.000Z\"\n values.$pastUpgrades.1.0:\n- [\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]\n+ \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n values.$pastUpgrades.0.2.0:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.0.1:\n- \"2024-12-06T15:20:11.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.3.1\"\n+ \"2.4.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x69361c9134D620B704C2a72c58523a4373eCe86f)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1CrossDomainMessenger (0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.2:\n+ [\"2024-12-06T15:20:11.000Z\",\"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.1.2:\n- [\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.1.1:\n- \"2024-12-06T15:20:11.000Z\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.1.0:\n- \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.0.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]\n values.$pastUpgrades.0.1:\n- [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.5.0\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n }\n```\n\n```diff\n contract L1StandardBridge (0x88FF1e5b602916615391F55854588EFcBB7663f0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n sourceHashes.0:\n- \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"2.2.2\"\n+ \"2.3.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x436BaC2Efe273e3f13eEFeda2b3689C34591bca1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x499E30a3b1BDB03f554fFFFAe4c9c5Edf31ca554)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "ac066efb",
"date": "Fri, 04 Apr 2025 09:41:29 GMT",
"timestamp": 1743759689,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": true,
"changeCount": 88,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.4:\n- \"0x8D9faaEb46cBCf487baf2182E438Ac3D0847F637\"\n+ \"0x69361c9134D620B704C2a72c58523a4373eCe86f\"\n values.gameImpls.0:\n- \"0x7e87B471e96b96955044328242456427A0D49694\"\n+ \"0x4699D20479dfD20e15CaB4FCB6F2a7CC6fE35443\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.6.from:\n- \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n+ \"0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d\"\n receivedPermissions.5.from:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n receivedPermissions.5.via.0.address:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n receivedPermissions.4.from:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.4.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.4.via.0.address:\n- \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n receivedPermissions.3.from:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n receivedPermissions.3.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.2.from:\n- \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n receivedPermissions.1.from:\n- \"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"\n+ \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n values.$implementation:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.2.0\"\n+ \"2.4.0\"\n values.basefeeScalar:\n+ 0\n values.blobbasefeeScalar:\n+ 0\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f\",\"l1ERC721Bridge\":\"0x661235a238B11191211fa95D4Dd9E423d521E0Be\",\"l1StandardBridge\":\"0x88FF1e5b602916615391F55854588EFcBB7663f0\",\"disputeGameFactory\":\"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\",\"optimismPortal\":\"0x5d66C1782664115999C47c9fA5cd031f495D3e4F\",\"optimismMintableERC20Factory\":\"0xA8B389A82e088b164cD03230e900980CcED34d29\"}\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n sourceHashes.0:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n values.$implementation:\n- \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.1:\n+ [\"2024-12-06T15:20:11.000Z\",\"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.0.2:\n- [\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.0.1:\n- \"2024-12-06T15:20:11.000Z\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.0.0:\n- \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x7e87B471e96b96955044328242456427A0D49694)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1StandardBridge (0x88FF1e5b602916615391F55854588EFcBB7663f0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x8D9faaEb46cBCf487baf2182E438Ac3D0847F637)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract OptimismMintableERC20Factory (0xA8B389A82e088b164cD03230e900980CcED34d29) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n }\n```\n\n```diff\n contract DelayedWETH (0xc4986627A41cdCf6fa33543D96f00F475bCE42f5) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79) {\n +++ description: None\n directlyReceivedPermissions.5.from:\n- \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n+ \"0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d\"\n directlyReceivedPermissions.4.from:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n directlyReceivedPermissions.4.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.3.from:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n directlyReceivedPermissions.3.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.2.from:\n- \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n directlyReceivedPermissions.1.from:\n- \"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"\n+ \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0xde744491BcF6b2DD2F32146364Ea1487D75E2509)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract DelayedWETH (0xf6b1554F483C391414d3830927E3600c105AaE6E) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x4699D20479dfD20e15CaB4FCB6F2a7CC6fE35443)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x69361c9134D620B704C2a72c58523a4373eCe86f)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "887eff7b",
"date": "Tue, 18 Mar 2025 10:45:54 GMT",
"timestamp": 1742294754,
"description": "Migrate to new FaultDisputeGame (v1.3.1), which is the same as the one used by op mainnet and unichain.",
"isHighSeverity": false,
"changeCount": 29,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x0A780bE3eB21117b1bBCD74cf5D7624A3a482963)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x6A8eFcba5642EB15D743CBB29545BdC44D5Ad8cD\"\n+ \"0x8D9faaEb46cBCf487baf2182E438Ac3D0847F637\"\n values.gameImpls.0:\n- \"0x0A780bE3eB21117b1bBCD74cf5D7624A3a482963\"\n+ \"0x7e87B471e96b96955044328242456427A0D49694\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x14773a8040Ff22e3DcBb0C83eC8e33Be7D920D38)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.7.from:\n- \"0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50\"\n+ \"0xc4986627A41cdCf6fa33543D96f00F475bCE42f5\"\n receivedPermissions.6.from:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n receivedPermissions.6.via.0.address:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n receivedPermissions.5.from:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.5.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.5.via.0.address:\n- \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n receivedPermissions.4.from:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n receivedPermissions.4.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.3.from:\n- \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n receivedPermissions.2.from:\n- \"0x14773a8040Ff22e3DcBb0C83eC8e33Be7D920D38\"\n+ \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x6A8eFcba5642EB15D743CBB29545BdC44D5Ad8cD)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79) {\n +++ description: None\n directlyReceivedPermissions.6.from:\n- \"0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50\"\n+ \"0xc4986627A41cdCf6fa33543D96f00F475bCE42f5\"\n directlyReceivedPermissions.5.from:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n directlyReceivedPermissions.5.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.4.from:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n directlyReceivedPermissions.4.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.3.from:\n- \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n directlyReceivedPermissions.2.from:\n- \"0x14773a8040Ff22e3DcBb0C83eC8e33Be7D920D38\"\n+ \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x7e87B471e96b96955044328242456427A0D49694)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x8D9faaEb46cBCf487baf2182E438Ac3D0847F637)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xc4986627A41cdCf6fa33543D96f00F475bCE42f5)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xf6b1554F483C391414d3830927E3600c105AaE6E)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "3a65a579",
"date": "Tue, 11 Mar 2025 12:03:49 GMT",
"timestamp": 1741694629,
"description": "Contract verified.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017) {\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n unverified:\n- true\n values.BRIDGE:\n+ \"0x4200000000000000000000000000000000000014\"\n values.REMOTE_CHAIN_ID:\n+ 1\n values.version:\n+ \"1.4.1-beta.1\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0xd05d0050b36bb2fb43c345eabc2d7f6e796571360aa2198707da64794c5f4b64\"]\n }\n```"
}
]
},
{
"id": "4e816dbe",
"date": "Wed, 26 Feb 2025 16:18:31 GMT",
"timestamp": 1740586711,
"description": "Config related: Add L2 contracts as templates with source.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014) {\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n unverified:\n- true\n values.messenger:\n+ \"0x4200000000000000000000000000000000000007\"\n values.MESSENGER:\n+ \"0x4200000000000000000000000000000000000007\"\n values.OTHER_BRIDGE:\n+ \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n values.otherBridge:\n+ \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n values.paused:\n+ false\n values.version:\n+ \"1.7.1-beta.2\"\n template:\n+ \"opstack/Layer2/L2ERC721Bridge\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0xf8e3171eeccb9b5e31480276120e77545d7f33ae218b16ee367370dc484149f2\"]\n }\n```"
}
]
},
{
"id": "fce0a3d2",
"date": "Mon, 24 Feb 2025 06:46:01 GMT",
"timestamp": 1740379561,
"description": "Initial L2 discovery: 3 unverified contracts, ProxyAdmin gov correctly resolves to L1.",
"isHighSeverity": false,
"changeCount": 15,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: Provides the current gas price for L2 transactions.\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: Simple contract that returns the latest L1 block number.\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: Administration contract for other contract proxies.\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract L1FeeVault (0x420000000000000000000000000000000000001A)\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n```"
}
]
},
{
"id": "781020a0",
"date": "Wed, 12 Feb 2025 09:59:40 GMT",
"timestamp": 1739354380,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "f30ca1f0",
"date": "Sat, 08 Feb 2025 16:14:13 GMT",
"timestamp": 1739031253,
"description": "Two SC members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "9ed1fc42",
"date": "Thu, 06 Feb 2025 09:16:25 GMT",
"timestamp": 1738833385,
"description": "OP Stack SC signer rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "2a02bb4b",
"date": "Fri, 24 Jan 2025 08:30:33 GMT",
"timestamp": 1737707433,
"description": "re-add the permissioned games tracker since the default is permissionless games now.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.permissionedGamesTotal:\n- 189\n+ 190\n }\n```"
}
]
},
{
"id": "50b74787",
"date": "Wed, 22 Jan 2025 22:51:41 GMT",
"timestamp": 1737586301,
"description": "Ink is now Stage 1.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n values.RespectedGameString:\n- \"PermissionedDisputeGame\"\n+ \"FaultDisputeGame\"\n values.respectedGameType:\n- 1\n+ 0\n values.respectedGameTypeUpdatedAt:\n- 1733498411\n+ 1737576635\n }\n```"
}
]
},
{
"id": "68ebb84e",
"date": "Wed, 15 Jan 2025 10:19:47 GMT",
"timestamp": 1736936387,
"description": "PermissionedDisputeGame upgraded (1.3.0), FaultDisputeGame (1.3.0) and DelayedWETH added, all known shapes. InitBonds same as optimism for now. Permissioned game is still the respected gameType.\n\nTwo signers added to Gelato MS, now 4/10.",
"isHighSeverity": false,
"changeCount": 43,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.1:\n- \"0xa8E6a9bF1Ba2dF76C6787EAEbE2273Ae98498059\"\n+ \"0x0A780bE3eB21117b1bBCD74cf5D7624A3a482963\"\n values.gameImpls.0:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x6A8eFcba5642EB15D743CBB29545BdC44D5Ad8cD\"\n values.initBonds.1:\n- 0\n+ \"80000000000000000\"\n values.initBonds.0:\n- 0\n+ \"80000000000000000\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"target\":\"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\",\"via\":[{\"address\":\"0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.10.target:\n- \"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n receivedPermissions.9.target:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.9.via.0.address:\n- \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n receivedPermissions.8.target:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n receivedPermissions.8.via.0.address:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n receivedPermissions.8.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.7.target:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n receivedPermissions.7.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.6.target:\n- \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n+ \"0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n receivedPermissions.5.target:\n- \"0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n+ \"0x5d66C1782664115999C47c9fA5cd031f495D3e4F\"\n receivedPermissions.4.target:\n- \"0x5d66C1782664115999C47c9fA5cd031f495D3e4F\"\n+ \"0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xa8E6a9bF1Ba2dF76C6787EAEbE2273Ae98498059)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.9:\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.8:\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.7:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.$members.6:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x88De44422E1b1c30bc530c35aEdb9f5aD0e6fD52\"\n values.$members.5:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n values.$members.4:\n- \"0xBc0ca6865d6883a83D4aDDD6b862aE042d855E0d\"\n+ \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n values.$members.3:\n- \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.2:\n- \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n+ \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n values.$members.1:\n- \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n+ \"0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.0:\n- \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.multisigThreshold:\n- \"4 of 8 (50%)\"\n+ \"4 of 10 (40%)\"\n }\n```\n\n```diff\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79) {\n +++ description: None\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"target\":\"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"}\n directlyReceivedPermissions.8.target:\n- \"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n directlyReceivedPermissions.7.target:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n directlyReceivedPermissions.7.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.6.target:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n directlyReceivedPermissions.6.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.5.target:\n- \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n+ \"0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n directlyReceivedPermissions.4.target:\n- \"0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n+ \"0x5d66C1782664115999C47c9fA5cd031f495D3e4F\"\n directlyReceivedPermissions.3.target:\n- \"0x5d66C1782664115999C47c9fA5cd031f495D3e4F\"\n+ \"0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (0xde744491BcF6b2DD2F32146364Ea1487D75E2509) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n values.$pastUpgrades.2:\n+ [\"2025-01-13T21:22:47.000Z\",\"0x71234ec9d3df32360383a0091277b0facbeb21456f1a29accb110fa43a6b5441\",[\"0x7A78aa7D5dec2F8B368ca13f00Df2fA4E5De3C3F\"]]\n values.$pastUpgrades.1:\n+ [\"2025-01-13T21:22:47.000Z\",\"0x71234ec9d3df32360383a0091277b0facbeb21456f1a29accb110fa43a6b5441\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x0A780bE3eB21117b1bBCD74cf5D7624A3a482963)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x6A8eFcba5642EB15D743CBB29545BdC44D5Ad8cD)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "9574dbc6",
"date": "Thu, 26 Dec 2024 11:32:41 GMT",
"timestamp": 1735212761,
"description": "Contracts verified (PermissionedDisputeGame, AnchorStateRegistry).\n\nBoth contracts are unintended beta versions (see ink telegram chat) but contain mostly cosmetic changes and the diff is audited, according to ink. A brief review of the diff shows no logic changes and thus the standard templates are used here.",
"isHighSeverity": false,
"changeCount": 29,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n contract PermissionedDisputeGame (0xa8E6a9bF1Ba2dF76C6787EAEbE2273Ae98498059) {\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n unverified:\n- true\n values.absolutePrestate:\n+ \"0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c\"\n values.anchorStateRegistry:\n+ \"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"\n values.challenger:\n+ \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.claimData:\n+ []\n values.claimDataLen:\n+ 0\n values.createdAt:\n+ 0\n values.extraData:\n+ \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n values.gameCreator:\n+ \"0x0000000000000000000000000000000000000000\"\n values.gameData:\n+ {\"gameType_\":1,\"rootClaim_\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extraData_\":\"0x0000000000000000000000000000000000000000000000000000000000000000\"}\n values.gameType:\n+ 1\n values.getChallengerDuration:\n+ []\n values.l1Head:\n+ \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n values.l2BlockNumber:\n+ 0\n values.l2BlockNumberChallenged:\n+ false\n values.l2BlockNumberChallenger:\n+ \"0x0000000000000000000000000000000000000000\"\n values.l2ChainId:\n+ 57073\n values.proposer:\n+ \"0x65436ddCbc026F34118954F229f7F132b696b3B4\"\n values.resolvedAt:\n+ 0\n values.rootClaim:\n+ \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n values.startingBlockNumber:\n+ 0\n values.startingOutputRoot:\n+ {\"root\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"l2BlockNumber\":0}\n values.startingRootHash:\n+ \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n values.status:\n+ 0\n values.version:\n+ \"1.3.1-beta.3\"\n values.weth:\n+ \"0x14773a8040Ff22e3DcBb0C83eC8e33Be7D920D38\"\n sourceHashes:\n+ [\"0xf2f258eb38ded9ad4f2ad678585505ab05851f008aad859af6ad97de75a276b9\"]\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x14773a8040Ff22e3DcBb0C83eC8e33Be7D920D38)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xde744491BcF6b2DD2F32146364Ea1487D75E2509)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```"
}
]
},
{
"id": "c4607f40",
"date": "Sat, 21 Dec 2024 17:04:52 GMT",
"timestamp": 1734800692,
"description": "Initial discovery. Chain controlled by Superchain upgradability but with permissioned games.",
"isHighSeverity": false,
"changeCount": 25,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainGuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x5d66C1782664115999C47c9fA5cd031f495D3e4F)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x661235a238B11191211fa95D4Dd9E423d521E0Be)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x88FF1e5b602916615391F55854588EFcBB7663f0)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x9b7C9BbD6d540A8A4dEDd935819fC4408Ba71153)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xA8B389A82e088b164cD03230e900980CcED34d29)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xa8E6a9bF1Ba2dF76C6787EAEbE2273Ae98498059)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
}
]
+19 -5
+4 -4
{
"addresses": {
"ethereum": [
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x1eeE9b9F024188E54930D2927d7a28e66E7649a7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741964363,
"transactionHash": "0x9da6a6146efb3ee9e77570abfe69cfab922a48abea8124f36f045c7b598c6dd7",
"implementations": [
"eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1eeE9b9F024188E54930D2927d7a28e66E7649a7#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x661b39a5EB200dFcbb436d98453BdBf88Da02AA1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741964363,
"transactionHash": "0x9da6a6146efb3ee9e77570abfe69cfab922a48abea8124f36f045c7b598c6dd7",
"implementations": [
"eth:0x46FaF6838Bbf770986f073348D41881D5e54Fb0F"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **batchPosters**: EOA 1, EOA 10, EOA 2, EOA 3, EOA 4, EOA 5, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x661b39a5EB200dFcbb436d98453BdBf88Da02AA1#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x769b70b6b1fA281ab5c99e9C5A284BE4117e4783",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x0F8cF337D5A0A45e61559f6Ab1999FF8aA0eACD5"
],
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 1\n * **getValidators**: EOA 6\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x769b70b6b1fA281ab5c99e9C5A284BE4117e4783#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "eth:0xbB31B4eD64fFF7ee149a8c7F7FA3E6BF35E8363B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbB31B4eD64fFF7ee149a8c7F7FA3E6BF35E8363B#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x0F8cF337D5A0A45e61559f6Ab1999FF8aA0eACD5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741964363,
"transactionHash": "0x9da6a6146efb3ee9e77570abfe69cfab922a48abea8124f36f045c7b598c6dd7",
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **executors**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F8cF337D5A0A45e61559f6Ab1999FF8aA0eACD5#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0xa2809b5f031bf91d2408B3e2464774A28B0F4949",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741964363,
"transactionHash": "0x9da6a6146efb3ee9e77570abfe69cfab922a48abea8124f36f045c7b598c6dd7",
"implementations": [
"eth:0x85a77E293a81d4C35F304951e41378E5e43d1f53"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa2809b5f031bf91d2408B3e2464774A28B0F4949#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0xDb5abc57397530DddC1e33BC023F2ef73Db6A86A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741964363,
"transactionHash": "0x9da6a6146efb3ee9e77570abfe69cfab922a48abea8124f36f045c7b598c6dd7",
"implementations": [
"eth:0x1f24EDD5161f82588007f33B72b0b28e46cCE878"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDb5abc57397530DddC1e33BC023F2ef73Db6A86A#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x29efff3EfE3E01A3F69011a054C33410edFc2283",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x29efff3EfE3E01A3F69011a054C33410edFc2283#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x7368F782E109518fD3914e8b315eE45E51C15835",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7368F782E109518fD3914e8b315eE45E51C15835#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0xb343522e5663E0cE1060dd50EF04b12820F84890",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741964363,
"transactionHash": "0x9da6a6146efb3ee9e77570abfe69cfab922a48abea8124f36f045c7b598c6dd7",
"implementations": [
"eth:0xb0f031Cd10598c6b4C33FcE1675F26CF937091da"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb343522e5663E0cE1060dd50EF04b12820F84890#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9#code"
}
]
},
"escrows": [
{
"address": "0x1eeE9b9F024188E54930D2927d7a28e66E7649a7",
"sinceTimestamp": 1741964363,
"tokens": [
"DIA"
],
"contract": {
"isVerified": true,
"address": "eth:0x1eeE9b9F024188E54930D2927d7a28e66E7649a7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741964363,
"transactionHash": "0x9da6a6146efb3ee9e77570abfe69cfab922a48abea8124f36f045c7b598c6dd7",
"implementations": [
"eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows DIA sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x1eeE9b9F024188E54930D2927d7a28e66E7649a7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"title": "ArbOS wasmModuleRoot v61",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v61/arbos",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~95 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v61` . Commit hash should be `dfab1dea5c8d2c5089eb26d22ad6239bb78cfa5d`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Fix a dependency on a private repo in `Dockerfile`: replace line `RUN --mount=type=secret,id=gh_token,required=false ./download-machine.sh consensus-v60-rc.3 0xeadc910d36a0eab43a3dd7acb1a3513885e333785689c7cf750b9949c5bb7227 OffchainLabs/nitro-private` with `RUN ./download-machine.sh consensus-v60-rc.5 0x7a9e6a77354888257a9989ce0b6bb39df5fedf222d453932933fdf7a489cbb57`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97"
}
],
"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": 1787668991,
"baseTimestamp": 1792490864,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "08f32247",
"date": "Tue, 20 Oct 2026 10:09:06 GMT",
"timestamp": 1792490864,
"description": "RollupProxy: ArbOS v51 → v61 wasm module root, executed by Conduit Multisig 1 through the UpgradeExecutor.",
"isHighSeverity": true,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (eth:0x769b70b6b1fA281ab5c99e9C5A284BE4117e4783) [orbitstack/RollupProxyBoLD] {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v51 wasmModuleRoot\"\n+ \"ArbOS v61 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n+++ severity: HIGH\n values.wasmModuleRoot:\n- \"0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499\"\n+ \"0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97\"\n }\n```"
}
]
},
{
"id": "160f0712",
"date": "Tue, 25 Aug 2026 14:44:15 GMT",
"timestamp": 1787668991,
"description": "Conduit Multisig 1: member added; threshold 4/10 → 4/11. Also config-related: the shared wasmModuleRoot type map gained the ArbOS v61 label.",
"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": "60c28c3e",
"date": "Thu, 11 Jun 2026 11:26:00 GMT",
"timestamp": 1781177084,
"description": "Conduit Multisig 1 dropped two signers.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.4:\n- \"eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007\"\n values.$members.8:\n- \"eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "a22a7c62",
"date": "Tue, 02 Jun 2026 11:09:27 GMT",
"timestamp": 1780398489,
"description": "Conduit Multisig 1 rotated one signer (operator key `0x3840…fd5f` → `0xcdC9…4853`); same rotation propagated across Conduit Multisigs 1/2/3 on eth/arb1/base.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xcdC931935768c0562AfE989A366a3Dc4d52F4853\"\n values.$members.8:\n- \"eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n }\n```"
}
]
},
{
"id": "3f4ba977",
"date": "Tue, 05 May 2026 15:18:54 GMT",
"timestamp": 1777994270,
"description": "Conduit Multisig 1 (`eth:0x4a496227...`) — signer `0x381624F7` removed. Threshold unchanged at 4; total signers 13 → 12 (31% → 33%). Shared multisig (referenced by multiple Conduit-managed chains).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.1:\n- \"eth:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07\"\n values.multisigThreshold:\n- \"4 of 13 (31%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "387fb1be",
"date": "Wed, 11 Feb 2026 15:34:33 GMT",
"timestamp": 1770824009,
"description": "Upgrade to BoLD dispute protocol and ArbOS v51 \"Dia\" (nitro-contracts v3.1.0+).\n\nRollupProxy replaced with a new BoLD-enabled contract (`isPostBoLD: true`). Assertion-based state management replaces the old node-based system. Validators stake 0.1 ETH (WETH), validator whitelist remains enabled.\n\nChallengeManager replaced with EdgeChallengeManager implementing the BoLD multi-level bisection protocol: block-level edges (height 67M), 1 big-step level (height 524K), small-step edges (height 8.4M), with 0.1 ETH stake for big-step and small-step edges.\n\nAll core contracts upgraded: Bridge, Inbox, Outbox, RollupEventInbox, SequencerInbox. SequencerInbox gains delay buffer support (`isDelayBufferable: true`, currently set to max/disabled) and `feeTokenPricer` field. `delayBlocks` increased from 5760 to 7200.\n\nAll four OneStepProvers and OneStepProofEntry replaced with new versions. ValidatorUtils removed (no longer needed in BoLD).\n\nArbOS updated to v51 \"Dia\" (wasmModuleRoot `0x8a7513bf...`), adding Ethereum Fusaka support (secp256r1, BLS12-381, CLZ opcode), improved gas pricing, and native token mint/burn support.",
"isHighSeverity": true,
"changeCount": 65,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract OneStepProverMath (eth:0x036147913eEb42E97790F9a693246c8444290AB6)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract UpgradeExecutor (eth:0x0F8cF337D5A0A45e61559f6Ab1999FF8aA0eACD5) {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n directlyReceivedPermissions.1.description:\n- \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n+ \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability and DACs, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n directlyReceivedPermissions.1.from:\n- \"eth:0x311b5c87f245D39f2B31965C5Cb8cB52797e422b\"\n+ \"eth:0x769b70b6b1fA281ab5c99e9C5A284BE4117e4783\"\n directlyReceivedPermissions.2.from:\n- \"eth:0x311b5c87f245D39f2B31965C5Cb8cB52797e422b\"\n+ \"eth:0x769b70b6b1fA281ab5c99e9C5A284BE4117e4783\"\n }\n```\n\n```diff\n contract Bridge (eth:0x1eeE9b9F024188E54930D2927d7a28e66E7649a7) {\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n sourceHashes.1:\n- \"0x73087d4667e81f676a10708feb2774bab3a9a558a1987b8ac4f112cc464bba96\"\n+ \"0x7f62b9bd4a0aac711ca355a523b1d934ab93ae14c5fae5a860c0ded42ee5a3c3\"\n values.$implementation:\n- \"eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797\"\n+ \"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6\"\n values.$pastUpgrades.1:\n+ [\"2026-02-09T09:22:35.000Z\",\"0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461\",[\"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"eth:0x311b5c87f245D39f2B31965C5Cb8cB52797e422b\"\n+ \"eth:0x769b70b6b1fA281ab5c99e9C5A284BE4117e4783\"\n implementationNames.eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797:\n- \"ERC20Bridge\"\n implementationNames.eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6:\n+ \"ERC20Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMemory (eth:0x21c6F81b1063f09A6c26EDc74fBb9beb349A5E96)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverHostIo (eth:0x231173CC90cB8486A7dbD1733B5105254316D50A)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract ChallengeManager (eth:0x27a66B6e6aFB0179Bf8E9B97af6e148a5eF79D97)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n- Status: DELETED\n contract RollupProxy (eth:0x311b5c87f245D39f2B31965C5Cb8cB52797e422b)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n receivedPermissions.0.description:\n- \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n+ \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability and DACs, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n receivedPermissions.0.from:\n- \"eth:0x311b5c87f245D39f2B31965C5Cb8cB52797e422b\"\n+ \"eth:0x769b70b6b1fA281ab5c99e9C5A284BE4117e4783\"\n receivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x27a66B6e6aFB0179Bf8E9B97af6e148a5eF79D97\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9\"},{\"address\":\"eth:0x0F8cF337D5A0A45e61559f6Ab1999FF8aA0eACD5\"}]}\n receivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x311b5c87f245D39f2B31965C5Cb8cB52797e422b\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0F8cF337D5A0A45e61559f6Ab1999FF8aA0eACD5\"}]}\n receivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x769b70b6b1fA281ab5c99e9C5A284BE4117e4783\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0F8cF337D5A0A45e61559f6Ab1999FF8aA0eACD5\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xbB31B4eD64fFF7ee149a8c7F7FA3E6BF35E8363B\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9\"},{\"address\":\"eth:0x0F8cF337D5A0A45e61559f6Ab1999FF8aA0eACD5\"}]}\n }\n```\n\n```diff\n contract SequencerInbox (eth:0x661b39a5EB200dFcbb436d98453BdBf88Da02AA1) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.1:\n- \"0x6bb86ac4bd0d31e049f543fcf0a8f94c952252222f115246ef9d5b8104d803cc\"\n+ \"0xb57f3e67e08492b235337cda4f3ea0117e3e043cceaf8e9a7a51b57611ba99de\"\n values.$implementation:\n- \"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18\"\n+ \"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324\"\n values.$pastUpgrades.2:\n+ [\"2026-02-09T09:22:35.000Z\",\"0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461\",[\"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.maxTimeVariation.delayBlocks:\n- 5760\n+ 7200\n values.reader4844:\n- \"eth:0x6c5c9E6c080a6C25f49DfFE85cfA71aaEAAfdE74\"\n+ \"eth:0xB1F1A77AB63671a6355Fa5c8423f436118943411\"\n values.rollup:\n- \"eth:0x311b5c87f245D39f2B31965C5Cb8cB52797e422b\"\n+ \"eth:0x769b70b6b1fA281ab5c99e9C5A284BE4117e4783\"\n values.feeTokenPricer:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isDelayBufferable:\n+ true\n implementationNames.eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18:\n- \"SequencerInbox\"\n implementationNames.eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324:\n+ \"SequencerInbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProver0 (eth:0x72b55c2C38EadE57C10047746632A369A060A46E)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract ValidatorUtils (eth:0x84eA2523b271029FFAeB58fc6E6F1435a280db44)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n EOA (eth:0x8fbEf9f7554aec9CCf62b88D86aE1C91F1599F7C) {\n +++ description: None\n receivedPermissions.0.role:\n- \".validators\"\n+ \".getValidators\"\n receivedPermissions.0.from:\n- \"eth:0x311b5c87f245D39f2B31965C5Cb8cB52797e422b\"\n+ \"eth:0x769b70b6b1fA281ab5c99e9C5A284BE4117e4783\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProofEntry (eth:0x9f403f2054736884518E6D3f510C02f5959BDCC6)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract Inbox (eth:0xa2809b5f031bf91d2408B3e2464774A28B0F4949) {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n sourceHashes.1:\n- \"0x25984fdfffb8141859c99299fb29e7a7460732d77111e5fe23792baa99f336a3\"\n+ \"0x82dad78abdf27e168de1ae177b8055db4167106d71273d9a3264e9898a6055e4\"\n values.$implementation:\n- \"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4\"\n+ \"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e\"\n values.$pastUpgrades.2:\n+ [\"2026-02-09T09:22:35.000Z\",\"0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461\",[\"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e\"]]\n values.$upgradeCount:\n- 2\n+ 3\n implementationNames.eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4:\n- \"ERC20Inbox\"\n implementationNames.eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e:\n+ \"ERC20Inbox\"\n }\n```\n\n```diff\n contract RollupEventInbox (eth:0xb343522e5663E0cE1060dd50EF04b12820F84890) {\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n sourceHashes.1:\n- \"0x35bd9f6436158f2147578ce95b85de68f435e81f1f3ed3858f7523a8c4825a1a\"\n+ \"0x089ac3cec821c0f014f284ec4ec1039ef6bc50b6ad3ee47c82e20af65cc30c33\"\n values.$implementation:\n- \"eth:0xb0f031Cd10598c6b4C33FcE1675F26CF937091da\"\n+ \"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe\"\n values.$pastUpgrades.1:\n+ [\"2026-02-09T09:22:35.000Z\",\"0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461\",[\"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"eth:0x311b5c87f245D39f2B31965C5Cb8cB52797e422b\"\n+ \"eth:0x769b70b6b1fA281ab5c99e9C5A284BE4117e4783\"\n implementationNames.eth:0xb0f031Cd10598c6b4C33FcE1675F26CF937091da:\n- \"ERC20RollupEventInbox\"\n implementationNames.eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe:\n+ \"ERC20RollupEventInbox\"\n }\n```\n\n```diff\n contract Outbox (eth:0xDb5abc57397530DddC1e33BC023F2ef73Db6A86A) {\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n values.$implementation:\n- \"eth:0x1f24EDD5161f82588007f33B72b0b28e46cCE878\"\n+ \"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386\"\n values.$pastUpgrades.1:\n+ [\"2026-02-09T09:22:35.000Z\",\"0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461\",[\"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"eth:0x311b5c87f245D39f2B31965C5Cb8cB52797e422b\"\n+ \"eth:0x769b70b6b1fA281ab5c99e9C5A284BE4117e4783\"\n implementationNames.eth:0x1f24EDD5161f82588007f33B72b0b28e46cCE878:\n- \"ERC20Outbox\"\n implementationNames.eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386:\n+ \"ERC20Outbox\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9) {\n +++ description: None\n directlyReceivedPermissions.2:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x27a66B6e6aFB0179Bf8E9B97af6e148a5eF79D97\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xbB31B4eD64fFF7ee149a8c7F7FA3E6BF35E8363B\",\"role\":\"admin\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (eth:0x29efff3EfE3E01A3F69011a054C33410edFc2283)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (eth:0x7368F782E109518fD3914e8b315eE45E51C15835)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (eth:0x769b70b6b1fA281ab5c99e9C5A284BE4117e4783)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (eth:0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract EdgeChallengeManager (eth:0xbB31B4eD64fFF7ee149a8c7F7FA3E6BF35E8363B)\n +++ description: Contract that implements the main challenge protocol logic of the fraud proof system.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (eth:0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (eth:0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```"
}
]
},
{
"id": "58f45d96",
"date": "Tue, 27 Jan 2026 11:47:28 GMT",
"timestamp": 1769514335,
"description": "New member added to Conduit Multisig 1, increasing from 4 of 12 to 4 of 13 threshold.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 13 (31%)\"\n }\n```"
}
]
},
{
"id": "d15d1d65",
"date": "Wed, 21 Jan 2026 08:34:46 GMT",
"timestamp": 1768984424,
"description": "New member conduit msig.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "80ad04c1",
"date": "Fri, 16 Jan 2026 12:24:32 GMT",
"timestamp": 1768566203,
"description": "Conduit Multisig 1 added a new signer, increasing members from 10 to 11 (threshold remains 4).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "ee8d7713",
"date": "Fri, 05 Dec 2025 11:22:39 GMT",
"timestamp": 1764933681,
"description": "Conduit multisig key rotation.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x2103c69696CB2D3779f5445393808239034E911c\"\n values.$members.0:\n- \"eth:0xFe0ab87ebE03DD0bF52DaF34Dfda6639c335e2d4\"\n+ \"eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007\"\n values.$members.4:\n- \"eth:0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n }\n```"
}
]
},
{
"id": "fddc4745",
"date": "Fri, 03 Oct 2025 08:42:08 GMT",
"timestamp": 1759480862,
"description": "Member removed from multisig.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.2:\n- \"eth:0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "293a3a98",
"date": "Tue, 26 Aug 2025 13:29:03 GMT",
"timestamp": 1756214657,
"description": "Conduit msig: removed one address",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.2:\n- \"eth:0x860e06Fe384D1A3340111e7D142E02642178c053\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "542c9b30",
"date": "Wed, 20 Aug 2025 13:36:07 GMT",
"timestamp": 1755696922,
"description": "Upgrade to ArbOS v40 wasmModuleRoot.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0x311b5c87f245D39f2B31965C5Cb8cB52797e422b) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v32 wasmModuleRoot\"\n+ \"ArbOS v40 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39\"\n+ \"0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a\"\n }\n```"
}
]
},
{
"id": "19f26ef6",
"date": "Tue, 12 Aug 2025 14:40:39 GMT",
"timestamp": 1755009465,
"description": "Conduit Multisig 1 signer added.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xFe0ab87ebE03DD0bF52DaF34Dfda6639c335e2d4\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "a958d4ff",
"date": "Tue, 15 Jul 2025 14:39:48 GMT",
"timestamp": 1752590388,
"description": "standard orbit stack optimium with 1/1 DAC and custom gas token.",
"isHighSeverity": false,
"changeCount": 16,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract OneStepProverMath (0x036147913eEb42E97790F9a693246c8444290AB6)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0x0F8cF337D5A0A45e61559f6Ab1999FF8aA0eACD5)\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0x1eeE9b9F024188E54930D2927d7a28e66E7649a7)\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0x21c6F81b1063f09A6c26EDc74fBb9beb349A5E96)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x231173CC90cB8486A7dbD1733B5105254316D50A)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0x27a66B6e6aFB0179Bf8E9B97af6e148a5eF79D97)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0x311b5c87f245D39f2B31965C5Cb8cB52797e422b)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n+ Status: CREATED\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0x661b39a5EB200dFcbb436d98453BdBf88Da02AA1)\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x72b55c2C38EadE57C10047746632A369A060A46E)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0x84eA2523b271029FFAeB58fc6E6F1435a280db44)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0x9f403f2054736884518E6D3f510C02f5959BDCC6)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (0xa2809b5f031bf91d2408B3e2464774A28B0F4949)\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```\n\n```diff\n+ Status: CREATED\n contract RollupEventInbox (0xb343522e5663E0cE1060dd50EF04b12820F84890)\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0xDb5abc57397530DddC1e33BC023F2ef73Db6A86A)\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9)\n +++ description: None\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Gelato Multisig",
"name": "Gelato Multisig",
"description": "A Multisig with 3/4 threshold. \nMember of Lisk Multisig.\n* Can upgrade **with no delay**\n * SystemConfig [via: Lisk Multisig → ProxyAdmin]\n * DisputeGameFactory [via: Lisk Multisig → ProxyAdmin]\n * L1StandardBridge [via: Lisk Multisig → ProxyAdmin]\n * OptimismPortal2 [via: Lisk Multisig → ProxyAdmin]\n * L1CrossDomainMessenger [via: Lisk Multisig → ProxyAdmin]\n * DelayedWETH [via: Lisk Multisig → ProxyAdmin]\n * L1ERC721Bridge [via: Lisk Multisig → ProxyAdmin]\n * AnchorStateRegistry [via: Lisk Multisig → ProxyAdmin]\n * OptimismMintableERC20Factory [via: Lisk Multisig → ProxyAdmin]\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with PermissionedDisputeGame\n * Allowed to challenge or delete state roots proposed by a Proposer \n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type [via: Lisk Multisig]\n* Can interact with AddressManager\n * set and change address mappings [via: Lisk Multisig → ProxyAdmin]\n* Can interact with DelayedWETH\n * can pull funds from the contract in case of emergency [via: Lisk Multisig]",
"accounts": [
{
"address": "eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb",
"type": "Contract",
"isVerified": true,
"name": "0xBeA2…9Bbb",
"url": "https://etherscan.io/address/0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2",
"type": "EOA",
"isVerified": true,
"name": "0x691C…aAD2",
"url": "https://etherscan.io/address/0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2"
},
{
"address": "eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682",
"type": "EOA",
"isVerified": true,
"name": "0x6a0A…7682",
"url": "https://etherscan.io/address/0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682"
},
{
"address": "eth:0x88De44422E1b1c30bc530c35aEdb9f5aD0e6fD52",
"type": "EOA",
"isVerified": true,
"name": "0x88De…fD52",
"url": "https://etherscan.io/address/0x88De44422E1b1c30bc530c35aEdb9f5aD0e6fD52"
},
{
"address": "eth:0x547D0F472309e4239b296D01e03bEDc101241a26",
"type": "EOA",
"isVerified": true,
"name": "0x547D…1a26",
"url": "https://etherscan.io/address/0x547D0F472309e4239b296D01e03bEDc101241a26"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"address": "eth:0xa564C83958f7F9fA5a255a540EF5e49445873104",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
"name": "0xa564…3104",
"url": "https://etherscan.io/address/0xa564C83958f7F9fA5a255a540EF5e49445873104"
},
{
"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": "Lisk Multisig",
"name": "Lisk Multisig",
"description": "A Multisig with 1/1 threshold. ",
"accounts": [
{
"address": "eth:0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45",
"type": "Contract",
"isVerified": true,
"name": "0xECd4…0b45",
"url": "https://etherscan.io/address/0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb",
"type": "Contract",
"isVerified": true,
"name": "Gelato Multisig",
"url": "#Gelato Multisig"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0xa6Ea2f3299b63c53143c993d2d5E60A69Cd6Fe24",
"type": "EOA",
"isVerified": true,
"name": "0xa6Ea…Fe24",
"url": "https://etherscan.io/address/0xa6Ea2f3299b63c53143c993d2d5E60A69Cd6Fe24",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0x0AbD6da1cE10D1cD6c7C9C14b905786D20f3EB23",
"type": "EOA",
"isVerified": true,
"name": "0x0AbD…EB23",
"url": "https://etherscan.io/address/0x0AbD6da1cE10D1cD6c7C9C14b905786D20f3EB23",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with PermissionedDisputeGame\n * Allowed to post new state roots of the current layer to the host chain ",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1790808274,
"baseTimestamp": 1792587967,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "2d83c6ae",
"date": "Wed, 21 Oct 2026 13:06:51 GMT",
"timestamp": 1792587967,
"description": "OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n+ \"eth:0xa564C83958f7F9fA5a255a540EF5e49445873104\"\n }\n```"
}
]
},
{
"id": "54ea7065",
"date": "Wed, 30 Sep 2026 22:47:35 GMT",
"timestamp": 1790808274,
"description": "OP Contracts Upgrade 20 (op-contracts/v8.0.0-rc.3): the shared SuperchainConfig implementation was upgraded v2.4.2 → v2.4.3 on 2026-09-24. Version bump only; no chain-specific contract changed. ([diff](https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504))",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n+ \"0xb74ed3aa109bd981b095c02d6e3bda2b2467d40e9d1060b4c89b01de32ebad3a\"\n values.$implementation:\n- \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n+ \"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$upgradeCount:\n- 8\n+ 12\n values.version:\n- \"2.4.2\"\n+ \"2.4.3\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n- \"SuperchainConfig\"\n implementationNames.eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "517cb0a1",
"date": "Thu, 17 Sep 2026 14:42:47 GMT",
"timestamp": 1789656039,
"description": "Gelato Multisig: member removed; threshold 3/5 → 3/4.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"3 of 4 (75%)\"\n }\n```"
}
]
},
{
"id": "28188cb1",
"date": "Thu, 10 Sep 2026 12:49:48 GMT",
"timestamp": 1789044500,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "11590ec4",
"date": "Fri, 17 Jul 2026 10:11:14 GMT",
"timestamp": 1784282990,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "a5b238a3",
"date": "Mon, 06 Jul 2026 07:53:50 GMT",
"timestamp": 1783324341,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling).",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "64aa3df5",
"date": "Fri, 15 May 2026 13:31:28 GMT",
"timestamp": 1778851817,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "d0a304ce",
"date": "Tue, 05 May 2026 15:19:03 GMT",
"timestamp": 1777994276,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "d74ffcbd",
"date": "Tue, 28 Apr 2026 15:46:38 GMT",
"timestamp": 1777391131,
"description": "Gelato Multisig (`eth:0xBeA2Bc85...`) member rotation: 5 signers removed (`0x349f3839`, `0xB65540bB`, `0x58edE8C6`, `0x28bB9385`, `0x5bE3E96C`), 1 added (`0x6a0A93Cd`). Threshold dropped 4→3 and total signers 9→5 (44% → 60%). Shared multisig — same change observed on `ethernity`, `ink`, `everclear`, `reya`, and `educhain` (arb1).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n EOA (eth:0x28bB9385A588EF4747264D19B9A9F1603591680c)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259)\n +++ description: None\n```\n\n```diff\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.0:\n- \"eth:0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.$members.1:\n- \"eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.2:\n- \"eth:0x58edE8C66A15f23c61b8EadD1191FdaD904f7a87\"\n values.$members.3:\n- \"eth:0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.5:\n- \"eth:0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682\"\n values.$threshold:\n- 4\n+ 3\n values.multisigThreshold:\n- \"4 of 9 (44%)\"\n+ \"3 of 5 (60%)\"\n }\n```\n\n```diff\n+ Status: CREATED\n EOA (eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682)\n +++ description: None\n```"
}
]
},
{
"id": "fd09d383",
"date": "Wed, 25 Mar 2026 10:07:29 GMT",
"timestamp": 1774433184,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA. Additionally, a Gelato Multisig signer (0x28bB9385A588EF4747264D19B9A9F1603591680c) has set an EIP-7702 delegation to an EIP7702StatelessDeleGator contract.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x28bB9385A588EF4747264D19B9A9F1603591680c) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n sourceHashes:\n+ [\"0x41c6ce964a4ef3e910f9ddf78152734dae8d1b1094ffc8334c50249a3b112bbf\"]\n values:\n+ {\"$implementation\":\"eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B\",\"delegationManager\":\"eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3\",\"DOMAIN_VERSION\":\"1\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"EIP7702StatelessDeleGator\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0x28bB9385A588EF4747264D19B9A9F1603591680c\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"entryPoint\":\"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032\",\"getDeposit\":0,\"getDomainHash\":\"0x4831558cc7e858c354d05912425f7b608f63f175997992468f288e0d88c4cc50\",\"getNonce\":0,\"NAME\":\"EIP7702StatelessDeleGator\",\"PACKED_USER_OP_TYPEHASH\":\"0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18\",\"VERSION\":\"1.3.0\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "cb53f198",
"date": "Fri, 27 Feb 2026 13:25:17 GMT",
"timestamp": 1772198386,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "ca81df69",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272346,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "876fc657",
"date": "Thu, 18 Dec 2025 08:57:58 GMT",
"timestamp": 1766048190,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "263b5906",
"date": "Fri, 28 Nov 2025 11:37:21 GMT",
"timestamp": 1764329775,
"description": "Jovian upgrade.",
"isHighSeverity": true,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n template:\n+ \"uniswap/calibur7702\"\n sourceHashes:\n+ [\"0xb3eb47d8d57eba02013e5d347d05147f7ac072ef2e5e4e1f9a5c6fbced93f8b0\"]\n values:\n+ {\"$implementation\":\"eth:0x000000009B1D0aF20D8C6d0A44e162d11F9b8f00\",\"CUSTOM_STORAGE_ROOT\":\"0x3b86514c5c56b21f08d8e56ab090292e07c2483b3e667a2a45849dcb71368600\",\"domainBytes\":\"0xc7e4f5b2d381bdfacf8506a24542052ab4e951573cab4ce34bb1c9509c84cbbf06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b65540bba534e88eb4a5062d0e6519c07063b259000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"domainSeparator\":\"0xae1ae59b43b99665a7d7de7c1ca92017a6e8c484587869daf07b2bd3a6aa0301\",\"eip712Domain\":{\"fields\":\"0x1f\",\"name\":\"Calibur\",\"version\":\"1.0.0\",\"chainId\":1,\"verifyingContract\":\"eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259\",\"salt\":\"0x000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"extensions\":[]},\"ENTRY_POINT\":\"eth:0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108\",\"keyAt\":[],\"keyCount\":0,\"keyHashes\":0,\"namespaceAndVersion\":\"Uniswap.Calibur.1.0.0\"}\n }\n```"
}
]
},
{
"id": "8a17cc43",
"date": "Mon, 20 Oct 2025 15:26:02 GMT",
"timestamp": 1760973885,
"description": "OpFoundation multisig member rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "fb9449b1",
"date": "Mon, 18 Aug 2025 09:02:32 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "e453448b",
"date": "Thu, 14 Aug 2025 07:44:37 GMT",
"timestamp": 1755157463,
"description": "Fee pricing update.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.basefeeScalar:\n- 37110\n+ 127543\n }\n```"
}
]
},
{
"id": "83cc2b36",
"date": "Mon, 28 Jul 2025 05:51:30 GMT",
"timestamp": 1753681890,
"description": "Op stack gov upgrade: SuperchainConfig with pause expiry and DeputyPausModule. See optimism diffHistory for details.",
"isHighSeverity": true,
"changeCount": 26,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```"
}
]
},
{
"id": "93db614d",
"date": "Mon, 21 Jul 2025 10:30:37 GMT",
"timestamp": 1753093837,
"description": "standard op stack v3 upgrade (optiPortal 2) to permissioned fp game.",
"isHighSeverity": true,
"changeCount": 110,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xdf9a11b46747139bfe0135df8a65a2728a2dbd60a689e2398c45627915cdd752\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"eth:0xc6cF1149d23F2788AC94312E68EB52a74F288ebe\"\n+ \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.1:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n values.version:\n- \"1.12.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 37110\n values.blobbasefeeScalar:\n+ 1201993\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"eth:0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C\"\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n values.maximumGasLimit:\n+ 200000000\n implementationNames.eth:0xc6cF1149d23F2788AC94312E68EB52a74F288ebe:\n- \"SystemConfig\"\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n EOA (0x0AbD6da1cE10D1cD6c7C9C14b905786D20f3EB23) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"propose\",\"from\":\"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\",\"role\":\".proposer\"}\n receivedPermissions.1.role:\n- \".PROPOSER\"\n+ \".proposer\"\n receivedPermissions.1.from:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n+ \"eth:0x095102Ec7bea1c5f25090705b196a6EA2e6b64f6\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (0x113cB99283AF242Da0A0C54347667edF531Aa7d6)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract L1StandardBridge (0x2658723Bf70c7667De6B25F99fcce13A16D25d08) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n values.$implementation:\n- \"eth:0x5BFC7acc740D2E19c290167052F69947e19475F3\"\n+ \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.superchainConfig:\n- \"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x5BFC7acc740D2E19c290167052F69947e19475F3:\n- \"L1StandardBridge\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SuperchainConfig (0x26C7bFB430d68Bf74d2d52497836d4336b555dE7)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n contract OptimismPortal2 (0x26dB93F8b8b4f7016240af62F7730979d353f9A7) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0xe35fb7bc0433439337b3eadda3d6fb7991918162f62a337a695e8c7f948cdd35\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0x3Ff11Cde41a5f7c791eFfcd6AeEA05dd2df5e21e\"\n+ \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.1:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.GUARDIAN:\n- \"eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n values.L2_ORACLE:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n values.l2Oracle:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n values.superchainConfig:\n- \"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.SYSTEM_CONFIG:\n- \"eth:0x05f23282FFDCA8286E4738C1aF79079f3d843750\"\n values.version:\n- \"2.5.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"eth:0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1752607223\n implementationNames.eth:0x3Ff11Cde41a5f7c791eFfcd6AeEA05dd2df5e21e:\n- \"OptimismPortal\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n+ \"OptimismPortal2\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\"}}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x31B72D76FB666844C41EdF08dF0254875Dbb7edB) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$implementation:\n- \"eth:0x0318A37e2662507789a6E17E85A506709F89488b\"\n+ \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.$pastUpgrades.1:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x0318A37e2662507789a6E17E85A506709F89488b:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x3A44A3b263FB631cdbf25f339e2D29497511A81f) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$implementation:\n- \"eth:0xefBDff012170ae592A3d197bf9Ac10eBF313233a\"\n+ \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.$pastUpgrades.1:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0xefBDff012170ae592A3d197bf9Ac10eBF313233a:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\",\"role\":\".challenger\"}\n receivedPermissions.1:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\",\"role\":\".CHALLENGER\"}\n receivedPermissions.2:\n- {\"permission\":\"guard\",\"from\":\"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\",\"role\":\".guardian\"}\n receivedPermissions.3:\n- {\"permission\":\"guard\",\"from\":\"eth:0x26dB93F8b8b4f7016240af62F7730979d353f9A7\",\"role\":\".guardian\"}\n receivedPermissions.4.role:\n- \".GUARDIAN\"\n+ \".challenger\"\n receivedPermissions.4.from:\n- \"eth:0x26dB93F8b8b4f7016240af62F7730979d353f9A7\"\n+ \"eth:0x095102Ec7bea1c5f25090705b196a6EA2e6b64f6\"\n receivedPermissions.4.permission:\n- \"guard\"\n+ \"challenge\"\n receivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45\"}]}\n receivedPermissions.8.from:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n+ \"eth:0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C\"\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d\"},{\"address\":\"eth:0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45\"}]}\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d\"},{\"address\":\"eth:0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x7ad0d165B9607960AD850090DDd7B9eB381D9c1e\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d\"},{\"address\":\"eth:0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45\"}]}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0xc1dA06CC5DD5cE23bABa924463de7F762039252d) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$implementation:\n- \"eth:0xD00e38514d66bf1B761a8937559c6b2854A5B3ad\"\n+ \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.$pastUpgrades.1:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.eth:0xD00e38514d66bf1B761a8937559c6b2854A5B3ad:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract ProxyAdmin (0xeC432c4F1d0E12737f3a42a459B84848Af979b2d) {\n +++ description: None\n directlyReceivedPermissions.2.from:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n+ \"eth:0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C\"\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e\",\"role\":\"admin\"}\n directlyReceivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x7ad0d165B9607960AD850090DDd7B9eB381D9c1e\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract Lisk Multisig (0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x095102Ec7bea1c5f25090705b196a6EA2e6b64f6)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x7ad0d165B9607960AD850090DDd7B9eB381D9c1e)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "172fe546",
"date": "Tue, 15 Jul 2025 09:09:26 GMT",
"timestamp": 1752570566,
"description": "Gelato MS: one signer removed, one changed.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.2:\n- \"eth:0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"eth:0x58edE8C66A15f23c61b8EadD1191FdaD904f7a87\"\n values.$members.8:\n- \"eth:0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 9 (44%)\"\n }\n```"
}
]
},
{
"id": "bddf3742",
"date": "Mon, 14 Jul 2025 12:45:19 GMT",
"timestamp": 1752497119,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 15,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0x113cB99283AF242Da0A0C54347667edF531Aa7d6)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x2658723Bf70c7667De6B25F99fcce13A16D25d08)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x26C7bFB430d68Bf74d2d52497836d4336b555dE7)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x26dB93F8b8b4f7016240af62F7730979d353f9A7)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x2dF7057d3F25212E51aFEA8dA628668229Ea423f)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x31B72D76FB666844C41EdF08dF0254875Dbb7edB)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x3A44A3b263FB631cdbf25f339e2D29497511A81f)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC20TokenBridge (0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf)\n +++ description: Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xc1dA06CC5DD5cE23bABa924463de7F762039252d)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0xE3622468Ea7dD804702B56ca2a4f88C0936995e6)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract L1OpEURCBridgeAdapter (0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677)\n +++ description: Escrow for EURC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xeC432c4F1d0E12737f3a42a459B84848Af979b2d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Lisk Multisig (0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45)\n +++ description: None\n```"
}
]
},
{
"id": "8e90c514",
"date": "Tue, 03 Jun 2025 15:23:28 GMT",
"timestamp": 1748964208,
"description": "add EURC external bridge.",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1OpEURCBridgeAdapter (0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677) {\n +++ description: Escrow for EURC that uses the canonical bridge for messaging but is governed externally.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n name:\n+ \"L1OpEURCBridgeAdapter\"\n template:\n+ \"circle/L1OpEURCBridgeAdapter\"\n sourceHashes:\n+ [\"0xbbe53a68c0042f4050bdf21e8d16eee4688dd35d24e49740915f0a0cf994f0d6\",\"0x54fe8d50c1e462bc4bc77f3edef769d75b14fe44a09a708ceb8125d9760e71db\"]\n description:\n+ \"Escrow for EURC that uses the canonical bridge for messaging but is governed externally.\"\n sinceTimestamp:\n+ 1748849495\n sinceBlock:\n+ 22615527\n values:\n+ {\"$admin\":\"0xD2D7535e099F26EbfbA26d96bD1a661d3531d0e9\",\"$implementation\":\"0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80\",\"$pastUpgrades\":[[\"2025-06-02T07:31:35.000Z\",\"0x842ad723004e0ab6eec96d63e9480318f20b4262a5727cdf8ab01df70aed9c83\",[\"0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80\"]]],\"$upgradeCount\":1,\"BRIDGE_MESSAGE_TYPEHASH\":\"0x87e4683aad14f1869b43140e06b846bd1b00c2e08e9825f6719d163b4cfef2a6\",\"burnAmount\":0,\"burnCaller\":\"0x0000000000000000000000000000000000000000\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"OpEURCBridgeAdapter\",\"version\":\"1.0.0\",\"chainId\":1,\"verifyingContract\":\"0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"EURC\":\"0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c\",\"LINKED_ADAPTER\":\"0x4db1c96C1f9c3d5429fDf35ED2e684b309b0c281\",\"MESSENGER\":\"0x31B72D76FB666844C41EdF08dF0254875Dbb7edB\",\"messengerStatus\":0,\"owner\":\"0xD2D7535e099F26EbfbA26d96bD1a661d3531d0e9\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n implementationNames:\n+ {\"0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677\":\"ERC1967Proxy\",\"0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80\":\"L1OpEURCBridgeAdapter\"}\n }\n```"
}
]
},
{
"id": "adf1bd1f",
"date": "Mon, 14 Apr 2025 08:37:06 GMT",
"timestamp": 1744619826,
"description": "Add custom wstETH escrow.",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1ERC20TokenBridge (0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf) {\n +++ description: Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n name:\n+ \"L1ERC20TokenBridge\"\n template:\n+ \"lido/L1ERC20TokenBridge\"\n sourceHashes:\n+ [\"0x698ae88793265d087e07a445b69bf16b450cdcf636b9073b86221936e912a135\",\"0xc4b0423b7d0fcada3862027e805c2fc79676feb6f4bc3978e5a86b390bfd7be3\"]\n description:\n+ \"Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\"\n sinceTimestamp:\n+ 1737623423\n sinceBlock:\n+ 21686205\n values:\n+ {\"$admin\":\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\",\"$implementation\":\"0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC\",\"$pastUpgrades\":[[\"2025-01-23T09:10:23.000Z\",\"0xc46d4a4110ff87720804f018aa5be922d1a401d1b869ea4f7fee645ee6ba1b60\",[\"0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC\"]]],\"$upgradeCount\":1,\"DEFAULT_ADMIN_ROLE\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"DEPOSITS_DISABLER_ROLE\":\"0x63f736f21cb2943826cd50b191eb054ebbea670e4e962d0527611f830cd399d6\",\"DEPOSITS_ENABLER_ROLE\":\"0x4b43b36766bde12c5e9cbbc37d15f8d1f769f08f54720ab370faeb4ce893753a\",\"isDepositsEnabled\":true,\"isInitialized\":true,\"isWithdrawalsEnabled\":true,\"l1Token\":\"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0\",\"l2Token\":\"0x76D8de471F54aAA87784119c60Df1bbFc852C415\",\"l2TokenBridge\":\"0xca498Ee83eD3546321d4DC25e2789B0624F15f68\",\"messenger\":\"0x31B72D76FB666844C41EdF08dF0254875Dbb7edB\",\"proxy__getAdmin\":\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\",\"proxy__getImplementation\":\"0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC\",\"proxy__getIsOssified\":false,\"WITHDRAWALS_DISABLER_ROLE\":\"0x94a954c0bc99227eddbc0715a62a7e1056ed8784cd719c2303b685683908857c\",\"WITHDRAWALS_ENABLER_ROLE\":\"0x9ab8816a3dc0b3849ec1ac00483f6ec815b07eee2fd766a353311c823ad59d0d\"}\n derivedName:\n+ \"L1ERC20TokenBridge\"\n }\n```"
}
]
},
{
"id": "3e05a762",
"date": "Thu, 16 Jan 2025 08:14:39 GMT",
"timestamp": 1737015279,
"description": "Gas limit doubled to 60M.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 30000000\n+ 60000000\n }\n```"
}
]
},
{
"id": "9c9fe756",
"date": "Wed, 15 Jan 2025 07:30:12 GMT",
"timestamp": 1736926212,
"description": "Two signers added to Gelato MS, now 4/10.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.9:\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.8:\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.7:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.$members.6:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x88De44422E1b1c30bc530c35aEdb9f5aD0e6fD52\"\n values.$members.5:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n values.$members.4:\n- \"0xBc0ca6865d6883a83D4aDDD6b862aE042d855E0d\"\n+ \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n values.$members.3:\n- \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.2:\n- \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n+ \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n values.$members.1:\n- \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n+ \"0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.0:\n- \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.multisigThreshold:\n- \"4 of 8 (50%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "c4df1edf",
"date": "Fri, 06 Dec 2024 11:00:47 GMT",
"timestamp": 1733482847,
"description": "Add external USDC escrow.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0xE3622468Ea7dD804702B56ca2a4f88C0936995e6)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```"
}
]
},
{
"id": "3162e6b3",
"date": "Wed, 30 Oct 2024 13:22:20 GMT",
"timestamp": 1730294540,
"description": "GelatoMS: Signer removed, threshold decreased.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.8:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.7:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.6:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.5:\n- \"0xc85aC6d2fdC376F335455D4cCA30c45ED1080849\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.$threshold:\n- 6\n+ 4\n values.multisigThreshold:\n- \"6 of 9 (67%)\"\n+ \"4 of 8 (50%)\"\n }\n```"
}
]
},
{
"id": "2626432f",
"date": "Fri, 11 Oct 2024 10:34:24 GMT",
"timestamp": 1728642864,
"description": "Getalo MS signer removed.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.9:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.8:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.7:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.6:\n- \"0x27b1682E9C5Cb0E58Ff474F3a13EeCC36E708ad3\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.multisigThreshold:\n- \"6 of 10 (60%)\"\n+ \"6 of 9 (67%)\"\n }\n```"
}
]
},
{
"id": "d41dfdb2",
"date": "Tue, 23 Jul 2024 10:36:43 GMT",
"timestamp": 1721731003,
"description": "EOA signer removed, the LiskRollupOwnerMultisig is now just a transparent MS for Gelato MS. Warning removed from FE.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract LiskRollupOwnerMultisig (0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45) {\n +++ description: None\n values.$multisigThreshold:\n- \"1 of 2 (50%)\"\n+ \"1 of 1 (100%)\"\n values.getOwners.1:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n }\n```"
}
]
},
{
"id": "a85070ce",
"date": "Tue, 23 Jul 2024 07:36:01 GMT",
"timestamp": 1721720161,
"description": "Challenger and Guardian are changed to the GelatoMultisig. Rollup Upgrade owner is still an EOA (and additionally GelatoMS).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750) {\n +++ description: None\n values.owner:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract L2OutputOracle (0x113cB99283AF242Da0A0C54347667edF531Aa7d6) {\n +++ description: None\n values.challenger:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n values.CHALLENGER:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x26C7bFB430d68Bf74d2d52497836d4336b555dE7) {\n +++ description: None\n values.guardian:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract OptimismPortal (0x26dB93F8b8b4f7016240af62F7730979d353f9A7) {\n +++ description: None\n values.guardian:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n values.GUARDIAN:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract LiskRollupOwnerMultisig (0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45) {\n +++ description: None\n values.$multisigThreshold:\n- \"1 of 1 (100%)\"\n+ \"1 of 2 (50%)\"\n values.getOwners.1:\n+ \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n values.getOwners.0:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```"
}
]
},
{
"id": "85ed059d",
"date": "Fri, 19 Jul 2024 10:16:12 GMT",
"timestamp": 1721384172,
"description": "Initial discovery: OP stack rollup on the latest superchain (fork) contracts. EOA-governed without being in the Superchain governance.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0x113cB99283AF242Da0A0C54347667edF531Aa7d6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x2658723Bf70c7667De6B25F99fcce13A16D25d08)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x26C7bFB430d68Bf74d2d52497836d4336b555dE7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x26dB93F8b8b4f7016240af62F7730979d353f9A7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x2dF7057d3F25212E51aFEA8dA628668229Ea423f)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x31B72D76FB666844C41EdF08dF0254875Dbb7edB)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x3A44A3b263FB631cdbf25f339e2D29497511A81f)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xc1dA06CC5DD5cE23bABa924463de7F762039252d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xeC432c4F1d0E12737f3a42a459B84848Af979b2d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LiskRollupOwnerMultisig (0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45)\n +++ description: None\n```"
}
]
}
]
+1 -1
+1 -1
{
"baseTimestamp": 1791789577,
"baseTimestamp": 1792586696,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * DelayedWETH [via: SuperchainProxyAdmin]\n * SystemConfig [via: SuperchainProxyAdmin]\n * AnchorStateRegistry [via: SuperchainProxyAdmin]\n * L1CrossDomainMessenger [via: SuperchainProxyAdmin]\n * ETHLockbox [via: SuperchainProxyAdmin]\n * L1ERC721Bridge [via: SuperchainProxyAdmin]\n * OptimismMintableERC20Factory [via: SuperchainProxyAdmin]\n * SuperchainConfig [via: SuperchainProxyAdmin]\n * L1StandardBridge [via: SuperchainProxyAdmin]\n * OptimismPortal2 [via: SuperchainProxyAdmin]\n * DisputeGameFactory [via: SuperchainProxyAdmin]\n * DeployerWhitelist [via: L2ProxyAdmin]\n * L2CrossDomainMessenger [via: L2ProxyAdmin]\n * GasPriceOracle [via: L2ProxyAdmin]\n * L2StandardBridge [via: L2ProxyAdmin]\n * SequencerFeeVault [via: L2ProxyAdmin]\n * OptimismMintableERC20Factory [via: L2ProxyAdmin]\n * L1BlockNumber [via: L2ProxyAdmin]\n * L2ERC721Bridge [via: L2ProxyAdmin]\n * L1Block [via: L2ProxyAdmin]\n * L2ToL1MessagePasser [via: L2ProxyAdmin]\n * OptimismMintableERC721Factory [via: L2ProxyAdmin]\n * L2ProxyAdmin [via: L2ProxyAdmin]\n * BaseFeeVault [via: L2ProxyAdmin]\n * L1FeeVault [via: L2ProxyAdmin]\n * OperatorFeeVault [via: L2ProxyAdmin]\n * SchemaRegistry [via: L2ProxyAdmin]\n * EAS [via: L2ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]\n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type ",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"address": "eth:0xa564C83958f7F9fA5a255a540EF5e49445873104",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
"name": "0xa564…3104",
"url": "https://etherscan.io/address/0xa564C83958f7F9fA5a255a540EF5e49445873104"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system [via: OpFoundationUpgradeSafe]\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [
{
"title": "Security Council members - Optimism Collective Governance Forum",
"url": "https://gov.optimism.io/t/security-council-vote-2-initial-member-ratification/7118"
}
],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x6887246668a3b87F54DeB3b94Ba47a6f63F32985",
"type": "EOA",
"isVerified": true,
"name": "0x6887…2985",
"url": "https://etherscan.io/address/0x6887246668a3b87F54DeB3b94Ba47a6f63F32985",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
},
"optimism": {
"roles": [],
"actors": [
{
"id": "SafeL2",
"name": "SafeL2",
"description": "A Multisig with 6/9 threshold. It uses the following modules: SaferSafes.\nMember of MintManagerOwner.\n* Can interact with MintManager\n * can mint OP up to the hardcoded inflation cap [via: MintManagerOwner]",
"accounts": [
{
"address": "oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2",
"type": "Contract",
"isVerified": true,
"name": "0x3F3C…61D2",
"url": "https://optimistic.etherscan.io/address/0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2"
}
],
"chain": "optimism",
"references": [],
"participants": [
{
"address": "oeth:0xb8CF6C0425FD799D617351C24fF35B493eD06Cb4",
"type": "EOA",
"isVerified": true,
"name": "0xb8CF…6Cb4",
"url": "https://optimistic.etherscan.io/address/0xb8CF6C0425FD799D617351C24fF35B493eD06Cb4"
},
{
"address": "oeth:0x510Aede8bDB9Fe5278C4ca13D5419922cb41f926",
"type": "EOA",
"isVerified": true,
"name": "0x510A…f926",
"url": "https://optimistic.etherscan.io/address/0x510Aede8bDB9Fe5278C4ca13D5419922cb41f926"
},
{
"address": "oeth:0x23d85C88792454DcCffD460bC06C349A21aDb102",
"type": "EOA",
"isVerified": true,
"name": "0x23d8…b102",
"url": "https://optimistic.etherscan.io/address/0x23d85C88792454DcCffD460bC06C349A21aDb102"
},
{
"address": "oeth:0x2eFd8FCbF4a120372e94baFaaA2E12783e1062A5",
"type": "EOA",
"isVerified": true,
"name": "0x2eFd…62A5",
"url": "https://optimistic.etherscan.io/address/0x2eFd8FCbF4a120372e94baFaaA2E12783e1062A5"
},
{
"address": "oeth:0xDD086e652f81FBDe8b2148Cc026D357De15d77c1",
"type": "EOA",
"isVerified": true,
"name": "0xDD08…77c1",
"url": "https://optimistic.etherscan.io/address/0xDD086e652f81FBDe8b2148Cc026D357De15d77c1"
},
{
"address": "oeth:0xB2433A0C418Bda24a771489918EF3a7EBC57e24C",
"type": "EOA",
"isVerified": true,
"name": "0xB243…e24C",
"url": "https://optimistic.etherscan.io/address/0xB2433A0C418Bda24a771489918EF3a7EBC57e24C"
},
{
"address": "oeth:0xa564C83958f7F9fA5a255a540EF5e49445873104",
"type": "EOA",
"isVerified": true,
"name": "0xa564…3104",
"url": "https://optimistic.etherscan.io/address/0xa564C83958f7F9fA5a255a540EF5e49445873104"
},
{
"address": "oeth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://optimistic.etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "oeth:0xe4149Acb6F5DA74b760a1007F05FB5514F3351ea",
"type": "EOA",
"isVerified": true,
"name": "0xe414…51ea",
"url": "https://optimistic.etherscan.io/address/0xe4149Acb6F5DA74b760a1007F05FB5514F3351ea"
}
],
"discoveryDrivenData": true
},
{
"id": "MintManager",
"name": "MintManager",
"accounts": [
{
"address": "oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005",
"type": "Contract",
"isVerified": true,
"name": "0x5C4e…1005",
"url": "https://optimistic.etherscan.io/address/0x5C4e7Ba1E219E47948e6e3F55019A647bA501005"
}
],
"chain": "optimism",
"description": "Controls the OP inflation rate, which is currently hardcoded to 2% annually.\n* Can interact with OPToken\n * can mint OP tokens ",
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "oeth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://optimistic.etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "optimism",
"description": "* Can interact with MintManager\n * can mint OP up to the hardcoded inflation cap [via: SafeL2 → MintManagerOwner]",
"discoveryDrivenData": true
},
{
"id": "MintManagerOwner",
"name": "MintManagerOwner",
"description": "A Multisig with 1/1 threshold. ",
"accounts": [
{
"address": "oeth:0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26",
"type": "Contract",
"isVerified": true,
"name": "0x2A82…3a26",
"url": "https://optimistic.etherscan.io/address/0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26"
}
],
"chain": "optimism",
"references": [],
"participants": [
{
"address": "oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2",
"type": "Contract",
"isVerified": true,
"name": "SafeL2",
"url": "#SafeL2"
}
],
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1790862344,
"baseTimestamp": 1792587967,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "cc5a025f",
"date": "Wed, 21 Oct 2026 13:48:32 GMT",
"timestamp": 1792587967,
"description": "OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n+ \"eth:0xa564C83958f7F9fA5a255a540EF5e49445873104\"\n }\n```"
}
]
},
{
"id": "637b2364",
"date": "Thu, 01 Oct 2026 13:46:52 GMT",
"timestamp": 1790862344,
"description": "OP Contracts Upgrade 20 (op-contracts/v8.0.0-rc.3), executed 2026-09-24.\n\nState roots are now proposed as super roots, which are addressed by an L2 timestamp rather than by a block number on this chain. The starting anchor sequence number is therefore a timestamp, changing from 138585637 to 1788842855. The format carries per-chain roots for a future interop set; today each game commits only to this chain. Proving a withdrawal now requires a game whose sequence number is at or after the timestamp of the initiating block rather than its block number; `proveWithdrawalTransaction` is unchanged, as the portal reads this chain's output root out of the super root.\n\nThe respected game type changed 8 → 9, CANNON_KONA to SUPER_CANNON_KONA. Proposing and challenging remain permissionless, with a 0.08 ETH bond, a 3.5 day clock, max game depth 73 and split depth 30. The fault proof program is the interop variant of kona v1.7.0-rc.2.\n\nGame types 0, 1 and 8 were cleared. The permissioned fallback is now type 5, SUPER_PERMISSIONED, which carries no bond and defines only a proposer. It has no challenger, so the OP Foundation Operations Safe no longer holds a challenger role.\n\nSystemConfig v3.14.2 → v4.0.0 removes the `batchInbox()` getter; the batch inbox address now lives only in the rollup config.\n\nVersion changes and implementation diffs:\n\n- FaultDisputeGame -> SuperFaultDisputeGame (type 8 -> 9): https://disco.l2beat.com/diff/eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC/eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208\n- PermissionedDisputeGame -> SuperPermissionedDisputeGame (type 1 -> 5): https://disco.l2beat.com/diff/eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e/eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\n- SystemConfig 3.14.2 -> 4.0.0: https://disco.l2beat.com/diff/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9/eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\n- SuperchainConfig 2.4.2 -> 2.4.3: https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\n- OptimismPortal2 5.6.1 -> 5.8.0: https://disco.l2beat.com/diff/eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2/eth:0x1005217ad392DC64CEf501FA1777A27D42166748",
"isHighSeverity": true,
"changeCount": 114,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DelayedWETH (eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162) [opstack/DelayedWETH] {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n values.$pastUpgrades.2:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xE440CC08A71694C8229323803F59024E3144630e\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xE440CC08A71694C8229323803F59024E3144630e\"]]\n values.$upgradeCount:\n- 2\n+ 6\n }\n```\n\n```diff\n contract SystemConfig (eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n+ \"0x532730df835e1a130919ca2afe170505acde568abb77ed1f9a018e5019415ab6\"\n values.$implementation:\n- \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n+ \"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"\n values.$pastUpgrades.17:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.18:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$pastUpgrades.19:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.20:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$upgradeCount:\n- 17\n+ 21\n values.BATCH_INBOX_SLOT:\n- \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n- \"eth:0x00c65A7bB8d6351C1Cf70C95A316CC6A92839c98\"\n values.getAddresses.opcm:\n- \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCM:\n- \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCMVersion:\n- \"7.1.17\"\n+ \"8.0.1\"\n values.version:\n- \"3.14.2\"\n+ \"4.0.0\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n- \"SystemConfig\"\n implementationNames.eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x23B2C62946350F4246f9f9D027e071f0264FD113) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 5\n+ 9\n values.getStartingAnchorRoot.root:\n- \"0xfce6d556d11e1662f316ed1408782a3227b1c1dcd8f643c1f563043298822e62\"\n+ \"0xbd4aeba96e33ef5582e14257fb776b3223ad45934ccd368c2f3084c8b75c1d68\"\n values.getStartingAnchorRoot.l2SequenceNumber:\n- 138585637\n+ 1788842855\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n+ \"SuperFaultDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 8\n+ 9\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.18:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.19:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$pastUpgrades.20:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.21:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 18\n+ 22\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract ETHLockbox (eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 3\n+ 7\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.14:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.15:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$pastUpgrades.16:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.17:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 14\n+ 18\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x75505a97BD334E7BD3C476893285569C4136Fa0F) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.13:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 10\n+ 14\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n+ \"0xb74ed3aa109bd981b095c02d6e3bda2b2467d40e9d1060b4c89b01de32ebad3a\"\n values.$implementation:\n- \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n+ \"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$upgradeCount:\n- 8\n+ 12\n values.version:\n- \"2.4.2\"\n+ \"2.4.3\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n- \"SuperchainConfig\"\n implementationNames.eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) [gnosisSafeModules/SaferSafes] {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n directlyReceivedPermissions.1:\n- {\"permission\":\"act\",\"from\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\"role\":\".GnosisSafe_modules\"}\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperFaultDisputeGame.\n sourceHashes.1:\n- \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n+ \"0x5a3a97f72d46aaebbcbdba3783f7c5a8acfcd5ae928afe402abdb21acc0be49f\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperFaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n+ \"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"\n values.$pastUpgrades.15:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.16:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$pastUpgrades.17:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.18:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$upgradeCount:\n- 15\n+ 19\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n+ \"SuperFaultDisputeGame\"\n values.respectedGameType:\n- 8\n+ 9\n values.version:\n- \"5.6.1\"\n+ \"5.8.0\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n- \"OptimismPortal2\"\n implementationNames.eth:0x1005217ad392DC64CEf501FA1777A27D42166748:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 8\n+ 12\n+++ severity: HIGH\n values.absolutePrestateFromDGF:\n- \"0xdead000000000000000000000000000000000000000000000000000000000000\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.anchorStateRegistryFromDGF:\n- \"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.chainIdFromDGF:\n- 10\n+ \"UNRESOLVED\"\n values.challengerFromDGF:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game1:\n- \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game5:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\"\n+++ severity: HIGH\n values.game5AnchorStateRegistry:\n- \"UNRESOLVED\"\n+ \"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\"\n values.game5Args:\n- \"0x\"\n+ \"0x23b2c62946350f4246f9f9d027e071f0264fd113473300df21d047806a082244b417f96b32f13a33\"\n+++ severity: HIGH\n values.game5Proposer:\n- \"UNRESOLVED\"\n+ \"eth:0x473300df21D047806A082244b417f96b32f13A33\"\n+++ severity: HIGH\n values.game8:\n- \"eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8AbsolutePrestate:\n- \"0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8AnchorStateRegistry:\n- \"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\"\n+ \"UNRESOLVED\"\n values.game8Args:\n- \"0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025acc005dcd857b401e4732e6f7837135a22825cfa23b2c62946350f4246f9f9d027e071f0264fd1131b6dbf05eaf22d4e70dc993e8a19dd9f3dcb3162000000000000000000000000000000000000000000000000000000000000000a\"\n+ \"0x\"\n+++ severity: HIGH\n values.game8ChainId:\n- 10\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Vm:\n- \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Weth:\n- \"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208\"\n+++ severity: HIGH\n values.game9AbsolutePrestate:\n- \"UNRESOLVED\"\n+ \"0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1df\"\n+++ severity: HIGH\n values.game9AnchorStateRegistry:\n- \"UNRESOLVED\"\n+ \"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\"\n values.game9Args:\n- \"0x\"\n+ \"0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1dfacc005dcd857b401e4732e6f7837135a22825cfa23b2c62946350f4246f9f9d027e071f0264fd1131b6dbf05eaf22d4e70dc993e8a19dd9f3dcb31620000000000000000000000000000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game9Vm:\n- \"UNRESOLVED\"\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+++ severity: HIGH\n values.game9Weth:\n- \"UNRESOLVED\"\n+ \"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\"\n values.gameImpls.1:\n- \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initBondGame1:\n- \"80000000000000000\"\n+ 0\n values.initBondGame8:\n- \"80000000000000000\"\n+ 0\n values.initBondGame9:\n- 0\n+ \"80000000000000000\"\n values.initBonds.1:\n- \"80000000000000000\"\n+ 0\n values.permissionedGameArgs:\n- \"0xdead000000000000000000000000000000000000000000000000000000000000acc005dcd857b401e4732e6f7837135a22825cfa23b2c62946350f4246f9f9d027e071f0264fd1131b6dbf05eaf22d4e70dc993e8a19dd9f3dcb3162000000000000000000000000000000000000000000000000000000000000000a473300df21d047806a082244b417f96b32f13a339ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0x\"\n values.proposerFromDGF:\n- \"eth:0x473300df21D047806A082244b417f96b32f13A33\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.vmFromDGF:\n- \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.wethFromDGF:\n- \"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\"\n+ \"UNRESOLVED\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SuperFaultDisputeGame (eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208) [opstack/SuperFaultDisputeGame]\n +++ description: Logic of the permissionless dispute game introduced in Upgrade 20. It proves a super root, a state commitment addressed by an L2 timestamp rather than by a block number. The format carries per-chain roots for a future interop set; today each game commits only to its own chain. When a state root is proposed, a game contract is cloned from this implementation; anyone posting the bond can challenge it.\n```\n\n```diff\n+ Status: CREATED\n contract SuperPermissionedDisputeGame (eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691) [opstack/SuperPermissionedDisputeGame]\n +++ description: Logic of the permissioned dispute game introduced in Upgrade 20. Only the proposer configured in the DisputeGameFactory can create games of this type, and each one commits to a super root anchored to an L2 timestamp. Unlike the permissioned game it replaces, it runs no VM and exposes no challenger, bond, clock or absolute prestate: validity is governed by the AnchorStateRegistry and the Guardian.\n```"
}
]
},
{
"id": "0b31835c",
"date": "Thu, 10 Sep 2026 12:47:37 GMT",
"timestamp": 1789044333,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "1e9d6e1a",
"date": "Fri, 17 Jul 2026 10:13:04 GMT",
"timestamp": 1784283055,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "62accfa2",
"date": "Tue, 14 Jul 2026 10:11:55 GMT",
"timestamp": 1784023848,
"description": "Karst hardfork (Upgrade 19b, op-contracts/v7.0.0) L2 activation on 2026-07-08 16:00:01 UTC.\n\nThe final implementation addresses are deterministic and identical to the other Superchain chains (e.g. Ink).\n\nMost predeploys now inherit `ProxyAdminOwnedBase`, which lets a contract read its proxy's ProxyAdmin and ProxyAdmin owner on-chain so privileged functions can be gated to them. On the initializable ones — both bridges, both mintable factories, L2CrossDomainMessenger and every FeeVault — the constructor calls `_disableInitializers()` and `initialize()` is restricted to the ProxyAdmin or its owner (the SuperchainProxyAdminOwner). L1Block is not initializable but inherits the same base and gates its new `setFeature` setter the same way.\n\nCustom gas token support was removed from L2StandardBridge and L2CrossDomainMessenger. The `gasPayingToken()` override is gone, and `withdraw()` / `withdrawTo()` no longer revert on custom gas token chains. OP Mainnet pays gas in ETH, so behaviour is unchanged.\n\nL2ProxyAdmin (1.0.0) adds `upgradePredeploys(address)`, which delegatecalls the L2ContractsManager.\n\nFeeVault configuration (recipient, minimum withdrawal amount, withdrawal network) moved from constructor immutables to storage set by `initialize()`, and is now mutable post-deployment via `setRecipient`, `setMinWithdrawalAmount` and `setWithdrawalNetwork` — each gated to the ProxyAdmin owner. Previously these values were fixed at deployment; the SuperchainProxyAdminOwner can now change them. This also applies to OperatorFeeVault. BaseFeeVault and L1FeeVault are byte-identical and now share implementation `0xf7bed7215EEF1003fac426682Cf2edeb958569f7`.\n\nGasPriceOracle stayed at 1.6.0 with unchanged source; only its implementation address moved.\n\nVersion changes and implementation diffs:\n\n- L2CrossDomainMessenger 1.4.0 -> 2.2.1: https://disco.l2beat.com/diff/oeth:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007/oeth:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\n- L2StandardBridge 1.1.0 -> 1.13.2: https://disco.l2beat.com/diff/oeth:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010/oeth:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\n- SequencerFeeVault 1.1.0 -> 1.6.1: https://disco.l2beat.com/diff/oeth:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011/oeth:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\n- OptimismMintableERC20Factory 1.1.0 -> 1.11.0: https://disco.l2beat.com/diff/oeth:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012/oeth:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\n- L2ERC721Bridge 1.1.0 -> 1.10.1: https://disco.l2beat.com/diff/oeth:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014/oeth:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\n- L1Block 1.7.0 -> 1.9.0: https://disco.l2beat.com/diff/oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C/oeth:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\n- L2ToL1MessagePasser 1.0.0 -> 1.2.0: https://disco.l2beat.com/diff/oeth:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016/oeth:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\n- OptimismMintableERC721Factory 1.2.0 -> 1.5.1: https://disco.l2beat.com/diff/oeth:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017/oeth:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\n- L2ProxyAdmin ProxyAdmin -> L2ProxyAdmin 1.0.0: https://disco.l2beat.com/diff/oeth:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018/oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\n- BaseFeeVault 1.1.0 -> 1.6.1: https://disco.l2beat.com/diff/oeth:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019/oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- L1FeeVault 1.1.0 -> 1.6.1: https://disco.l2beat.com/diff/oeth:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A/oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- OperatorFeeVault 1.0.0 -> 1.1.1: https://disco.l2beat.com/diff/oeth:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537/oeth:0xEddf416c7159387cc6DF3015700F79Cfb8911373\n- SchemaRegistry 1.0.1 -> 1.3.1-beta.2: https://disco.l2beat.com/diff/oeth:0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13/oeth:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\n- EAS 1.0.1 -> 1.4.1-beta.3: https://disco.l2beat.com/diff/oeth:0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088/oeth:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\n- GasPriceOracle 1.6.0 (source unchanged): https://disco.l2beat.com/diff/oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1/oeth:0x547d0fba434877D7237d511cF87FABe2ee26b152\n\nUnrelated to Karst: a member of the SafeL2 at `0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2` was rotated.",
"isHighSeverity": true,
"changeCount": 167,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SafeL2 (oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2) [GnosisSafe] {\n +++ description: None\n values.$members.7:\n- \"oeth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"oeth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract L2CrossDomainMessenger (oeth:0x4200000000000000000000000000000000000007) [opstack/Layer2/L2CrossDomainMessenger] {\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n sourceHashes.1:\n- \"0xc976dd7891ac59d37603c7648ea8e3a566365094a242d169a646ebfed971bab8\"\n+ \"0x9e9ae8aec73e808e50f80bced53c3a020588eed516b310a10397596869dcd3b1\"\n values.$implementation:\n- \"oeth:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007\"\n+ \"oeth:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.4.0\"\n+ \"2.2.1\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.otherMessenger:\n+ \"oeth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1\"\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.oeth:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007:\n- \"L2CrossDomainMessenger\"\n implementationNames.oeth:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96:\n+ \"L2CrossDomainMessenger\"\n }\n```\n\n```diff\n contract GasPriceOracle (oeth:0x420000000000000000000000000000000000000F) [opstack/Layer2/GasPriceOracle] {\n +++ description: Provides the current gas price for L2 transactions.\n values.$implementation:\n- \"oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n+ \"oeth:0x547d0fba434877D7237d511cF87FABe2ee26b152\"\n values.$pastUpgrades.4:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x547d0fba434877D7237d511cF87FABe2ee26b152\"]]\n values.$upgradeCount:\n- 4\n+ 5\n implementationNames.oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n- \"GasPriceOracle\"\n implementationNames.oeth:0x547d0fba434877D7237d511cF87FABe2ee26b152:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L2StandardBridge (oeth:0x4200000000000000000000000000000000000010) [opstack/Layer2/L2StandardBridge] {\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0x4354fe0c1ae65beab0a93e37ea50f3964a7d5e51a2f4a33c98cb041a1d18d32c\"\n+ \"0xf6ef848ca1cf88e27b5e3bb5e01b91ef79f302e5daad8ba5206c4dc60027d312\"\n values.$implementation:\n- \"oeth:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010\"\n+ \"oeth:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.1.0\"\n+ \"1.13.2\"\n values.otherBridge:\n+ \"oeth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.oeth:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010:\n- \"L2StandardBridge\"\n implementationNames.oeth:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1:\n+ \"L2StandardBridge\"\n }\n```\n\n```diff\n contract SequencerFeeVault (oeth:0x4200000000000000000000000000000000000011) [opstack/Layer2/SequencerFeeVault] {\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n sourceHashes.1:\n- \"0x0441c14992309acc9ee49b32ded90950f349d5d4ab52d9d4f3380bbfb12d9957\"\n+ \"0xb45389729a8fffa7650568cd2922e482d03d3ed57b35f4819650d11174d9237a\"\n values.$implementation:\n- \"oeth:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011\"\n+ \"oeth:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.1.0\"\n+ \"1.6.1\"\n values.minWithdrawalAmount:\n+ \"10000000000000000000\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.recipient:\n+ \"oeth:0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa\"\n values.WITHDRAWAL_NETWORK:\n+ 0\n values.withdrawalNetwork:\n+ 0\n implementationNames.oeth:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011:\n- \"SequencerFeeVault\"\n implementationNames.oeth:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA:\n+ \"SequencerFeeVault\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (oeth:0x4200000000000000000000000000000000000012) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n template:\n- \"opstack/Layer2/OptimismMintableERC20Factory\"\n+ \"opstack/OptimismMintableERC20Factory\"\n sourceHashes.1:\n- \"0xb2fc6f2e6343ad65e6ad1c34dcc5eeb708cc17ebdaeba5635ee74568f976ad26\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n description:\n- \"Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\"\n+ \"A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\"\n values.$implementation:\n- \"oeth:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012\"\n+ \"oeth:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.1.0\"\n+ \"1.11.0\"\n values.bridge:\n+ \"oeth:0x4200000000000000000000000000000000000010\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.oeth:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012:\n- \"OptimismMintableERC20Factory\"\n implementationNames.oeth:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L2ERC721Bridge (oeth:0x4200000000000000000000000000000000000014) [opstack/Layer2/L2ERC721Bridge] {\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0xe7457c0a0e9e7ba45f45fb369ff94f8a3613c4bb9083999a6eb18eaf6a077cdd\"\n+ \"0x0d8059378487e33161e0b838f622400642360f1e311eba8c7b8fbdb504aeee1e\"\n values.$implementation:\n- \"oeth:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014\"\n+ \"oeth:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.1.0\"\n+ \"1.10.1\"\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.oeth:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014:\n- \"L2ERC721Bridge\"\n implementationNames.oeth:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833:\n+ \"L2ERC721Bridge\"\n }\n```\n\n```diff\n contract L1Block (oeth:0x4200000000000000000000000000000000000015) [opstack/Layer2/L1Block] {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0x399e57fff478211b47d61c5acb60592a4df8ffa5716959a1a6ee2ccabc44915e\"\n+ \"0xca6401a4032def95df36b0d432052526888ef8a396f7e4fc37cdda3690932646\"\n values.$implementation:\n- \"oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n+ \"oeth:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"\n values.$pastUpgrades.3:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.7.0\"\n+ \"1.9.0\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n- \"L1Block\"\n implementationNames.oeth:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56:\n+ \"L1Block\"\n }\n```\n\n```diff\n contract L2ToL1MessagePasser (oeth:0x4200000000000000000000000000000000000016) [opstack/Layer2/L2ToL1MessagePasser] {\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n sourceHashes.1:\n- \"0xa8bdac224f506426db48b13c4933c57cbe3d88178a3499712638d559204c5eaa\"\n+ \"0xb5be3cf9878e914d0b7feef281dbcc2b72d7c7e9106e44a7dfd516d48de8a62a\"\n values.$implementation:\n- \"oeth:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016\"\n+ \"oeth:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.0.0\"\n+ \"1.2.0\"\n implementationNames.oeth:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016:\n- \"L2ToL1MessagePasser\"\n implementationNames.oeth:0x27E51B2254433A3284D9ba73Ea551C397DB2a124:\n+ \"L2ToL1MessagePasser\"\n }\n```\n\n```diff\n contract OptimismMintableERC721Factory (oeth:0x4200000000000000000000000000000000000017) [opstack/Layer2/OptimismMintableERC721Factory] {\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n sourceHashes.1:\n- \"0x889f9ffc10090c8df747b3523aa4fde7bcc0aade333f7ddabece6b3f005a2e80\"\n+ \"0xf4fd8df9e9191098f5647a3568864aee248b011c092313bf392b57a4b0f43268\"\n values.$implementation:\n- \"oeth:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017\"\n+ \"oeth:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.2.0\"\n+ \"1.5.1\"\n values.bridge:\n+ \"oeth:0x4200000000000000000000000000000000000014\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.remoteChainID:\n+ 1\n implementationNames.oeth:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017:\n- \"OptimismMintableERC721Factory\"\n implementationNames.oeth:0xf43862B9d814BB4504158CecCB0b74b31265e4eE:\n+ \"OptimismMintableERC721Factory\"\n }\n```\n\n```diff\n contract L2ProxyAdmin (oeth:0x4200000000000000000000000000000000000018) [opstack/Layer2/L2ProxyAdmin_karst] {\n +++ description: Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\n name:\n- \"ProxyAdmin\"\n+ \"L2ProxyAdmin\"\n template:\n- \"global/ProxyAdmin\"\n+ \"opstack/Layer2/L2ProxyAdmin_karst\"\n sourceHashes.1:\n- \"0x96d2f0fa1bd83ebd61ba6a2351c64c7fda7aa580b11ea67bb6bf4338e5c28512\"\n+ \"0xc9307181d90f9b86ff913d1c365245cfb8622929939cbff0389acf7f428ddc4b\"\n values.$implementation:\n- \"oeth:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018\"\n+ \"oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0x48aa8d6a9d281bf0eaa204e895acdfe0ba38640c34f6d133b2f4ecb879f5c72c\",[\"oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n+ \"1.0.0\"\n implementationNames.oeth:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018:\n- \"ProxyAdmin\"\n implementationNames.oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F:\n+ \"L2ProxyAdmin\"\n description:\n+ \"Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\"\n }\n```\n\n```diff\n contract BaseFeeVault (oeth:0x4200000000000000000000000000000000000019) [opstack/Layer2/BaseFeeVault_karst] {\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n template:\n- \"opstack/Layer2/BaseFeeVault\"\n+ \"opstack/Layer2/BaseFeeVault_karst\"\n sourceHashes.1:\n- \"0xa4fbbae0f482b898d87c15326c29fdeaa7ad5371f679bbaa0dc95b0866325cab\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n values.$implementation:\n- \"oeth:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019\"\n+ \"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.1.0\"\n+ \"1.6.1\"\n values.minWithdrawalAmount:\n+ \"10000000000000000000\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.recipient:\n+ \"oeth:0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa\"\n values.WITHDRAWAL_NETWORK:\n+ 0\n values.withdrawalNetwork:\n+ 0\n implementationNames.oeth:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019:\n- \"BaseFeeVault\"\n implementationNames.oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract L1FeeVault (oeth:0x420000000000000000000000000000000000001A) [opstack/Layer2/L1FeeVault_karst] {\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n template:\n- \"opstack/Layer2/L1FeeVault\"\n+ \"opstack/Layer2/L1FeeVault_karst\"\n sourceHashes.1:\n- \"0x09853f7c7e9d53511d9bcb729b4b53f1b00b56183056dd353d2cd640d9407d82\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n values.$implementation:\n- \"oeth:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A\"\n+ \"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.1.0\"\n+ \"1.6.1\"\n values.minWithdrawalAmount:\n+ \"10000000000000000000\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.recipient:\n+ \"oeth:0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa\"\n values.WITHDRAWAL_NETWORK:\n+ 0\n values.withdrawalNetwork:\n+ 0\n implementationNames.oeth:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A:\n- \"L1FeeVault\"\n implementationNames.oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract OperatorFeeVault (oeth:0x420000000000000000000000000000000000001b) [opstack/Layer2/OperatorFeeVault] {\n +++ description: Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\n sourceHashes.1:\n- \"0x8ee929b67fce68f8daf1dac67514e5e05678a9f554e8d6e676fa28fe81874844\"\n+ \"0x0ba9b644913957c9f60eda0ab433da4523bb2437156e4dd8dadca627c884ba2a\"\n values.$implementation:\n- \"oeth:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537\"\n+ \"oeth:0xEddf416c7159387cc6DF3015700F79Cfb8911373\"\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xEddf416c7159387cc6DF3015700F79Cfb8911373\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.0.0\"\n+ \"1.1.1\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.oeth:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537:\n- \"OperatorFeeVault\"\n implementationNames.oeth:0xEddf416c7159387cc6DF3015700F79Cfb8911373:\n+ \"OperatorFeeVault\"\n }\n```\n\n```diff\n contract SchemaRegistry (oeth:0x4200000000000000000000000000000000000020) [opstack/Layer2/SchemaRegistry] {\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0xc94799f3b35c3dedb3578da655614d2690e56477b3e176966113bbf06888e05d\"\n+ \"0xe2a60db541c987ffa9a6ed73b9100c7f62f2574966a20c903a73a8f730c7dfcc\"\n values.$implementation:\n- \"oeth:0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13\"\n+ \"oeth:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.0.1\"\n+ \"1.3.1-beta.2\"\n implementationNames.oeth:0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13:\n- \"SchemaRegistry\"\n implementationNames.oeth:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34:\n+ \"SchemaRegistry\"\n }\n```\n\n```diff\n contract EAS (oeth:0x4200000000000000000000000000000000000021) [opstack/Layer2/EAS] {\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0x22dcc9bc6d8b0463159f8a96f6f2ee61c897a8ae5e1b684e38e74e2b25b48e66\"\n+ \"0x16924e7d7c1a311d6c9da93c6bf8bc7bd5454a0efde4d6e365e66c87ef4a0951\"\n values.$implementation:\n- \"oeth:0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088\"\n+ \"oeth:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.getAttestTypeHash:\n- \"0xdbfdf8dc2b135c26253e00d5b6cbe6f20457e003fd526d97cea183883570de61\"\n+ \"0xfeb2925a02bae3dae48d424a0437a2b6ac939aa9230ddc55a1a76f065d988076\"\n values.getDomainSeparator:\n- \"0xd963157246e3d9bacafb6121ee5c596e8048baf5c3814c1b9fa094fdc4d6aed1\"\n+ \"0x12909de2583872a9cb6474f44ae7f84a355ed273fda804f81a9594c3fa6220e9\"\n values.getRevokeTypeHash:\n- \"0xa98d02348410c9c76735e0d0bb1396f4015ac2bb9615f9c2611d19d7a8a99650\"\n+ \"0xb5d556f07587ec0f08cf386545cc4362c702a001650c2058002615ee5c9d1e75\"\n values.version:\n- \"1.0.1\"\n+ \"1.4.1-beta.3\"\n implementationNames.oeth:0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088:\n- \"EAS\"\n implementationNames.oeth:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6:\n+ \"EAS\"\n }\n```"
}
]
},
{
"id": "60c3fc67",
"date": "Tue, 30 Jun 2026 20:17:14 GMT",
"timestamp": 1782850566,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0), executed 2026-06-25 via the new OPContractsManagerV2 (`0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D`, v7.1.17).\n\nRespected game type changed 0 → 8 (CANNON → CANNON_KONA): the permissionless fault proof now runs the Rust kona-client on the Cannon VM instead of op-program. Trust model is unchanged (still permissionless fault proofs).\n\nImplementation upgrades:\n- OptimismPortal2 v5.2.0 → v5.6.1: https://disco.l2beat.com/diff/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B/eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\n- SystemConfig v3.13.1 → v3.14.2 (adds lastUsedOPCM / OPCM_SLOT): https://disco.l2beat.com/diff/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\n- DisputeGameFactory → v1.6.1 Creator Pattern (per-type gameImpls, gameArgs): https://disco.l2beat.com/diff/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c/eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\n- AnchorStateRegistry → v3.9.0, now post-U16 (holds respectedGameType + blacklistDisputeGame): https://disco.l2beat.com/diff/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5/eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\n- L1CrossDomainMessenger: https://disco.l2beat.com/diff/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0/eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\n- L1StandardBridge: https://disco.l2beat.com/diff/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A/eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\n- L1ERC721Bridge: https://disco.l2beat.com/diff/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9/eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\n- ETHLockbox: https://disco.l2beat.com/diff/eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6/eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\n- OptimismMintableERC20Factory: https://disco.l2beat.com/diff/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB/eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\n- SuperchainConfig (shared): https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\n\nA new OPContractsManager (`0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D`) is the upgrade mechanism used for this release; upgrade authority remains with the SuperchainProxyAdminOwner. The active proof program is the kona-client prestate `0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025`.",
"isHighSeverity": true,
"changeCount": 139,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract SystemConfig (eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.15:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.16:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 15\n+ 17\n values.batchInbox:\n- \"eth:0xFF00000000000000000000000000000000000010\"\n+ \"eth:0x00c65A7bB8d6351C1Cf70C95A316CC6A92839c98\"\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\"\n values.getAddresses.opcm:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x23B2C62946350F4246f9f9D027e071f0264FD113) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.3:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 8\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0xD061AB95069987868768818cc1248705351e2D0e\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.16:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.17:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 16\n+ 18\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract ETHLockbox (eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n sourceHashes.1:\n- \"0x330c0ee4ca969ca3a1deda35d8ce83d1861361088ef0b4b8efe0ec23b4f24c19\"\n+ \"0x99fabdfb3d8ef02962877763f6f3c7ec26d39e15e700fa854a040321a79f61ec\"\n values.$implementation:\n- \"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6\"\n+ \"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"\n values.$pastUpgrades.1:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.2.0\"\n+ \"1.3.1\"\n implementationNames.eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6:\n- \"ETHLockbox\"\n implementationNames.eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad:\n+ \"ETHLockbox\"\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\",\"role\":\"admin\"}\n directlyReceivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD061AB95069987868768818cc1248705351e2D0e\",\"role\":\"admin\"}\n directlyReceivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) [GnosisSafe] {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD061AB95069987868768818cc1248705351e2D0e\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.12:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.13:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 12\n+ 14\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x75505a97BD334E7BD3C476893285569C4136Fa0F) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.13:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.14:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 13\n+ 15\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 8\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xD061AB95069987868768818cc1248705351e2D0e) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls.0:\n- \"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls.1:\n- \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n values.initBonds.0:\n- \"80000000000000000\"\n+ 0\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\"\n+ \"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC\"\n values.game8Args:\n+ \"0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025acc005dcd857b401e4732e6f7837135a22825cfa23b2c62946350f4246f9f9d027e071f0264fd1131b6dbf05eaf22d4e70dc993e8a19dd9f3dcb3162000000000000000000000000000000000000000000000000000000000000000a\"\n values.game8Vm:\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ \"80000000000000000\"\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ \"80000000000000000\"\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "44c712d2",
"date": "Fri, 15 May 2026 13:31:29 GMT",
"timestamp": 1778851817,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe and OpFoundationOperationsSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "3e5d5e59",
"date": "Tue, 05 May 2026 15:19:06 GMT",
"timestamp": 1777994275,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "49ad3a10",
"date": "Thu, 16 Apr 2026 09:33:25 GMT",
"timestamp": 1776331867,
"description": "One signer rotation on the 6-of-9 SafeL2 (0x3F3Cd7) that controls MintManagerOwner: member 0xc222ab replaced with 0x2eFd8F. Threshold unchanged.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SafeL2 (oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2) {\n +++ description: None\n values.$members.3:\n- \"oeth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"oeth:0x2eFd8FCbF4a120372e94baFaaA2E12783e1062A5\"\n }\n```"
}
]
},
{
"id": "4bd2123b",
"date": "Thu, 09 Apr 2026 08:07:35 GMT",
"timestamp": 1775721846,
"description": "MintManagerOwner on OP Mainnet (L2) restructured: the previous 3-of-5 multisig was replaced by a 1-of-1 Safe whose sole owner is a 6-of-9 SafeL2 multisig (0x3F3Cd7...). All 5 original EOA members were removed. The 6-of-9 Safe also has a SaferSafes module (0xA8447329...) that can act on its behalf, providing an additional execution path. Net effect: OP token inflation policy now requires 6-of-9 signatures (or the SaferSafes module) through the 1-of-1 delegate, instead of 3-of-5 directly.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract MintManagerOwner (oeth:0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26) {\n +++ description: None\n values.$members.0:\n- \"oeth:0x3041BA32f451F5850c147805F5521AC206421623\"\n values.$members.1:\n- \"oeth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n values.$members.2:\n- \"oeth:0xdb203D7f00fF435dA107543B33495f9cA2c484C6\"\n values.$members.3:\n- \"oeth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15\"\n values.$members.4:\n- \"oeth:0xA902A27a7631D502E3Ec17fc5d4c3e0861752c94\"\n+ \"oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2\"\n values.$threshold:\n- 3\n+ 1\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"1 of 1 (100%)\"\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005\",\"description\":\"change the OP token owner to a different MintManager and therefore change the inflation policy.\",\"role\":\".owner\"}]\n directlyReceivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005\",\"description\":\"change the OP token owner to a different MintManager and therefore change the inflation policy.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (oeth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: None\n```"
}
]
},
{
"id": "6c176b5c",
"date": "Wed, 25 Mar 2026 10:07:55 GMT",
"timestamp": 1774433205,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe and OpFoundationOperationsSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "7f88298c",
"date": "Fri, 27 Feb 2026 13:57:06 GMT",
"timestamp": 1772198389,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "3de2546f",
"date": "Fri, 13 Feb 2026 11:46:52 GMT",
"timestamp": 1770912106,
"description": "OP Contracts Upgrade 18 (op-contracts/v6.0.0).\n\nOptimismPortal2 v5.1.1→v5.2.0: adds Custom Gas Token safety guards preventing ETH value operations in CGT mode. ([diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B))\n\nAnchorStateRegistry v3.5.0→v3.7.0: adds safe re-initialization guard for retirementTimestamp and a new getStartingAnchorRoot() getter. ([diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5))\n\nSystemConfig v3.11.0→v3.13.1: adds DelayedWETH storage slot, setBatcherHash(address) convenience setter, and isCustomGasToken() legacy getter. ([diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2))\n\nDisputeGameFactory v1.3.0→v1.4.0: cloning logic now embeds gameType in clone bytecode when gameArgs are present. ([diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c))\n\nNew PermissionedDisputeGameV2 and FaultDisputeGameV2 move game parameters (VM, WETH, anchor registry, etc.) from constructor immutables into clone bytecode, allowing the factory to configure per-clone without separate implementations.",
"isHighSeverity": true,
"changeCount": 48,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n+ \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.14:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 14\n+ 15\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x23B2C62946350F4246f9f9D027e071f0264FD113) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x1601463fd2e47d8994c28a90b556c6933f38e8685214f702dc41a5ae08d9787c\"\n+ \"0xa1c629e3a86e4cba49482956c04d921b52551c4ee9833ddda7e44ca155bc6cab\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.2:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0xfce6d556d11e1662f316ed1408782a3227b1c1dcd8f643c1f563043298822e62\",\"l2SequenceNumber\":138585637}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.15:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 15\n+ 16\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x478c26109b169a840D61E95B19512FF0b5F19c87)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.11:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 11\n+ 12\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x75505a97BD334E7BD3C476893285569C4136Fa0F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.7:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 7\n+ 8\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n+ \"0x3410684a7a8c16c4f87db990b834ce7c3be33136857c103791b132b824bfd951\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.12:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n+ \"0x0fdb3ea7873ad716dd0f5f9d2fdbab989f3b308066977be182ddc31d150e12f5\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.5:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x478c26109b169a840D61E95B19512FF0b5F19c87\"\n+ \"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x473300df21D047806A082244b417f96b32f13A33\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "5871bec8",
"date": "Mon, 26 Jan 2026 09:08:14 GMT",
"timestamp": 1769272178,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "e7f01124",
"date": "Thu, 18 Dec 2025 08:59:03 GMT",
"timestamp": 1766048259,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n sourceHashes.1:\n- \"0x263aadde480629cd3ca5704cc7d4e7df809d437e68f8d9864039801ddf820367\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.domainSeparator:\n- \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\"\n+ \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\"\n values.getModules:\n- []\n values.NAME:\n- \"Gnosis Safe\"\n values.VERSION:\n- \"1.1.1\"\n+ \"1.4.1\"\n values.getChainId:\n+ 1\n implementationNames.eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "d4970e41",
"date": "Wed, 10 Dec 2025 10:26:58 GMT",
"timestamp": 1765362353,
"description": "L1Block contract from Jovian. Starting in Jovian, every non-deposit L2 tx gets a DA usage estimate and the block sums those up into a new resource called DA footprint. Each non-deposit tx compute daUsageEstimate using the Fjord linear model using the tx fastlzSize, and then multiply by the scalar (daFootprintGasScalar). The scalar essentially is a bytes-to-gas conversion factor, e.g. higher daFootprintGasScalar -> each estimated DA byte costs more footprint-gas -> stricter DA-per-block cap. In practice:\n- blocks can become “DA-full” before they are “gas-full” (daFootprint(block) <= gasLimit)\n- base fee now responds to DA-heavy blocks - base fee update uses gasMetered := max(gasUsed, blobGasUsed)\nand Jovian repurposes blobGasUsed to store daFootprint\n- DA-heavy transactions become pricier to include (DA-heavy blocks push gasMetered up, which pushes EIP-1559 base fee up, which feeds back into tx pricing)\n\nGas price oracle - isJovian fork for new gas calculation (getOperatorFee())\nhttps://disco.l2beat.com/diff/oeth:0x93e57A196454CB919193fa9946f14943cf733845/oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (oeth:0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0x1cb14befaee4fe093cdeeaab8c4a2d125540a0790929ca046c8193a094a88a4f\"\n+ \"0x3a8edff20d21cac6fe4146bd2ae47f7ec927759ff9eb35e3f32f366e91da9e15\"\n values.$implementation:\n- \"oeth:0x93e57A196454CB919193fa9946f14943cf733845\"\n+ \"oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n values.$pastUpgrades.3:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xc7c01d75d0b6950fcd30b448cba848e9841ab9ebb6b46eed9ecde4ba05ad0fd9\",[\"oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.4.0\"\n+ \"1.6.0\"\n values.isJovian:\n+ true\n implementationNames.oeth:0x93e57A196454CB919193fa9946f14943cf733845:\n- \"GasPriceOracle\"\n implementationNames.oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L1Block (oeth:0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n+ \"0x1d69ab3b3edee9b7eeccc72b0980f9041777fdc5f5224f97aa5e69f0a8b68c7c\"\n values.$implementation:\n- \"oeth:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n+ \"oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n values.$pastUpgrades.2:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a\",[\"oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.6.0\"\n+ \"1.7.0\"\n values.daFootprintGasScalar:\n+ 400\n implementationNames.oeth:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n- \"L1Block\"\n implementationNames.oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n+ \"L1Block\"\n }\n```"
}
]
},
{
"id": "5a491673",
"date": "Fri, 28 Nov 2025 09:39:21 GMT",
"timestamp": 1764322695,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202), [System Config](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\n- Jovian block values\n- fee updates `MIN_BASE_FEE`, `DA_FOOTPRINT_GAS_SCALAR` and operator fee\n\n[L1StandardBridge](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A), [SuperchainConfig](https://disco.l2beat.com/diff/eth:0xCe28685EB204186b557133766eCA00334EB441E4/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957), [OptimismMintableERC20Factory](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB), [DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50), [L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9),[L1CrossDomainMessenger](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0), [MIPS](https://disco.l2beat.com/diff/eth:0x07BABE08EE4D07dBA236530183B24055535A7011/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908), [PermissionedDisputeGame](https://disco.l2beat.com/diff/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f/eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n- minimal diff\n\n[FaultDisputeGame] (https://disco.l2beat.com/diff/eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d/eth:0x478c26109b169a840D61E95B19512FF0b5F19c87) : added MIN_BASE_FEE, DA_FOOTPRINT_GAS_SCALAR to update type, small diffs.",
"isHighSeverity": true,
"changeCount": 66,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SystemConfig (eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.13:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 13\n+ 14\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.14:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 14\n+ 15\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n EOA (eth:0x473300df21D047806A082244b417f96b32f13A33) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7\"\n+ \"eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.10:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x75505a97BD334E7BD3C476893285569C4136Fa0F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.6:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7\"\n+ \"eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.11:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 11\n+ 12\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.4:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 4\n+ 5\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d\"\n+ \"eth:0x478c26109b169a840D61E95B19512FF0b5F19c87\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7\"\n+ \"eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x478c26109b169a840D61E95B19512FF0b5F19c87)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "eb13fe49",
"date": "Wed, 29 Oct 2025 18:21:16 GMT",
"timestamp": 1761761995,
"description": "performed an empty mint to disallow inflating the supply for one year. the inflation rate is 2% per year but it was never used, and it is the first time they explicitly skip a year. the value here shows the timestamp of last mint.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract MintManager (oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005) {\n +++ description: Controls the OP inflation rate, which is currently hardcoded to 2% annually.\n values.mintPermittedAfter:\n- 0\n+ 1793220409\n }\n```"
}
]
},
{
"id": "b2e0ba31",
"date": "Mon, 20 Oct 2025 15:27:50 GMT",
"timestamp": 1760973987,
"description": "OpFoundation multisigs member rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "9ecac755",
"date": "Fri, 03 Oct 2025 14:32:18 GMT",
"timestamp": 1759501868,
"description": "This is upgrade 16a (https://gov.optimism.io/t/maintenance-upgrade-proposal-u16a/10288)\n\nOptimismPortal2 - removed unused superchain withdrawal code, ETH lockbox feature moved out to its own contract.\nhttps://disco.l2beat.com/diff/eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\n\nSystemConfig - setFeature function to activate/deactivate features (currently used for the ETHLockbox feature).\nhttps://disco.l2beat.com/diff/eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\n\nL1ERC721Bridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F/eth:0x7f1d12fB2911EB095278085f721e644C1f675696\n\nL1CrossDomainMessenger - minor changes.\nhttps://disco.l2beat.com/diff/eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\n\nL1StandardBridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x44AfB7722AF276A601D524F429016A18B6923df0/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\n\nFaultDisputeGame (via DisputeGameFactory gameImpls[0]) - no code changes; constructor variables updated (e.g., DelayedWETH, VM).\nhttps://disco.l2beat.com/diff/eth:0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F/eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d\n\nPermissionedDisputeGame (via DisputeGameFactory gameImpls[1]) - no code changes; constructor variables updated (e.g., DelayedWETH, VM).\nhttps://disco.l2beat.com/diff/eth:0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124/eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7\n\nMIPS → MIPS64 - added function for pseudorandomness generation.\nhttps://disco.l2beat.com/diff/eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a/eth:0x07BABE08EE4D07dBA236530183B24055535A7011\n\nDelayedWETH (replacement 1) - same code, same admin; only diff is totalSupply.\nhttps://disco.l2beat.com/diff/eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7/eth:0xD061AB95069987868768818cc1248705351e2D0e\n\nDelayedWETH (replacement 2) - same code, same admin; only diff is totalSupply.\nhttps://disco.l2beat.com/diff/eth:0xe214879aD573693A4C49f7654449Caa455cdE34f/eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4",
"isHighSeverity": true,
"changeCount": 63,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig_pauseId\"\n+ \"opstack/SystemConfig\"\n sourceHashes.1:\n- \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.12:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"3.4.0\"\n+ \"3.7.0\"\n fieldMeta.paused:\n- {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x23B2C62946350F4246f9f9D027e071f0264FD113) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n values.$pastUpgrades.1:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.13:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 13\n+ 14\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.9.0\"\n+ \"2.10.0\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions.10.from:\n- \"eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7\"\n+ \"eth:0xD061AB95069987868768818cc1248705351e2D0e\"\n directlyReceivedPermissions.11.from:\n- \"eth:0xe214879aD573693A4C49f7654449Caa455cdE34f\"\n+ \"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.10.from:\n- \"eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7\"\n+ \"eth:0xD061AB95069987868768818cc1248705351e2D0e\"\n receivedPermissions.11.from:\n- \"eth:0xe214879aD573693A4C49f7654449Caa455cdE34f\"\n+ \"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.9:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.6.0\"\n+ \"2.7.0\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n template:\n- \"opstack/OptimismPortal2_post13\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.10:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.initVersion:\n- 2\n+ 3\n values.superRootsActive:\n- false\n values.version:\n- \"4.6.0\"\n+ \"5.0.0\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xe214879aD573693A4C49f7654449Caa455cdE34f)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.$pastUpgrades.3:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F\"\n+ \"eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124\"\n+ \"eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xD061AB95069987868768818cc1248705351e2D0e)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "43cfdc57",
"date": "Mon, 18 Aug 2025 14:04:55 GMT",
"timestamp": 1755525885,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "793e7ea6",
"date": "Fri, 25 Jul 2025 17:48:24 GMT",
"timestamp": 1753465704,
"description": "[Optimism upgrade 16](https://gov.optimism.io/t/upgrade-16-proposal-interop-contracts-stage-1-and-go-1-23-support-in-cannon/10037): Interop Contracts, Stage 1, and Go 1.23 Support in Cannon\n\ngov changes:\n- DeputyGuardianModule removed: only the SC can e.g. blacklistDisputeGame or change respectedGameType\n- DeputyPauseModule is now a module of the Optimism Guardian Multisig, meaning the Optimism EOA can pause through it\n- Pause expires after 3 months (local + superchain pause = 6 months max pause)\n - identifier = local eth lockbox for local pause or 0x0 for global pause\n\nalmost all contracts have:\n- paused() and guardian() now exposed\n- additional initializer/upgrade check\n- lots of interfaces added in the flat files\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4/eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a)\n- add `migrateLiquidity()` and `migrateToSuperRoots()`, callable by proxyAdminOwner\n- `setRespectedGameType()` and `blacklistDisputeGame()` removed (moved to AnchorStateRegistry)\n- ETH moved to the ETHLockbox\n- superRoots (interop) support (e.g. for proving withdrawals)\n\nETHLockbox\n- new contract\n- holds ETH\n- ETH can be unlocked by the optiportal, or withdrawn/migrated by the ProxyAdminOwner\n\n[SystemConfig](https://disco.l2beat.com/diff/eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647/eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa)\n- max gas limit 200M -> 500M\n\n[L1Standardbridge](https://disco.l2beat.com/diff/eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A/eth:0x44AfB7722AF276A601D524F429016A18B6923df0)\n- no significant changes (still holds the ERC-20 tokens)\n\n[L1CDM](https://disco.l2beat.com/diff/eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B/eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54)\n- `hashSuperRootProof()`, `encodeSuperRootProof()` added, related to the future SuperFaultDisputeGame and interop\n\n[DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D)\n- minimal changes\n\n[AnchorStateRegistry](https://disco.l2beat.com/diff/eth:0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E)\n- `setRespectedGameType()` and `blacklistDisputeGame()` added, can be called by guardian (not DeputyPauser)\n\n[FaultDisputeGame](https://disco.l2beat.com/diff/eth:0x89D68b1D63AAA0db4af1163e81f56B76934292F8/eth:0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F)\n- minimal changes\n\n[PermissionedDisputegame](https://disco.l2beat.com/diff/eth:0xa1E0baCde89d899B3f24eEF3D179cC335A24E777/eth:0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124)\n- minimal changes\n\n[DelayedWETH](https://disco.l2beat.com/diff/eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e/eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998)\n- ownable removed\n- `hold()` (recover) now requires msg.sender == proxyadminowner\n\n[MIPS64](https://disco.l2beat.com/diff/eth:0xF027F4A985560fb13324e943edf55ad6F1d15Dc1/eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n- explanations about the diff are in the forum post\n\n[L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013/eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F)\n- minimal changes",
"isHighSeverity": true,
"changeCount": 134,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH_PermissionedGames (0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig\"\n+ \"opstack/SystemConfig_pauseId\"\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n values.$pastUpgrades.11:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"]]\n values.$upgradeCount:\n- 11\n+ 12\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.4.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 2\n values.l2ChainId:\n+ 10\n+++ description: `superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\n+++ severity: HIGH\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n fieldMeta.paused:\n+ {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n values.$pastUpgrades.12:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.version:\n- \"2.6.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH_PermissionlessGames (0x323dFC63c9B83CB83f40325AaB74b245937cbdF0)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions.1:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b\",\"role\":\"admin\"}\n directlyReceivedPermissions.2:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\",\"role\":\"admin\"}\n directlyReceivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\",\"role\":\"admin\"}\n directlyReceivedPermissions.5.from:\n- \"eth:0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n+ \"eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43\"\n directlyReceivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7\",\"role\":\"admin\"}\n directlyReceivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xe214879aD573693A4C49f7654449Caa455cdE34f\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.7.from:\n- \"eth:0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n+ \"eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43\"\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xe214879aD573693A4C49f7654449Caa455cdE34f\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n values.$pastUpgrades.8:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"2.4.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x89D68b1D63AAA0db4af1163e81f56B76934292F8)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n values.version:\n- \"2.3.0\"\n+ \"2.6.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions:\n- [{\"permission\":\"guard\",\"from\":\"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}]\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"role\":\".deputyGuardian\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xa1E0baCde89d899B3f24eEF3D179cC335A24E777)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\n template:\n- \"opstack/OptimismPortal2\"\n+ \"opstack/OptimismPortal2_post13\"\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comes from the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n+ \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n values.$pastUpgrades.9:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.respectedGameTypeUpdatedAt:\n- 1726070915\n+ 1753379243\n values.version:\n- \"3.14.0\"\n+ \"4.6.0\"\n values.anchorStateRegistry:\n+ \"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\"\n values.ethLockbox:\n+ \"eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superRootsActive:\n+ false\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n- \"OptimismPortal2\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x89D68b1D63AAA0db4af1163e81f56B76934292F8\"\n+ \"eth:0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xa1E0baCde89d899B3f24eEF3D179cC335A24E777\"\n+ \"eth:0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x23B2C62946350F4246f9f9D027e071f0264FD113)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ETHLockbox (0x322b47Ff1FA8D5611F761e3E275C45B71b294D43)\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xc5f54F934075677FBA99b5E43468439cbdE88ca7)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xe214879aD573693A4C49f7654449Caa455cdE34f)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "07eacb49",
"date": "Mon, 14 Jul 2025 12:47:06 GMT",
"timestamp": 1752497226,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 20,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract MintManagerOwner (0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeployerWhitelist (0x4200000000000000000000000000000000000002)\n +++ description: Legacy contract that was originally used to act as a whitelist of addresses allowed to the Optimism network. Fully unused and deprecated since the Bedrock upgrade.\n```\n\n```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: Provides the current gas price for L2 transactions.\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: Simple contract that returns the latest L1 block number.\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract L1FeeVault (0x420000000000000000000000000000000000001A)\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OperatorFeeVault (0x420000000000000000000000000000000000001b)\n +++ description: Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract OPToken (0x4200000000000000000000000000000000000042)\n +++ description: The OP token contract. The minting policy is controlled by the oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005.\n```\n\n```diff\n+ Status: CREATED\n contract MintManager (0x5C4e7Ba1E219E47948e6e3F55019A647bA501005)\n +++ description: Controls the OP inflation rate, which is currently hardcoded to 2% annually.\n```"
}
]
},
{
"id": "0765693b",
"date": "Mon, 14 Jul 2025 12:47:06 GMT",
"timestamp": 1752497226,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 32,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1DAITokenBridge (0x10E6593CDda8c58a1d0f14C5164B376352a55f2F)\n +++ description: Custom Gateway for DAI deposits via canonical messaging. Deposited DAI is forwarded to a Vault contract.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionedGames (0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionlessGames (0x323dFC63c9B83CB83f40325AaB74b245937cbdF0)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1DAIEscrow (0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65)\n +++ description: Stores DAI deposited from the attached L1DAITokenBridge.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SynthetixBridgeEscrow (0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f)\n +++ description: Custom escrow for SNX bridged via canonical messaging.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x75505a97BD334E7BD3C476893285569C4136Fa0F)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract wstETHEscrow (0x76943C0D61395d8F2edF9060e1533529cAe05dE6)\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x89D68b1D63AAA0db4af1163e81f56B76934292F8)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xa1E0baCde89d899B3f24eEF3D179cC335A24E777)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FeesCollector (0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa)\n +++ description: Collecting sequencer, base- and L1 fees from L2.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "7d3a108c",
"date": "Mon, 26 May 2025 15:08:08 GMT",
"timestamp": 1748272088,
"description": "gaslimit adjustments (net increase while decreasing elasticity).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Elasticity:\n- 4\n+ 2\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 60000000\n+ 40000000\n }\n```"
}
]
},
{
"id": "16fb095c",
"date": "Mon, 12 May 2025 08:10:17 GMT",
"timestamp": 1747037417,
"description": "Isthmus L2 contract upgrades, mainly focusing on support for the new operator fee.",
"isHighSeverity": true,
"changeCount": 82,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0x6d0f92051952bf3dcccae9e0ff5cf654e3b386df386bc0609b0c7234a2a108bb\"\n+ \"0x926a45849c8c68704718056d544ac26d7683a6b44a90a9590dda1a9bdd495962\"\n values.$implementation:\n- \"0xa919894851548179A0750865e7974DA599C0Fac7\"\n+ \"0x93e57A196454CB919193fa9946f14943cf733845\"\n values.$pastUpgrades.2:\n+ [\"2024-07-10T16:00:01.000Z\",\"0x2f63bbe08a66796dde569281a58a53e0b0f64b7aa067297e9c70455fb8e375bc\",[\"0xa919894851548179A0750865e7974DA599C0Fac7\"]]\n values.$pastUpgrades.1.2:\n- \"2024-07-10T16:00:01.000Z\"\n+ \"2024-03-14T00:00:01.000Z\"\n values.$pastUpgrades.1.1:\n- \"0x2f63bbe08a66796dde569281a58a53e0b0f64b7aa067297e9c70455fb8e375bc\"\n+ \"0xedbfdad1f44ea830b863eac45eca4408398351b30511826012882059625963d2\"\n values.$pastUpgrades.1.0.0:\n- \"0xa919894851548179A0750865e7974DA599C0Fac7\"\n+ \"0xb528D11cC114E026F138fE568744c6D45ce6Da7A\"\n values.$pastUpgrades.0.2:\n- \"2024-03-14T00:00:01.000Z\"\n+ \"0xb6560306ccb0e772b132a8a6dd78244c0d7ac270c80baba40f95006184926c30\"\n values.$pastUpgrades.0.1:\n- \"0xedbfdad1f44ea830b863eac45eca4408398351b30511826012882059625963d2\"\n+ \"2025-05-09T16:00:01.000Z\"\n values.$pastUpgrades.0.0.0:\n- \"0xb528D11cC114E026F138fE568744c6D45ce6Da7A\"\n+ \"0x93e57A196454CB919193fa9946f14943cf733845\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.isIsthmus:\n+ true\n implementationNames.0xa919894851548179A0750865e7974DA599C0Fac7:\n- \"GasPriceOracle\"\n implementationNames.0x93e57A196454CB919193fa9946f14943cf733845:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0xbdd7533735ef92fffadfbee431b476e72f2f048487c921c5570443e3cba5cb30\"\n+ \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n values.$implementation:\n- \"0x07dbe8500fc591d1852B76feE44d5a05e13097Ff\"\n+ \"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n values.$pastUpgrades.1:\n+ [\"2024-03-14T00:00:01.000Z\",\"0x9f2b2d34dfa2cb55cceb9860cade0cb03cfbd7ff1dd07d48b4708b29a46b4a24\",[\"0x07dbe8500fc591d1852B76feE44d5a05e13097Ff\"]]\n values.$pastUpgrades.0.2:\n- \"2024-03-14T00:00:01.000Z\"\n+ \"0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd\"\n values.$pastUpgrades.0.1:\n- \"0x9f2b2d34dfa2cb55cceb9860cade0cb03cfbd7ff1dd07d48b4708b29a46b4a24\"\n+ [\"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"]\n values.$pastUpgrades.0.0:\n- [\"0x07dbe8500fc591d1852B76feE44d5a05e13097Ff\"]\n+ \"2025-05-09T16:00:01.000Z\"\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.2.0\"\n+ \"1.6.0\"\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n implementationNames.0x07dbe8500fc591d1852B76feE44d5a05e13097Ff:\n- \"L1Block\"\n implementationNames.0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n+ \"L1Block\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x4200000000000000000000000000000000000018) {\n +++ description: None\n directlyReceivedPermissions.16:\n+ {\"permission\":\"upgrade\",\"from\":\"0x4200000000000000000000000000000000000002\"}\n directlyReceivedPermissions.15.from:\n- \"0x4200000000000000000000000000000000000002\"\n+ \"0x4200000000000000000000000000000000000007\"\n directlyReceivedPermissions.14.from:\n- \"0x4200000000000000000000000000000000000007\"\n+ \"0x420000000000000000000000000000000000000F\"\n directlyReceivedPermissions.13.from:\n- \"0x420000000000000000000000000000000000000F\"\n+ \"0x4200000000000000000000000000000000000010\"\n directlyReceivedPermissions.12.from:\n- \"0x4200000000000000000000000000000000000010\"\n+ \"0x4200000000000000000000000000000000000011\"\n directlyReceivedPermissions.11.from:\n- \"0x4200000000000000000000000000000000000011\"\n+ \"0x4200000000000000000000000000000000000012\"\n directlyReceivedPermissions.10.from:\n- \"0x4200000000000000000000000000000000000012\"\n+ \"0x4200000000000000000000000000000000000013\"\n directlyReceivedPermissions.9.from:\n- \"0x4200000000000000000000000000000000000013\"\n+ \"0x4200000000000000000000000000000000000014\"\n directlyReceivedPermissions.8.from:\n- \"0x4200000000000000000000000000000000000014\"\n+ \"0x4200000000000000000000000000000000000015\"\n directlyReceivedPermissions.7.from:\n- \"0x4200000000000000000000000000000000000015\"\n+ \"0x4200000000000000000000000000000000000016\"\n directlyReceivedPermissions.6.from:\n- \"0x4200000000000000000000000000000000000016\"\n+ \"0x4200000000000000000000000000000000000017\"\n directlyReceivedPermissions.5.from:\n- \"0x4200000000000000000000000000000000000017\"\n+ \"0x4200000000000000000000000000000000000018\"\n directlyReceivedPermissions.4.from:\n- \"0x4200000000000000000000000000000000000018\"\n+ \"0x4200000000000000000000000000000000000019\"\n directlyReceivedPermissions.3.from:\n- \"0x4200000000000000000000000000000000000019\"\n+ \"0x420000000000000000000000000000000000001A\"\n directlyReceivedPermissions.2.from:\n- \"0x420000000000000000000000000000000000001A\"\n+ \"0x4200000000000000000000000000000000000020\"\n directlyReceivedPermissions.1.from:\n- \"0x4200000000000000000000000000000000000020\"\n+ \"0x4200000000000000000000000000000000000021\"\n directlyReceivedPermissions.0.from:\n- \"0x4200000000000000000000000000000000000021\"\n+ \"0x420000000000000000000000000000000000001b\"\n }\n```\n\n```diff\n contract OperatorFeeVault (0x420000000000000000000000000000000000001b) {\n +++ description: Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\n name:\n- \"Proxy\"\n+ \"OperatorFeeVault\"\n sourceHashes.1:\n+ \"0xc35c98e4b7bad72da3eda4ed9193d928885e62142aaf1ab37e3a298cf7a51371\"\n proxyType:\n- \"immutable\"\n+ \"EIP1967 proxy\"\n values.$immutable:\n- true\n values.$admin:\n+ \"0x4200000000000000000000000000000000000018\"\n values.$implementation:\n+ \"0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537\"\n values.$pastUpgrades:\n+ [[\"2025-05-09T16:00:01.000Z\",\"0xf162acc8ebbaf9237755736b62331a4817fe27bbbe3712f473ecfa8fee499f7c\",[\"0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537\"]]]\n values.$upgradeCount:\n+ 1\n values.MIN_WITHDRAWAL_AMOUNT:\n+ 0\n values.minWithdrawalAmount:\n+ 0\n values.recipient:\n+ \"0x4200000000000000000000000000000000000019\"\n values.RECIPIENT:\n+ \"0x4200000000000000000000000000000000000019\"\n values.totalProcessed:\n+ 0\n values.version:\n+ \"1.0.0\"\n values.WITHDRAWAL_NETWORK:\n+ 1\n values.withdrawalNetwork:\n+ 1\n implementationNames.0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537:\n+ \"OperatorFeeVault\"\n template:\n+ \"opstack/Layer2/OperatorFeeVault\"\n description:\n+ \"Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\"\n }\n```\n\n```diff\n EOA SuperchainProxyAdminOwner - L2 Alias (0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b) {\n +++ description: None\n receivedPermissions.16:\n+ {\"permission\":\"upgrade\",\"from\":\"0x4200000000000000000000000000000000000002\",\"via\":[{\"address\":\"0x4200000000000000000000000000000000000018\"}]}\n receivedPermissions.15.from:\n- \"0x4200000000000000000000000000000000000002\"\n+ \"0x4200000000000000000000000000000000000007\"\n receivedPermissions.14.from:\n- \"0x4200000000000000000000000000000000000007\"\n+ \"0x420000000000000000000000000000000000000F\"\n receivedPermissions.13.from:\n- \"0x420000000000000000000000000000000000000F\"\n+ \"0x4200000000000000000000000000000000000010\"\n receivedPermissions.12.from:\n- \"0x4200000000000000000000000000000000000010\"\n+ \"0x4200000000000000000000000000000000000011\"\n receivedPermissions.11.from:\n- \"0x4200000000000000000000000000000000000011\"\n+ \"0x4200000000000000000000000000000000000012\"\n receivedPermissions.10.from:\n- \"0x4200000000000000000000000000000000000012\"\n+ \"0x4200000000000000000000000000000000000013\"\n receivedPermissions.9.from:\n- \"0x4200000000000000000000000000000000000013\"\n+ \"0x4200000000000000000000000000000000000014\"\n receivedPermissions.8.from:\n- \"0x4200000000000000000000000000000000000014\"\n+ \"0x4200000000000000000000000000000000000015\"\n receivedPermissions.7.from:\n- \"0x4200000000000000000000000000000000000015\"\n+ \"0x4200000000000000000000000000000000000016\"\n receivedPermissions.6.from:\n- \"0x4200000000000000000000000000000000000016\"\n+ \"0x4200000000000000000000000000000000000017\"\n receivedPermissions.5.from:\n- \"0x4200000000000000000000000000000000000017\"\n+ \"0x4200000000000000000000000000000000000018\"\n receivedPermissions.4.from:\n- \"0x4200000000000000000000000000000000000018\"\n+ \"0x4200000000000000000000000000000000000019\"\n receivedPermissions.3.from:\n- \"0x4200000000000000000000000000000000000019\"\n+ \"0x420000000000000000000000000000000000001A\"\n receivedPermissions.2.from:\n- \"0x420000000000000000000000000000000000001A\"\n+ \"0x4200000000000000000000000000000000000020\"\n receivedPermissions.1.from:\n- \"0x4200000000000000000000000000000000000020\"\n+ \"0x4200000000000000000000000000000000000021\"\n receivedPermissions.0.from:\n- \"0x4200000000000000000000000000000000000021\"\n+ \"0x420000000000000000000000000000000000001b\"\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract Proxy (0x420000000000000000000000000000000000001b)\n +++ description: None\n```"
}
]
},
{
"id": "fee2cf7f",
"date": "Thu, 08 May 2025 10:05:18 GMT",
"timestamp": 1746698718,
"description": "Introduction of the DeputyPause Module and the EOA superchain pauser. New dispute games deployed with identical code but 1.6.0 cannon64 prestates.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x1Ae178eBFEECd51709432EA5f37845Da0414EdFe)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Denominator:\n- 0\n+ 250\n values.eip1559Elasticity:\n- 0\n+ 4\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x5738a876359b48A65d35482C93B43e2c1147B32B)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x1Ae178eBFEECd51709432EA5f37845Da0414EdFe\"\n+ \"0x89D68b1D63AAA0db4af1163e81f56B76934292F8\"\n values.gameImpls.3:\n- \"0x5738a876359b48A65d35482C93B43e2c1147B32B\"\n+ \"0xa1E0baCde89d899B3f24eEF3D179cC335A24E777\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x89D68b1D63AAA0db4af1163e81f56B76934292F8)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xa1E0baCde89d899B3f24eEF3D179cC335A24E777)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "b4d134f4",
"date": "Mon, 28 Apr 2025 07:26:55 GMT",
"timestamp": 1745825215,
"description": "DelayedWETH owners upgraded to the SuperchainProxyAdminOwner. Under review removed.",
"isHighSeverity": false,
"changeCount": 25,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DelayedWETH_PermissionedGames (0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n issuedPermissions.0.to:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.owner:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n }\n```\n\n```diff\n contract DelayedWETH_PermissionlessGames (0x323dFC63c9B83CB83f40325AaB74b245937cbdF0) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n issuedPermissions.0.to:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.owner:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\",\"via\":[{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\",\"via\":[{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.10.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.10.via:\n- [{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]\n receivedPermissions.10.description:\n+ \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.9.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.9.from:\n- \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n+ \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n receivedPermissions.9.description:\n+ \"set and change address mappings.\"\n receivedPermissions.8.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.8.from:\n- \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n receivedPermissions.8.description:\n- \"set and change address mappings.\"\n receivedPermissions.7.from:\n- \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n receivedPermissions.6.from:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n receivedPermissions.5.from:\n- \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n receivedPermissions.5.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.4.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.4.from:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n receivedPermissions.4.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n+ \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.4.via:\n- [{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\",\"description\":\"can pull funds from the contract in case of emergency.\"}\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\",\"description\":\"can pull funds from the contract in case of emergency.\"}\n }\n```"
}
]
},
{
"id": "24b38107",
"date": "Fri, 25 Apr 2025 13:14:46 GMT",
"timestamp": 1745586886,
"description": "[Isthmus upgrade](https://vote.optimism.io/proposals/8705916809146420472067303211131851783087744913535435360574720946039078686841):\n- upgraded proof system VM: MIPS (MT-Cannon MIPS64)\n- operator fee (fee mechanism to improve fee config for zk proven and alt-DA systems)\n- pectra readiness",
"isHighSeverity": true,
"changeCount": 104,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.0:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.10:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.9.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n values.$pastUpgrades.9.0:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.8.2:\n- \"2025-01-24T14:41:35.000Z\"\n+ [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n values.$pastUpgrades.8.1:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n values.$pastUpgrades.8.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2024-04-11T20:49:59.000Z\"\n values.$pastUpgrades.7.2:\n- [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.7.1:\n- \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.7.0:\n- \"2024-04-11T20:49:59.000Z\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$pastUpgrades.6.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ \"0x76bceccd7d44656f5a129a600a6120091570b897c1d45c18cd7134cfe67c2537\"\n values.$pastUpgrades.6.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ [\"0x5efa852e92800D1C982711761e45c3FE39a2b6D8\"]\n values.$pastUpgrades.6.0:\n- [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n+ \"2023-06-06T15:58:47.000Z\"\n values.$pastUpgrades.5.2:\n- \"0x76bceccd7d44656f5a129a600a6120091570b897c1d45c18cd7134cfe67c2537\"\n+ \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n values.$pastUpgrades.5.1.0:\n- \"0x5efa852e92800D1C982711761e45c3FE39a2b6D8\"\n+ \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n values.$pastUpgrades.5.0:\n- \"2023-06-06T15:58:47.000Z\"\n+ \"2024-06-10T16:42:59.000Z\"\n values.$pastUpgrades.4.2:\n- \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.4.1:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"2024-02-26T21:44:11.000Z\"\n values.$pastUpgrades.4.0:\n- \"2024-06-10T16:42:59.000Z\"\n+ \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n values.$pastUpgrades.3.2:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n values.$pastUpgrades.3.1:\n- \"2024-02-26T21:44:11.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.3.0:\n- \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n+ \"2024-06-10T16:42:59.000Z\"\n values.$pastUpgrades.2.2:\n- \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n+ \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n values.$pastUpgrades.2.0:\n- \"2024-06-10T16:42:59.000Z\"\n+ \"2024-04-11T20:49:59.000Z\"\n values.$pastUpgrades.1.2:\n- \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n+ \"2024-02-26T21:44:11.000Z\"\n values.$pastUpgrades.1.1:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n values.$pastUpgrades.1.0:\n- \"2024-04-11T20:49:59.000Z\"\n+ [\"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"]\n values.$pastUpgrades.0.2:\n- \"2024-02-26T21:44:11.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.1:\n- \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$pastUpgrades.0.0.0:\n- \"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"\n+ \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$upgradeCount:\n- 10\n+ 11\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.11:\n+ [\"2023-06-06T18:24:11.000Z\",\"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\",[\"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"]]\n values.$pastUpgrades.10.2:\n- \"2023-06-06T18:24:11.000Z\"\n+ \"0x2625aa2013fd1a650fb0264d2746be597e12f846baa48a68fe14539c200ed6dc\"\n values.$pastUpgrades.10.1:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ \"2021-11-11T17:37:56.000Z\"\n values.$pastUpgrades.10.0.0:\n- \"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.$pastUpgrades.9.2:\n- \"0x2625aa2013fd1a650fb0264d2746be597e12f846baa48a68fe14539c200ed6dc\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.9.1:\n- \"2021-11-11T17:37:56.000Z\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.9.0:\n- [\"0x0000000000000000000000000000000000000000\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.8.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ \"0xd19d40f11c375feeea5fe47576ce98a3a08caac68b2a8a52fb95dd1a76dd205a\"\n values.$pastUpgrades.8.1:\n- [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n+ \"2021-06-22T22:29:27.000Z\"\n values.$pastUpgrades.8.0:\n- \"2025-04-02T16:50:23.000Z\"\n+ [\"0x16393737D09d2722AD13DcA3cA8C3DB957699F1D\"]\n values.$pastUpgrades.7.2:\n- \"0xd19d40f11c375feeea5fe47576ce98a3a08caac68b2a8a52fb95dd1a76dd205a\"\n+ [\"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]\n values.$pastUpgrades.7.1:\n- \"2021-06-22T22:29:27.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.7.0:\n- [\"0x16393737D09d2722AD13DcA3cA8C3DB957699F1D\"]\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 11\n+ 12\n values.version:\n- \"2.5.0\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.7:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.6.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n values.$pastUpgrades.6.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n values.$pastUpgrades.6.0:\n- [\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]\n+ \"2024-04-11T20:49:59.000Z\"\n values.$pastUpgrades.5.2:\n- [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n+ \"0xe8f632050cdf538eebcc5ab4a0ecb426966acfd14118e4fb8b181948449ae70d\"\n values.$pastUpgrades.5.1:\n- \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n+ \"2022-10-04T22:08:59.000Z\"\n values.$pastUpgrades.5.0:\n- \"2024-04-11T20:49:59.000Z\"\n+ [\"0x3268Ed09f76e619331528270B6267D4d2C5Ab5C2\"]\n values.$pastUpgrades.4.2:\n- \"0xe8f632050cdf538eebcc5ab4a0ecb426966acfd14118e4fb8b181948449ae70d\"\n+ \"2023-06-06T18:24:11.000Z\"\n values.$pastUpgrades.4.1:\n- \"2022-10-04T22:08:59.000Z\"\n+ \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n values.$pastUpgrades.3.2:\n- \"2023-06-06T18:24:11.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.3.1:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ \"2024-02-26T21:44:11.000Z\"\n values.$pastUpgrades.3.0:\n- [\"0x3268Ed09f76e619331528270B6267D4d2C5Ab5C2\"]\n+ \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n values.$pastUpgrades.2.2.0:\n- \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n+ \"0xc599Fa757c2bCaA5aE3753Ab129237F38C10da0b\"\n values.$pastUpgrades.1.2:\n- [\"0xc599Fa757c2bCaA5aE3753Ab129237F38C10da0b\"]\n+ \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n values.$pastUpgrades.1.1:\n- \"2024-02-26T21:44:11.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.1.0:\n- \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n+ \"2024-04-11T20:49:59.000Z\"\n values.$pastUpgrades.0.2:\n- \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n+ [\"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]\n values.$pastUpgrades.0.1:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-04-11T20:49:59.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 7\n+ 8\n values.version:\n- \"2.3.1\"\n+ \"2.4.0\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0x18e98a64fbfe011a7514d7a547900c02a3e0f9a49ab3413d517fd7e0e3c539dd\"\n sourceHashes.0:\n- \"0x18e98a64fbfe011a7514d7a547900c02a3e0f9a49ab3413d517fd7e0e3c539dd\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"2.2.2\"\n+ \"2.3.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0xbA94955CA3422fC57f9D982a0BaD2a9c88e2a9D0)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OptimismPortal2 (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n values.$implementation:\n- \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.8:\n+ [\"2024-06-10T16:42:59.000Z\",\"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.7.2.0:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"\n values.$pastUpgrades.7.1:\n- \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n+ \"2023-06-06T18:24:11.000Z\"\n values.$pastUpgrades.7.0:\n- \"2024-06-10T16:42:59.000Z\"\n+ \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n values.$pastUpgrades.6.2:\n- [\"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.6.1:\n- \"2023-06-06T18:24:11.000Z\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.6.0:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$pastUpgrades.5.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]\n values.$pastUpgrades.5.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.5.0:\n- [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"3.13.0\"\n+ \"3.14.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xd113ad136a0dF1c7FfB7F1606Be1c778bCfE2f3b)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0xbA94955CA3422fC57f9D982a0BaD2a9c88e2a9D0\"\n+ \"0x1Ae178eBFEECd51709432EA5f37845Da0414EdFe\"\n values.gameImpls.3:\n- \"0xd113ad136a0dF1c7FfB7F1606Be1c778bCfE2f3b\"\n+ \"0x5738a876359b48A65d35482C93B43e2c1147B32B\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x1Ae178eBFEECd51709432EA5f37845Da0414EdFe)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x5738a876359b48A65d35482C93B43e2c1147B32B)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "62284543",
"date": "Fri, 04 Apr 2025 09:17:31 GMT",
"timestamp": 1743758251,
"description": "Upgrade 13: https://gov.optimism.io/t/upgrade-proposal-13-opcm-and-incident-response-improvements/9739",
"isHighSeverity": true,
"changeCount": 130,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x18DAc71c228D1C32c99489B7323d441E1175e443)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract DelayedWETH_PermissionedGames (0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2024-12-11T12:29:23.000Z\",\"0x6b9ad25cef01bd97f1be9642d96cbf75d533129608d5a62e4ae3d69ead47d3dc\",[\"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"]]\n values.$pastUpgrades.0.2:\n- \"2024-12-11T12:29:23.000Z\"\n+ [\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]\n values.$pastUpgrades.0.1:\n- \"0x6b9ad25cef01bd97f1be9642d96cbf75d533129608d5a62e4ae3d69ead47d3dc\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.0.0:\n- [\"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n+ \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n sourceHashes.0:\n- \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.9:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.8.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n values.$pastUpgrades.8.0:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.7.2:\n- \"2025-01-24T14:41:35.000Z\"\n+ [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n values.$pastUpgrades.7.1:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n values.$pastUpgrades.7.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2024-04-11T20:49:59.000Z\"\n values.$pastUpgrades.6.2:\n- [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.6.1:\n- \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.6.0:\n- \"2024-04-11T20:49:59.000Z\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$upgradeCount:\n- 9\n+ 10\n values.gasPayingToken:\n- {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1\",\"l1ERC721Bridge\":\"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\",\"l1StandardBridge\":\"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\",\"disputeGameFactory\":\"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\",\"optimismPortal\":\"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\",\"optimismMintableERC20Factory\":\"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x6e4b297b822bdda2bb8bbf4dde360ee51379af5a0de55c0d726a2d7b68791bf7\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n sourceHashes.0:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x6e4b297b822bdda2bb8bbf4dde360ee51379af5a0de55c0d726a2d7b68791bf7\"\n values.$implementation:\n- \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.10:\n+ [\"2023-06-06T18:24:11.000Z\",\"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\",[\"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"]]\n values.$pastUpgrades.9.2:\n- \"2023-06-06T18:24:11.000Z\"\n+ \"0x2625aa2013fd1a650fb0264d2746be597e12f846baa48a68fe14539c200ed6dc\"\n values.$pastUpgrades.9.1:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ \"2021-11-11T17:37:56.000Z\"\n values.$pastUpgrades.9.0.0:\n- \"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.$pastUpgrades.8.2:\n- \"0x2625aa2013fd1a650fb0264d2746be597e12f846baa48a68fe14539c200ed6dc\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.8.1:\n- \"2021-11-11T17:37:56.000Z\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.8.0:\n- [\"0x0000000000000000000000000000000000000000\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$upgradeCount:\n- 10\n+ 11\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x27B81db41F586016694632193b99E45b1a27B8f8)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract DelayedWETH_PermissionlessGames (0x323dFC63c9B83CB83f40325AaB74b245937cbdF0) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions.10.from:\n- \"0x18DAc71c228D1C32c99489B7323d441E1175e443\"\n+ \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n directlyReceivedPermissions.9.from:\n- \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n+ \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n directlyReceivedPermissions.8.permission:\n- \"upgrade\"\n+ \"interact\"\n directlyReceivedPermissions.8.from:\n- \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n+ \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n directlyReceivedPermissions.8.description:\n+ \"set and change address mappings.\"\n directlyReceivedPermissions.7.permission:\n- \"interact\"\n+ \"upgrade\"\n directlyReceivedPermissions.7.from:\n- \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n directlyReceivedPermissions.7.description:\n- \"set and change address mappings.\"\n directlyReceivedPermissions.6.from:\n- \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n directlyReceivedPermissions.5.from:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n directlyReceivedPermissions.4.from:\n- \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n directlyReceivedPermissions.4.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.3.from:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n directlyReceivedPermissions.3.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.2.from:\n- \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n directlyReceivedPermissions.1.from:\n- \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n directlyReceivedPermissions.0.from:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.10.from:\n- \"0x18DAc71c228D1C32c99489B7323d441E1175e443\"\n+ \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n receivedPermissions.9.from:\n- \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n+ \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n receivedPermissions.8.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.8.from:\n- \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n+ \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n receivedPermissions.8.description:\n+ \"set and change address mappings.\"\n receivedPermissions.7.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.7.from:\n- \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n receivedPermissions.7.description:\n- \"set and change address mappings.\"\n receivedPermissions.6.from:\n- \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n receivedPermissions.5.from:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n receivedPermissions.4.from:\n- \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n receivedPermissions.4.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.3.from:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n receivedPermissions.3.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.2.from:\n- \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n receivedPermissions.1.from:\n- \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.0.from:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.6:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x75505a97BD334E7BD3C476893285569C4136Fa0F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.0:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.5:\n+ [\"2023-06-06T18:24:11.000Z\",\"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\",[\"0xaE849EFA4BcFc419593420e14707996936E365E2\"]]\n values.$pastUpgrades.4.2:\n- \"2023-06-06T18:24:11.000Z\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.4.1:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.4.0.0:\n- \"0xaE849EFA4BcFc419593420e14707996936E365E2\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x91a661891248d8C4916FB4a1508492a5e2CBcb87)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n sourceHashes.0:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n values.$implementation:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.7:\n+ [\"2024-06-10T16:42:59.000Z\",\"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.6.2.0:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"\n values.$pastUpgrades.6.1:\n- \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n+ \"2023-06-06T18:24:11.000Z\"\n values.$pastUpgrades.6.0:\n- \"2024-06-10T16:42:59.000Z\"\n+ \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n values.$pastUpgrades.5.2:\n- [\"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.5.1:\n- \"2023-06-06T18:24:11.000Z\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.5.0:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$upgradeCount:\n- 7\n+ 8\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.4:\n- \"0x27B81db41F586016694632193b99E45b1a27B8f8\"\n+ \"0xbA94955CA3422fC57f9D982a0BaD2a9c88e2a9D0\"\n values.gameImpls.3:\n- \"0x91a661891248d8C4916FB4a1508492a5e2CBcb87\"\n+ \"0xd113ad136a0dF1c7FfB7F1606Be1c778bCfE2f3b\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xbA94955CA3422fC57f9D982a0BaD2a9c88e2a9D0)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xd113ad136a0dF1c7FfB7F1606Be1c778bCfE2f3b)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "8cc327b1",
"date": "Wed, 12 Feb 2025 10:00:09 GMT",
"timestamp": 1739354409,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "f0fea75b",
"date": "Sat, 08 Feb 2025 15:57:57 GMT",
"timestamp": 1739030277,
"description": "Single SC member rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "3848318b",
"date": "Thu, 06 Feb 2025 09:16:56 GMT",
"timestamp": 1738833416,
"description": "OP Stack SC signer rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "2f31d636",
"date": "Mon, 27 Jan 2025 11:40:56 GMT",
"timestamp": 1737978056,
"description": "This is a SystemConfig upgrade (v2.3.0, adding gasToken support) for five Superchain eco chains that use superchain governance.\n- op mainnet\n- metal\n- zora\n- arena-z\n- mode\n\nDue to temporary storage setter implementations, multiple upgrades are counted within a single tx.",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.8:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.7:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 5227\n values.blobbasefeeScalar:\n+ 1014213\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n }\n```"
}
]
},
{
"id": "98eb7db6",
"date": "Thu, 09 Jan 2025 06:23:35 GMT",
"timestamp": 1736403815,
"description": "New MIPS, PermissionedDisputeGame, FaultDisputeGame and DelayedWETH contracts.\n\n- interop: add `hashL2toL2CrossDomainMessage()` and `_dependencySet` (in 'encoding' and 'hashing' libraries)\n- formatting and doc changes\n- removal of interfaces (IDisputeGame, IFaultDisputeGame)\n- no changes in DelayedWETH\n\n### MIPS\n\nRefactor: [64bit architecture and multithreading support](https://github.com/ethereum-optimism/docs/issues/1066).",
"isHighSeverity": false,
"changeCount": 30,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x050ed6F6273c7D836a111E42153BC00D0380b87d)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions.8.target:\n- \"0x9F9b897e37de5052cD70Db6D08474550DDb07f39\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n directlyReceivedPermissions.8.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.7.target:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n directlyReceivedPermissions.7.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.6.target:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n directlyReceivedPermissions.5.target:\n- \"0x82511d494B5C942BE57498a70Fdd7184Ee33B975\"\n+ \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n directlyReceivedPermissions.4.target:\n- \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n+ \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n directlyReceivedPermissions.3.target:\n- \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n directlyReceivedPermissions.2.target:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.8.target:\n- \"0x9F9b897e37de5052cD70Db6D08474550DDb07f39\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n receivedPermissions.8.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.7.target:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.7.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.6.target:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n receivedPermissions.5.target:\n- \"0x82511d494B5C942BE57498a70Fdd7184Ee33B975\"\n+ \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n receivedPermissions.4.target:\n- \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n+ \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n receivedPermissions.3.target:\n- \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n receivedPermissions.2.target:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x82511d494B5C942BE57498a70Fdd7184Ee33B975)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x9F9b897e37de5052cD70Db6D08474550DDb07f39)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0xA6f3DFdbf4855a43c529bc42EDE96797252879af)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.1:\n- \"0x050ed6F6273c7D836a111E42153BC00D0380b87d\"\n+ \"0x91a661891248d8C4916FB4a1508492a5e2CBcb87\"\n values.gameImpls.0:\n- \"0xA6f3DFdbf4855a43c529bc42EDE96797252879af\"\n+ \"0x27B81db41F586016694632193b99E45b1a27B8f8\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionedGames (0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x27B81db41F586016694632193b99E45b1a27B8f8)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionlessGames (0x323dFC63c9B83CB83f40325AaB74b245937cbdF0)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x91a661891248d8C4916FB4a1508492a5e2CBcb87)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "0b6a847f",
"date": "Wed, 23 Oct 2024 09:21:39 GMT",
"timestamp": 1729675299,
"description": "Gas limit doubled to 60M.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 30000000\n+ 60000000\n }\n```"
}
]
},
{
"id": "f7c1dc3f",
"date": "Sat, 12 Oct 2024 07:40:30 GMT",
"timestamp": 1728718830,
"description": "New custom escrow for wstETH, supports rebasable wstETH on L2. Escrowed token is still wstETH.",
"isHighSeverity": true,
"changeCount": 23,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract wstETHEscrow (0x76943C0D61395d8F2edF9060e1533529cAe05dE6) {\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n template:\n- \"lido/L1ERC20TokenBridge\"\n+ \"lido/L1LidoTokensBridge\"\n descriptions.0:\n- \"Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\"\n+ \"Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\"\n values.$implementation:\n- \"0x29C5c51A031165CE62F964966A6399b81165EFA4\"\n+ \"0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4\"\n values.$pastUpgrades.1:\n+ [\"2024-10-11T16:21:11.000Z\",[\"0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.isDepositsEnabled:\n- false\n+ true\n values.l1Token:\n- \"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0\"\n values.l2Token:\n- \"0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb\"\n values.messenger:\n- \"0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1\"\n values.proxy__getImplementation:\n- \"0x29C5c51A031165CE62F964966A6399b81165EFA4\"\n+ \"0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4\"\n values.accesscontrol:\n+ {\"DEFAULT_ADMIN_ROLE\":{\"adminRole\":\"DEFAULT_ADMIN_ROLE\",\"members\":[\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\"]},\"0x4b43b36766bde12c5e9cbbc37d15f8d1f769f08f54720ab370faeb4ce893753a\":{\"adminRole\":\"DEFAULT_ADMIN_ROLE\",\"members\":[\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\"]},\"0x63f736f21cb2943826cd50b191eb054ebbea670e4e962d0527611f830cd399d6\":{\"adminRole\":\"DEFAULT_ADMIN_ROLE\",\"members\":[\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\",\"0x73b047fe6337183A454c5217241D780a932777bD\"]},\"0x9ab8816a3dc0b3849ec1ac00483f6ec815b07eee2fd766a353311c823ad59d0d\":{\"adminRole\":\"DEFAULT_ADMIN_ROLE\",\"members\":[\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\"]},\"0x94a954c0bc99227eddbc0715a62a7e1056ed8784cd719c2303b685683908857c\":{\"adminRole\":\"DEFAULT_ADMIN_ROLE\",\"members\":[\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\",\"0x73b047fe6337183A454c5217241D780a932777bD\"]}}\n values.ACCOUNTING_ORACLE:\n+ \"0x852deD011285fe67063a08005c71a85690503Cee\"\n values.GENESIS_TIME:\n+ 1606824023\n values.getContractVersion:\n+ 2\n values.L1_TOKEN_NON_REBASABLE:\n+ \"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0\"\n values.L1_TOKEN_REBASABLE:\n+ \"0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84\"\n values.L2_TOKEN_NON_REBASABLE:\n+ \"0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb\"\n values.L2_TOKEN_REBASABLE:\n+ \"0x76A50b8c7349cCDDb7578c6627e79b5d99D24138\"\n values.MESSENGER:\n+ \"0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1\"\n values.SECONDS_PER_SLOT:\n+ 12\n values.TOKEN_RATE_DECIMALS:\n+ 27\n values.WSTETH:\n+ \"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0\"\n derivedName:\n- \"L1ERC20TokenBridge\"\n+ \"L1LidoTokensBridge\"\n }\n```"
}
]
},
{
"id": "79c5d08b",
"date": "Tue, 08 Oct 2024 17:23:11 GMT",
"timestamp": 1728408191,
"description": "The deposits on the main Lido escrow for Optimism are paused by the Lido EmergencyBrake Multisig following [an upgrade proposal](https://research.lido.fi/t/steth-on-optimism-upgrade-announcement-and-action-plan/8474) for rebasing L2 stETH. This is a scheduled action and deposits should be reenabled im 2024/10/10.\n\nConfig related: Move to discovery driven data.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract wstETHEscrow (0x76943C0D61395d8F2edF9060e1533529cAe05dE6) {\n +++ description: Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n values.isDepositsEnabled:\n- true\n+ false\n }\n```"
}
]
},
{
"id": "f5eebd45",
"date": "Wed, 25 Sep 2024 09:34:30 GMT",
"timestamp": 1727256870,
"description": "Single signer change in SNX MS (SNX escrow owner).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n +++ description: None\n values.$members.3:\n- \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n+ \"0xcC934A54A2Dc516B2bb0CFE2F73bfA9A87F5341f\"\n }\n```"
}
]
},
{
"id": "a9c6509d",
"date": "Mon, 16 Sep 2024 14:09:19 GMT",
"timestamp": 1726495759,
"description": "Synthetix MS signer changes.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n +++ description: None\n values.$members.7:\n+ \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.$members.6:\n- \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n+ \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.$members.5:\n- \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n+ \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n values.$members.4:\n- \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n+ \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n values.$members.3:\n- \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n+ \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n values.$members.2:\n- \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n+ \"0x26E10fF641839cA457695CE955Cb90657D6E3F53\"\n values.$members.1:\n- \"0x26E10fF641839cA457695CE955Cb90657D6E3F53\"\n+ \"0x1C8236B406911A376369e33D39189F1b4B39F27D\"\n values.$members.0:\n- \"0x1C8236B406911A376369e33D39189F1b4B39F27D\"\n+ \"0x148a2c821687686CFBeEbC138534E05797D65984\"\n values.multisigThreshold:\n- \"4 of 7 (57%)\"\n+ \"4 of 8 (50%)\"\n }\n```"
}
]
},
{
"id": "fd9b3eaa",
"date": "Thu, 12 Sep 2024 07:25:21 GMT",
"timestamp": 1726125921,
"description": "Upgrade 10 part 2. Reactivates proof system and adds ability for guardian module to set anchor state.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8\"\n+ \"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: None\n values.respectedGameType:\n- 1\n+ 0\n values.respectedGameTypeUpdatedAt:\n- 1723833359\n+ 1726070915\n }\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.permissionedGamesTotal:\n- 610\n+ 617\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: None\n```"
}
]
},
{
"id": "41492ef8",
"date": "Wed, 11 Sep 2024 09:31:05 GMT",
"timestamp": 1726047065,
"description": "Upgrade #10: https://gov.optimism.io/t/upgrade-proposal-10-granite-network-upgrade/8733\n\nIt fixes some bugs and adds the ability to the anchor state registry to be set by the guardian.",
"isHighSeverity": true,
"changeCount": 34,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (0x0f8EdFbDdD3c0256A80AD8C0F2560B1807873C9c)\n +++ description: None\n```\n\n```diff\n contract AnchorStateRegistry (0x18DAc71c228D1C32c99489B7323d441E1175e443) {\n +++ description: None\n values.$implementation:\n- \"0x6B7da1647Aa9684F54B2BEeB699F91F31cd35Fb9\"\n+ \"0x1B5CC028A4276597C607907F24E1AC05d3852cFC\"\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.0.0\"\n+ \"2.0.0\"\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"target\":\"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"}\n directlyReceivedPermissions.8.target:\n- \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n directlyReceivedPermissions.7.target:\n- \"0xE497B094d6DbB3D5E4CaAc9a14696D7572588d14\"\n+ \"0x9F9b897e37de5052cD70Db6D08474550DDb07f39\"\n directlyReceivedPermissions.6.target:\n- \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n directlyReceivedPermissions.6.description:\n+ \"upgrading bridge implementation allows to access all funds and change every system component.\"\n directlyReceivedPermissions.5.target:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n directlyReceivedPermissions.5.description:\n- \"upgrading bridge implementation allows to access all funds and change every system component.\"\n directlyReceivedPermissions.4.target:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x82511d494B5C942BE57498a70Fdd7184Ee33B975\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"target\":\"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\",\"via\":[{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.8.target:\n- \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n receivedPermissions.7.target:\n- \"0xE497B094d6DbB3D5E4CaAc9a14696D7572588d14\"\n+ \"0x9F9b897e37de5052cD70Db6D08474550DDb07f39\"\n receivedPermissions.6.target:\n- \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n receivedPermissions.6.description:\n+ \"upgrading bridge implementation allows to access all funds and change every system component.\"\n receivedPermissions.5.target:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.5.description:\n- \"upgrading bridge implementation allows to access all funds and change every system component.\"\n receivedPermissions.4.target:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x82511d494B5C942BE57498a70Fdd7184Ee33B975\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xc307e93a7C530a184c98EaDe4545a412b857b62f)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0xD326E10B8186e90F4E2adc5c13a2d0C137ee8b34)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0xE497B094d6DbB3D5E4CaAc9a14696D7572588d14)\n +++ description: None\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.gameImpls.1:\n- \"0xc307e93a7C530a184c98EaDe4545a412b857b62f\"\n+ \"0x050ed6F6273c7D836a111E42153BC00D0380b87d\"\n values.gameImpls.0:\n- \"0xf691F8A6d908B58C534B624cF16495b491E633BA\"\n+ \"0xA6f3DFdbf4855a43c529bc42EDE96797252879af\"\n values.permissionedGamesTotal:\n- 493\n+ 610\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0xf691F8A6d908B58C534B624cF16495b491E633BA)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x050ed6F6273c7D836a111E42153BC00D0380b87d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionlessGames (0x82511d494B5C942BE57498a70Fdd7184Ee33B975)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionedGames (0x9F9b897e37de5052cD70Db6D08474550DDb07f39)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xA6f3DFdbf4855a43c529bc42EDE96797252879af)\n +++ description: None\n```"
}
]
},
{
"id": "958f54b1",
"date": "Fri, 06 Sep 2024 11:28:35 GMT",
"timestamp": 1725622115,
"description": "One signer of SynthetixMultisig is replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.permissionedGamesTotal:\n- 326\n+ 493\n }\n```\n\n```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n +++ description: None\n values.$members.0:\n- \"0xe2163dd599067919d1e9108929b568Bf41D3A420\"\n+ \"0x1C8236B406911A376369e33D39189F1b4B39F27D\"\n }\n```"
}
]
},
{
"id": "c0e3f371",
"date": "Fri, 30 Aug 2024 10:28:19 GMT",
"timestamp": 1725013699,
"description": "Synthetix MS changes (owns the SNX escrow).\n\nOptimism is meanwhile still using the fallback centralized FPs.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.permissionedGamesTotal:\n- 17\n+ 326\n }\n```\n\n```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n +++ description: None\n values.$members.10:\n- \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.$members.9:\n- \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n values.$members.8:\n- \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n values.$members.7:\n- \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.$members.6:\n- \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n+ \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.$members.5:\n- \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n+ \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.$members.4:\n- \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n+ \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n values.$members.3:\n- \"0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0\"\n+ \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n values.$threshold:\n- 5\n+ 4\n values.multisigThreshold:\n- \"5 of 11 (45%)\"\n+ \"4 of 7 (57%)\"\n }\n```"
}
]
},
{
"id": "a259c851",
"date": "Sat, 17 Aug 2024 12:04:40 GMT",
"timestamp": 1723896280,
"description": "OP Mainnet has used the fall back to activate permissioned games.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: None\n values.respectedGameType:\n- 0\n+ 1\n values.respectedGameTypeUpdatedAt:\n- 1718037779\n+ 1723833359\n }\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.permissionedGamesTotal:\n- 0\n+ 17\n }\n```"
}
]
},
{
"id": "c1cc2483",
"date": "Fri, 12 Jul 2024 12:08:02 GMT",
"timestamp": 1720786082,
"description": "These changes are due to the [OP Mainnet 'Fjord' upgrade](https://gov.optimism.io/t/upgrade-proposal-9-fjord-network-upgrade/8236) which, on the L1, affects the fault proof related contracts in order to introduce the new op-program pre-state hash (otherwise code-identical).\n\n### Fjord upgrade TLDR\n\n- secp256r1 precompile\n- brotli channel compression\n- FastLZ based DA fee calculation\n- max sequencer drift (time delta between L2 block ts and according epoch ts derived from L1) raised from 10 to 30 minutes",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract FaultDisputeGame (0x4146DF64D83acB0DcB0c1a4884a16f090165e122)\n +++ description: None\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.gameImpls.1:\n- \"0xE9daD167EF4DE8812C1abD013Ac9570C616599A0\"\n+ \"0xc307e93a7C530a184c98EaDe4545a412b857b62f\"\n values.gameImpls.0:\n- \"0x4146DF64D83acB0DcB0c1a4884a16f090165e122\"\n+ \"0xf691F8A6d908B58C534B624cF16495b491E633BA\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xE9daD167EF4DE8812C1abD013Ac9570C616599A0)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xc307e93a7C530a184c98EaDe4545a412b857b62f)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xf691F8A6d908B58C534B624cF16495b491E633BA)\n +++ description: None\n```"
}
]
},
{
"id": "24594bfa",
"date": "Fri, 12 Jul 2024 11:52:45 GMT",
"timestamp": 1720785165,
"description": "The changes are due to the [OP Mainnet 'Fjord' upgrade](https://gov.optimism.io/t/upgrade-proposal-9-fjord-network-upgrade/8236).\n\nThe GasPriceOracle predeploy is changed to use a FastLZ-based compression estimator for gas price estimation. (compare [the spec](https://github.com/ethereum-optimism/specs/blob/main/specs/protocol/fjord/exec-engine.md#fees))",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: None\n values.$implementation:\n- \"0xb528D11cC114E026F138fE568744c6D45ce6Da7A\"\n+ \"0xa919894851548179A0750865e7974DA599C0Fac7\"\n values.baseFeeScalar:\n- 1368\n+ 5227\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n values.isFjord:\n+ true\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: None\n values.baseFeeScalar:\n- 1368\n+ 5227\n }\n```"
}
]
},
{
"id": "50024322",
"date": "Fri, 28 Jun 2024 07:31:54 GMT",
"timestamp": 1719559914,
"description": "Changed SystemConfig owner from FoundationMultisig_2 (5/7) to FoundationMultisig_1 (5/7).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n values.owner:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x847B5c174615B1B7fDF770882256e2D3E95b9D92\"\n }\n```"
}
]
},
{
"id": "aeff10bd",
"date": "Tue, 11 Jun 2024 10:11:02 GMT",
"timestamp": 1718100662,
"description": "The ProxyAdmin owner is now the same as L1 (but aliased).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract InternalProxyAdminOwnerMultisig1 (0x28B1eE885034ccD2d5Fa228a9A3157390D27177C)\n +++ description: None\n```\n\n```diff\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018) {\n +++ description: None\n values.owner:\n- \"0x7871d1187A97cbbE40710aC119AA3d412944e4Fe\"\n+ \"0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2ProxyAdminOwner (0x7871d1187A97cbbE40710aC119AA3d412944e4Fe)\n +++ description: None\n```"
}
]
},
{
"id": "d86b3fe1",
"date": "Tue, 11 Jun 2024 08:53:37 GMT",
"timestamp": 1718096017,
"description": "Introduction of permissionless fraud proofs and permissions update to be Stage 1.",
"isHighSeverity": true,
"changeCount": 38,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n upgradeability.implementation:\n- \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n+ \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n implementations.0:\n- \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n+ \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"0xdfe97868233d1aa22e815a266982f2cf17685a27\"\n values.version:\n- \"1.12.0\"\n+ \"2.2.0\"\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n values.maximumGasLimit:\n+ 200000000\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: None\n values.guardian:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n }\n```\n\n```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: None\n upgradeability.implementation:\n- \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n+ \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n implementations.0:\n- \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n+ \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.guardian:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.GUARDIAN:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.L2_ORACLE:\n- \"0xdfe97868233d1aa22e815a266982f2cf17685a27\"\n values.l2Oracle:\n- \"0xdfe97868233d1aa22e815a266982f2cf17685a27\"\n values.SYSTEM_CONFIG:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n values.version:\n- \"2.5.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.respectedGameType:\n+ 0\n values.respectedGameTypeUpdatedAt:\n+ 1718037779\n derivedName:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n upgradeability.modules.0:\n+ \"0x0454092516c9A4d636d3CAfA1e82161376C8a748\"\n upgradeability.threshold:\n- \"4 of 13 (31%)\"\n+ \"10 of 13 (77%)\"\n values.getThreshold:\n- 4\n+ 10\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (0xdfe97868233d1aa22e815a266982f2cf17685a27)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x0f8EdFbDdD3c0256A80AD8C0F2560B1807873C9c)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x18DAc71c228D1C32c99489B7323d441E1175e443)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x4146DF64D83acB0DcB0c1a4884a16f090165e122)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0xD326E10B8186e90F4E2adc5c13a2d0C137ee8b34)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xE497B094d6DbB3D5E4CaAc9a14696D7572588d14)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xE9daD167EF4DE8812C1abD013Ac9570C616599A0)\n +++ description: None\n```"
}
]
},
{
"id": "d08e5860",
"date": "Wed, 05 Jun 2024 10:52:26 GMT",
"timestamp": 1717584746,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 22,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract InternalProxyAdminOwnerMultisig1 (0x28B1eE885034ccD2d5Fa228a9A3157390D27177C)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MintManagerOwner (0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeployerWhitelist (0x4200000000000000000000000000000000000002)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1FeeVault (0x420000000000000000000000000000000000001A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OPToken (0x4200000000000000000000000000000000000042)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OldQuixoticNFTBridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MintManager (0x5C4e7Ba1E219E47948e6e3F55019A647bA501005)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdminOwner (0x7871d1187A97cbbE40710aC119AA3d412944e4Fe)\n +++ description: None\n```"
}
]
},
{
"id": "1a8c413b",
"date": "Wed, 05 Jun 2024 10:52:13 GMT",
"timestamp": 1717584733,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract FeesCollector (0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa)\n +++ description: None\n```"
}
]
},
{
"id": "f0162ec3",
"date": "Wed, 15 May 2024 13:52:02 GMT",
"timestamp": 1715781122,
"description": "One signer of the SynthetixMultisig (governing the SNX escrow) has been replaced: `0xEde8a407913A874Dd7e3d5B731AFcA135D30375E` replaced by `0xe2163dd599067919d1e9108929b568Bf41D3A420`.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n +++ description: None\n values.getOwners.10:\n- \"0xEde8a407913A874Dd7e3d5B731AFcA135D30375E\"\n+ \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.getOwners.9:\n- \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n+ \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n values.getOwners.8:\n- \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n+ \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n values.getOwners.7:\n- \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n+ \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.getOwners.6:\n- \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n+ \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n values.getOwners.5:\n- \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n+ \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n values.getOwners.4:\n- \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n+ \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n values.getOwners.3:\n- \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n+ \"0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0\"\n values.getOwners.2:\n- \"0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0\"\n+ \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n values.getOwners.1:\n- \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n+ \"0x26E10fF641839cA457695CE955Cb90657D6E3F53\"\n values.getOwners.0:\n- \"0x26E10fF641839cA457695CE955Cb90657D6E3F53\"\n+ \"0xe2163dd599067919d1e9108929b568Bf41D3A420\"\n }\n```"
}
]
},
{
"id": "234c8021",
"date": "Fri, 12 Apr 2024 12:08:01 GMT",
"timestamp": 1712923681,
"description": "Summary and rationale of the changes: \n\n### SystemConfig\n\nThe SystemConfig now contains the addresses of all the contracts.\n\n### OptimismPortal\n\nThe L2OutputOracle and the SystemConfig variables are no longer immutable. They're only modifiable via an upgrade, but now there is the advantage that different chains can share the same implementation: if they are immutable, the address is hardcoded into the bytecode instead, but now the only things that changes is the state of the proxy.\n\n### L2OutputOracle\n\nImmutable variables, including the challenger and the proposer are no longer immutable.\n\n### L1StandardBridge\n\nThe messenger and other bridge on L2 are no longer immutable.\n\n### L1CrossDomainMessenger\n\nThe OptimismPortal variable is no longer immutable.",
"isHighSeverity": true,
"changeCount": 37,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n upgradeability.implementation:\n- \"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n implementations.0:\n- \"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n values.version:\n- \"1.11.0\"\n+ \"1.12.0\"\n values.BATCH_INBOX_SLOT:\n+ \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n+ \"0xFF00000000000000000000000000000000000010\"\n values.L1_CROSS_DOMAIN_MESSENGER_SLOT:\n+ \"0x383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580636\"\n values.L1_ERC_721_BRIDGE_SLOT:\n+ \"0x46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a7\"\n values.L1_STANDARD_BRIDGE_SLOT:\n+ \"0x9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6376\"\n values.l1CrossDomainMessenger:\n+ \"0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1\"\n values.l1ERC721Bridge:\n+ \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n values.l1StandardBridge:\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n values.L2_OUTPUT_ORACLE_SLOT:\n+ \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n+ \"0xdfe97868233d1aa22e815a266982f2cf17685a27\"\n values.OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT:\n+ \"0xa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320c\"\n values.OPTIMISM_PORTAL_SLOT:\n+ \"0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac\"\n values.optimismMintableERC20Factory:\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n values.optimismPortal:\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n values.START_BLOCK_SLOT:\n+ \"0xa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb19f\"\n values.startBlock:\n+ 17422444\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: None\n upgradeability.implementation:\n- \"0xa95B24af19f8907390eD15f8348A1a5e6Ccbc5C6\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n implementations.0:\n- \"0xa95B24af19f8907390eD15f8348A1a5e6Ccbc5C6\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.otherMessenger:\n+ \"0x4200000000000000000000000000000000000007\"\n }\n```\n\n```diff\n contract ProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n values.nonce:\n- 1\n+ 2\n }\n```\n\n```diff\n contract FoundationMultisig_1 (0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.nonce:\n- 1\n+ 2\n }\n```\n\n```diff\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: None\n upgradeability.implementation:\n- \"0x566511a1A09561e2896F8c0fD77E8544E59bFDB0\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n implementations.0:\n- \"0x566511a1A09561e2896F8c0fD77E8544E59bFDB0\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.version:\n- \"2.0.0\"\n+ \"2.1.0\"\n }\n```\n\n```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: None\n upgradeability.implementation:\n- \"0xaBAbe63514dDd6277356F8cc3d6518aA8BDEB4de\"\n+ \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n implementations.0:\n- \"0xaBAbe63514dDd6277356F8cc3d6518aA8BDEB4de\"\n+ \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n }\n```\n\n```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.nonce:\n- 1\n+ 2\n }\n```\n\n```diff\n contract L2OutputOracle (0xdfe97868233d1aa22e815a266982f2cf17685a27) {\n +++ description: None\n upgradeability.implementation:\n- \"0xDb5d932AF15D00F879CaBEbf008caDAAAa691e06\"\n+ \"0xF243BEd163251380e78068d317ae10f26042B292\"\n implementations.0:\n- \"0xDb5d932AF15D00F879CaBEbf008caDAAAa691e06\"\n+ \"0xF243BEd163251380e78068d317ae10f26042B292\"\n values.version:\n- \"1.7.0\"\n+ \"1.8.0\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x75505a97BD334E7BD3C476893285569C4136Fa0F)\n +++ description: None\n```"
}
]
},
{
"id": "c1fdae5b",
"date": "Thu, 14 Mar 2024 00:15:18 GMT",
"timestamp": 1710375318,
"description": "Optimism uses blobs",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n values.opStackDA.isSequencerSendingBlobTx:\n- false\n+ true\n values.overhead:\n- 188\n+ 0\n values.scalar:\n- 684000\n+ \"452312848583266388373324160190187140051835877600158453279134670530344387928\"\n }\n```"
}
]
},
{
"id": "34096a96",
"date": "Wed, 06 Mar 2024 22:46:02 GMT",
"timestamp": 1709765162,
"description": "Introduced SuperchainConfig contract, able to pause the following functions:\nOptimismPortal.proveWithdrawalTransaction()\nOptimismPortal.finalizeWithdrawalTransaction()\nL1CrossDomainMessenger.relayMessage()\nStandardBridge.finalizeBridgeERC20()\nStandardBridge.finalizeBridgeETH()\nL1ERC721Bridge.finalizeBridgeERC721().",
"isHighSeverity": true,
"changeCount": 34,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n upgradeability.implementation:\n- \"0x5efa852e92800D1C982711761e45c3FE39a2b6D8\"\n+ \"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"\n implementations.0:\n- \"0x5efa852e92800D1C982711761e45c3FE39a2b6D8\"\n+ \"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"\n values.version:\n- \"1.3.0\"\n+ \"1.11.0\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: None\n upgradeability.implementation:\n- \"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"\n+ \"0xa95B24af19f8907390eD15f8348A1a5e6Ccbc5C6\"\n implementations.0:\n- \"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"\n+ \"0xa95B24af19f8907390eD15f8348A1a5e6Ccbc5C6\"\n values.version:\n- \"1.4.0\"\n+ \"2.2.0\"\n values.paused:\n+ false\n values.portal:\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract ProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n values.nonce:\n- 0\n+ 1\n }\n```\n\n```diff\n contract FoundationMultisig_1 (0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.nonce:\n- 0\n+ 1\n }\n```\n\n```diff\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: None\n upgradeability.implementation:\n- \"0xBFB731Cd36D26c2a7287716DE857E4380C73A64a\"\n+ \"0x566511a1A09561e2896F8c0fD77E8544E59bFDB0\"\n implementations.0:\n- \"0xBFB731Cd36D26c2a7287716DE857E4380C73A64a\"\n+ \"0x566511a1A09561e2896F8c0fD77E8544E59bFDB0\"\n values.version:\n- \"1.1.0\"\n+ \"2.0.0\"\n values.otherBridge:\n+ \"0x4200000000000000000000000000000000000010\"\n values.paused:\n+ false\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: None\n upgradeability.implementation:\n- \"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"\n+ \"0xaBAbe63514dDd6277356F8cc3d6518aA8BDEB4de\"\n implementations.0:\n- \"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"\n+ \"0xaBAbe63514dDd6277356F8cc3d6518aA8BDEB4de\"\n values.version:\n- \"1.6.0\"\n+ \"2.4.0\"\n values.guardian:\n+ \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.l2Oracle:\n+ \"0xdfe97868233d1aa22e815a266982f2cf17685a27\"\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.systemConfig:\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n }\n```\n\n```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.nonce:\n- 0\n+ 1\n }\n```\n\n```diff\n contract L2OutputOracle (0xdfe97868233d1aa22e815a266982f2cf17685a27) {\n +++ description: None\n upgradeability.implementation:\n- \"0xd2E67B6a032F0A9B1f569E63ad6C38f7342c2e00\"\n+ \"0xDb5d932AF15D00F879CaBEbf008caDAAAa691e06\"\n implementations.0:\n- \"0xd2E67B6a032F0A9B1f569E63ad6C38f7342c2e00\"\n+ \"0xDb5d932AF15D00F879CaBEbf008caDAAAa691e06\"\n values.version:\n- \"1.3.0\"\n+ \"1.7.0\"\n values.challenger:\n+ \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.finalizationPeriodSeconds:\n+ 604800\n values.l2BlockTime:\n+ 2\n values.proposer:\n+ \"0x473300df21D047806A082244b417f96b32f13A33\"\n values.submissionInterval:\n+ 1800\n }\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: None\n```"
}
]
},
{
"id": "db0d2b31",
"date": "Mon, 12 Feb 2024 08:28:31 GMT",
"timestamp": 1707726511,
"description": "The Security Council is introduced, but with a 4/13 threshold. Now the multisig owning the ProxyAdmin is a 2/2 with the Foundation multisig and the Security Council multisig.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n values.owner:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract FoundationMultisig_1 (0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n }\n```"
}
]
},
{
"id": "926d8522",
"date": "Mon, 08 Jan 2024 11:19:28 GMT",
"timestamp": 1704712768,
"description": "One owner is removed from SynthetixMultisig (now 5/11).",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n values.getOwners[11]:\n- \"0xEde8a407913A874Dd7e3d5B731AFcA135D30375E\"\n values.getOwners.10:\n- \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n+ \"0xEde8a407913A874Dd7e3d5B731AFcA135D30375E\"\n values.getOwners.9:\n- \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n+ \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.getOwners.8:\n- \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n+ \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n values.getOwners.7:\n- \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n+ \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n values.getOwners.6:\n- \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n+ \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.getOwners.5:\n- \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n+ \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n values.getOwners.4:\n- \"0x6985b94Db148eDd4df6BD1Ba3F4640da79B44947\"\n+ \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n values.getOwners.0:\n- \"0xd9b891AB93C210eafa46c61fAeb53836F99aa35B\"\n+ \"0x26E10fF641839cA457695CE955Cb90657D6E3F53\"\n }\n```"
}
]
},
{
"id": "ca61cf40",
"date": "Wed, 03 Jan 2024 13:33:11 GMT",
"timestamp": 1704288791,
"description": "SynthetixMultisig has removed one owner. We are not showing it on the frontend. If it changes often, we can ignore it but for now I'll leave it as it is.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n values.getOwners[12]:\n- \"0xEde8a407913A874Dd7e3d5B731AFcA135D30375E\"\n values.getOwners.11:\n- \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n+ \"0xEde8a407913A874Dd7e3d5B731AFcA135D30375E\"\n values.getOwners.10:\n- \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n+ \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.getOwners.9:\n- \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n+ \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n values.getOwners.8:\n- \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n+ \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n values.getOwners.7:\n- \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n+ \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.getOwners.6:\n- \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n+ \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n values.getOwners.5:\n- \"0x6985b94Db148eDd4df6BD1Ba3F4640da79B44947\"\n+ \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n values.getOwners.4:\n- \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n+ \"0x6985b94Db148eDd4df6BD1Ba3F4640da79B44947\"\n values.getOwners.3:\n- \"0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0\"\n+ \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n values.getOwners.2:\n- \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n+ \"0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0\"\n values.getOwners.1:\n- \"0xd9b891AB93C210eafa46c61fAeb53836F99aa35B\"\n+ \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n values.getOwners.0:\n- \"0x28Ed18Bd77A061E0A886a2a8FFb91da95FF03E56\"\n+ \"0xd9b891AB93C210eafa46c61fAeb53836F99aa35B\"\n }\n```"
}
]
},
{
"id": "2c04a739",
"date": "Tue, 26 Sep 2023 08:05:22 GMT",
"timestamp": 1695715522,
"description": "",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2OutputOracle (0xdfe97868233d1aa22e815a266982f2cf17685a27) {\n values.deletedOutputs:\n+ []\n }\n```"
}
]
}
]
+19 -5
+4 -4
{
"addresses": {
"ethereum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x0aeAe1A2A6f24284aA676B1E93f44AdC1A712850",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x53E276D701Fc2338F6F015B0038Ce8ba3d5d01CC"
],
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 1\n * **getValidators**: EOA 10\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0aeAe1A2A6f24284aA676B1E93f44AdC1A712850#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "eth:0x1791EDF1415432195D737d067b2118C3F303D2C3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1791EDF1415432195D737d067b2118C3F303D2C3#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x93CA3db0dF3e78e798004bbE14e1ADE222B14dFa",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748890679,
"transactionHash": "0x5a9a59a542c09412187212f420d2efaa1a8de9ea679991d25d64776068ac5631",
"implementations": [
"eth:0xD2f1C58Da62BCfaD4BeF7802B2F6363C2cbe7082"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **batchPosters**: EOA 1, EOA 2, EOA 3, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x93CA3db0dF3e78e798004bbE14e1ADE222B14dFa#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0xd3643255ea784c75a5325CC5a4A549C7CD62E499",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748890679,
"transactionHash": "0x5a9a59a542c09412187212f420d2efaa1a8de9ea679991d25d64776068ac5631",
"implementations": [
"eth:0x4c62131fFb67348A95B4d2665A8298A1f93A1E65"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd3643255ea784c75a5325CC5a4A549C7CD62E499#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x53E276D701Fc2338F6F015B0038Ce8ba3d5d01CC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748890679,
"transactionHash": "0x5a9a59a542c09412187212f420d2efaa1a8de9ea679991d25d64776068ac5631",
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **executors**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x53E276D701Fc2338F6F015B0038Ce8ba3d5d01CC#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0xd2E3B3be0ddA5E3214f551aF5A4f4049b9D031A9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748890679,
"transactionHash": "0x5a9a59a542c09412187212f420d2efaa1a8de9ea679991d25d64776068ac5631",
"implementations": [
"eth:0x1f24EDD5161f82588007f33B72b0b28e46cCE878"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd2E3B3be0ddA5E3214f551aF5A4f4049b9D031A9#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0xE92Df19F4e0Fd067FE3b788Cf03ffD06Cd9Be4A7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748890679,
"transactionHash": "0x5a9a59a542c09412187212f420d2efaa1a8de9ea679991d25d64776068ac5631",
"implementations": [
"eth:0x4b4fdb082b44490c9AEEd91C932c3E33AAbfF653"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE92Df19F4e0Fd067FE3b788Cf03ffD06Cd9Be4A7#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x16a93209382236236e964b9C22853e34C3095028",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x16a93209382236236e964b9C22853e34C3095028#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x29efff3EfE3E01A3F69011a054C33410edFc2283",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x29efff3EfE3E01A3F69011a054C33410edFc2283#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x7368F782E109518fD3914e8b315eE45E51C15835",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7368F782E109518fD3914e8b315eE45E51C15835#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0xd1AF4aD8Be9a8A2f288048140c6E6380420c55fA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748890679,
"transactionHash": "0x5a9a59a542c09412187212f420d2efaa1a8de9ea679991d25d64776068ac5631",
"implementations": [
"eth:0xb0f031Cd10598c6b4C33FcE1675F26CF937091da"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd1AF4aD8Be9a8A2f288048140c6E6380420c55fA#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60#code"
}
]
},
"escrows": [
{
"address": "0xd3643255ea784c75a5325CC5a4A549C7CD62E499",
"sinceTimestamp": 1748890679,
"tokens": [
"PEPU"
],
"contract": {
"isVerified": true,
"address": "eth:0xd3643255ea784c75a5325CC5a4A549C7CD62E499",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748890679,
"transactionHash": "0x5a9a59a542c09412187212f420d2efaa1a8de9ea679991d25d64776068ac5631",
"implementations": [
"eth:0x4c62131fFb67348A95B4d2665A8298A1f93A1E65"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows PEPU sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xd3643255ea784c75a5325CC5a4A549C7CD62E499#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"title": "ArbOS wasmModuleRoot v61",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v61/arbos",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~95 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v61` . Commit hash should be `dfab1dea5c8d2c5089eb26d22ad6239bb78cfa5d`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Fix a dependency on a private repo in `Dockerfile`: replace line `RUN --mount=type=secret,id=gh_token,required=false ./download-machine.sh consensus-v60-rc.3 0xeadc910d36a0eab43a3dd7acb1a3513885e333785689c7cf750b9949c5bb7227 OffchainLabs/nitro-private` with `RUN ./download-machine.sh consensus-v60-rc.5 0x7a9e6a77354888257a9989ce0b6bb39df5fedf222d453932933fdf7a489cbb57`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97"
}
],
"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": 1787668995,
"baseTimestamp": 1792490887,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "1f2c764a",
"date": "Tue, 20 Oct 2026 10:09:23 GMT",
"timestamp": 1792490887,
"description": "RollupProxy: ArbOS v51 → v61 wasm module root, executed by Conduit Multisig 1 through the UpgradeExecutor.",
"isHighSeverity": true,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (eth:0x0aeAe1A2A6f24284aA676B1E93f44AdC1A712850) [orbitstack/RollupProxyBoLD] {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v51 wasmModuleRoot\"\n+ \"ArbOS v61 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n+++ severity: HIGH\n values.wasmModuleRoot:\n- \"0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499\"\n+ \"0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97\"\n }\n```"
}
]
},
{
"id": "54ddde5b",
"date": "Tue, 25 Aug 2026 14:44:18 GMT",
"timestamp": 1787668995,
"description": "Conduit Multisig 1: member added; threshold 4/10 → 4/11. Also config-related: the shared wasmModuleRoot type map gained the ArbOS v61 label.",
"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": "48e366b6",
"date": "Thu, 11 Jun 2026 11:27:20 GMT",
"timestamp": 1781177167,
"description": "Conduit Multisig 1 dropped two signers.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.4:\n- \"eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007\"\n values.$members.8:\n- \"eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "b4e24e02",
"date": "Tue, 02 Jun 2026 11:14:28 GMT",
"timestamp": 1780398796,
"description": "Conduit Multisig 1 rotated one signer (operator key `0x3840…fd5f` → `0xcdC9…4853`); same rotation propagated across Conduit Multisigs 1/2/3 on eth/arb1/base.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xcdC931935768c0562AfE989A366a3Dc4d52F4853\"\n values.$members.8:\n- \"eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n }\n```"
}
]
},
{
"id": "2c501e30",
"date": "Tue, 05 May 2026 15:19:21 GMT",
"timestamp": 1777994296,
"description": "Conduit Multisig 1 (`eth:0x4a496227...`) — signer `0x381624F7` removed. Threshold unchanged at 4; total signers 13 → 12 (31% → 33%). Shared multisig (referenced by multiple Conduit-managed chains).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.1:\n- \"eth:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07\"\n values.multisigThreshold:\n- \"4 of 13 (31%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "8cc0ab66",
"date": "Wed, 11 Feb 2026 15:35:00 GMT",
"timestamp": 1770824036,
"description": "Upgrade to BoLD dispute protocol and ArbOS v51 \"Dia\" (nitro-contracts v3.1.0+).\n\nRollupProxy replaced with a new BoLD-enabled contract (`isPostBoLD: true`). Assertion-based state management replaces the old node-based system. Validators stake 0.1 ETH (WETH), validator whitelist remains enabled.\n\nChallengeManager replaced with EdgeChallengeManager implementing the BoLD multi-level bisection protocol: block-level edges (height 67M), 1 big-step level (height 524K), small-step edges (height 8.4M), with 0.1 ETH stake for big-step and small-step edges.\n\nAll core contracts upgraded: Bridge, Inbox, Outbox, RollupEventInbox, SequencerInbox. SequencerInbox gains delay buffer support (`isDelayBufferable: true`, currently set to max/disabled) and `feeTokenPricer` field. `delayBlocks` increased from 5760 to 7200.\n\nAll four OneStepProvers and OneStepProofEntry replaced with new versions. ValidatorUtils removed (no longer needed in BoLD).\n\nArbOS updated to v51 \"Dia\" (wasmModuleRoot `0x8a7513bf...`), adding Ethereum Fusaka support (secp256r1, BLS12-381, CLZ opcode), improved gas pricing, and native token mint/burn support.",
"isHighSeverity": true,
"changeCount": 68,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract OneStepProverMath (eth:0x036147913eEb42E97790F9a693246c8444290AB6)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract ProxyAdmin (eth:0x16a93209382236236e964b9C22853e34C3095028) {\n +++ description: None\n directlyReceivedPermissions.0:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x1791EDF1415432195D737d067b2118C3F303D2C3\",\"role\":\"admin\"}\n directlyReceivedPermissions.1:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x5d4D873DbF02417b15D98c8C90948318a124f4E0\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMemory (eth:0x21c6F81b1063f09A6c26EDc74fBb9beb349A5E96)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverHostIo (eth:0x231173CC90cB8486A7dbD1733B5105254316D50A)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x0aeAe1A2A6f24284aA676B1E93f44AdC1A712850\",\"description\":\"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability and DACs, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x53E276D701Fc2338F6F015B0038Ce8ba3d5d01CC\"}]}\n receivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0aeAe1A2A6f24284aA676B1E93f44AdC1A712850\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x53E276D701Fc2338F6F015B0038Ce8ba3d5d01CC\"}]}\n receivedPermissions.0.via.0:\n+ {\"address\":\"eth:0x16a93209382236236e964b9C22853e34C3095028\"}\n receivedPermissions.0.role:\n- \".owner\"\n+ \"admin\"\n receivedPermissions.0.description:\n- \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n receivedPermissions.0.from:\n- \"eth:0xf8b75AB2df57bB2d1EfC90dD218821E0314f5143\"\n+ \"eth:0x1791EDF1415432195D737d067b2118C3F303D2C3\"\n receivedPermissions.0.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.2:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x5d4D873DbF02417b15D98c8C90948318a124f4E0\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x16a93209382236236e964b9C22853e34C3095028\"},{\"address\":\"eth:0x53E276D701Fc2338F6F015B0038Ce8ba3d5d01CC\"}]}\n receivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xf8b75AB2df57bB2d1EfC90dD218821E0314f5143\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x53E276D701Fc2338F6F015B0038Ce8ba3d5d01CC\"}]}\n }\n```\n\n```diff\n contract UpgradeExecutor (eth:0x53E276D701Fc2338F6F015B0038Ce8ba3d5d01CC) {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n directlyReceivedPermissions.1.description:\n- \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n+ \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability and DACs, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n directlyReceivedPermissions.1.from:\n- \"eth:0xf8b75AB2df57bB2d1EfC90dD218821E0314f5143\"\n+ \"eth:0x0aeAe1A2A6f24284aA676B1E93f44AdC1A712850\"\n directlyReceivedPermissions.2.from:\n- \"eth:0xf8b75AB2df57bB2d1EfC90dD218821E0314f5143\"\n+ \"eth:0x0aeAe1A2A6f24284aA676B1E93f44AdC1A712850\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ChallengeManager (eth:0x5d4D873DbF02417b15D98c8C90948318a124f4E0)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProver0 (eth:0x72b55c2C38EadE57C10047746632A369A060A46E)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract ValidatorUtils (eth:0x84eA2523b271029FFAeB58fc6E6F1435a280db44)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n contract SequencerInbox (eth:0x93CA3db0dF3e78e798004bbE14e1ADE222B14dFa) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.1:\n- \"0x6bb86ac4bd0d31e049f543fcf0a8f94c952252222f115246ef9d5b8104d803cc\"\n+ \"0xb57f3e67e08492b235337cda4f3ea0117e3e043cceaf8e9a7a51b57611ba99de\"\n values.$implementation:\n- \"eth:0xD2f1C58Da62BCfaD4BeF7802B2F6363C2cbe7082\"\n+ \"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324\"\n values.$pastUpgrades.1:\n+ [\"2026-02-09T09:22:35.000Z\",\"0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461\",[\"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.maxTimeVariation.delayBlocks:\n- 5760\n+ 7200\n values.reader4844:\n- \"eth:0xf15a3c17FE45415acE1bBb87157487B9a3F50169\"\n+ \"eth:0xB1F1A77AB63671a6355Fa5c8423f436118943411\"\n values.rollup:\n- \"eth:0xf8b75AB2df57bB2d1EfC90dD218821E0314f5143\"\n+ \"eth:0x0aeAe1A2A6f24284aA676B1E93f44AdC1A712850\"\n values.feeTokenPricer:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isDelayBufferable:\n+ true\n implementationNames.eth:0xD2f1C58Da62BCfaD4BeF7802B2F6363C2cbe7082:\n- \"SequencerInbox\"\n implementationNames.eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324:\n+ \"SequencerInbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProofEntry (eth:0x9f403f2054736884518E6D3f510C02f5959BDCC6)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract RollupEventInbox (eth:0xd1AF4aD8Be9a8A2f288048140c6E6380420c55fA) {\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n sourceHashes.1:\n- \"0x35bd9f6436158f2147578ce95b85de68f435e81f1f3ed3858f7523a8c4825a1a\"\n+ \"0x089ac3cec821c0f014f284ec4ec1039ef6bc50b6ad3ee47c82e20af65cc30c33\"\n values.$implementation:\n- \"eth:0xb0f031Cd10598c6b4C33FcE1675F26CF937091da\"\n+ \"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe\"\n values.$pastUpgrades.1:\n+ [\"2026-02-09T09:22:35.000Z\",\"0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461\",[\"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"eth:0xf8b75AB2df57bB2d1EfC90dD218821E0314f5143\"\n+ \"eth:0x0aeAe1A2A6f24284aA676B1E93f44AdC1A712850\"\n implementationNames.eth:0xb0f031Cd10598c6b4C33FcE1675F26CF937091da:\n- \"ERC20RollupEventInbox\"\n implementationNames.eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe:\n+ \"ERC20RollupEventInbox\"\n }\n```\n\n```diff\n EOA (eth:0xd1e56283216127E1F40A3752735C94A13d97bc92) {\n +++ description: None\n receivedPermissions.0.role:\n- \".validators\"\n+ \".getValidators\"\n receivedPermissions.0.from:\n- \"eth:0xf8b75AB2df57bB2d1EfC90dD218821E0314f5143\"\n+ \"eth:0x0aeAe1A2A6f24284aA676B1E93f44AdC1A712850\"\n }\n```\n\n```diff\n contract Outbox (eth:0xd2E3B3be0ddA5E3214f551aF5A4f4049b9D031A9) {\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n values.$implementation:\n- \"eth:0x1f24EDD5161f82588007f33B72b0b28e46cCE878\"\n+ \"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386\"\n values.$pastUpgrades.1:\n+ [\"2026-02-09T09:22:35.000Z\",\"0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461\",[\"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"eth:0xf8b75AB2df57bB2d1EfC90dD218821E0314f5143\"\n+ \"eth:0x0aeAe1A2A6f24284aA676B1E93f44AdC1A712850\"\n implementationNames.eth:0x1f24EDD5161f82588007f33B72b0b28e46cCE878:\n- \"ERC20Outbox\"\n implementationNames.eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386:\n+ \"ERC20Outbox\"\n }\n```\n\n```diff\n contract Bridge (eth:0xd3643255ea784c75a5325CC5a4A549C7CD62E499) {\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n sourceHashes.1:\n- \"0xed8d9d55e8e0eb2bf48be3c3db0297f972f5f7b8062cacd31007ec5301db39c5\"\n+ \"0x7f62b9bd4a0aac711ca355a523b1d934ab93ae14c5fae5a860c0ded42ee5a3c3\"\n values.$implementation:\n- \"eth:0x4c62131fFb67348A95B4d2665A8298A1f93A1E65\"\n+ \"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6\"\n values.$pastUpgrades.1:\n+ [\"2026-02-09T09:22:35.000Z\",\"0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461\",[\"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"eth:0xf8b75AB2df57bB2d1EfC90dD218821E0314f5143\"\n+ \"eth:0x0aeAe1A2A6f24284aA676B1E93f44AdC1A712850\"\n implementationNames.eth:0x4c62131fFb67348A95B4d2665A8298A1f93A1E65:\n- \"ERC20Bridge\"\n implementationNames.eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6:\n+ \"ERC20Bridge\"\n }\n```\n\n```diff\n contract Inbox (eth:0xE92Df19F4e0Fd067FE3b788Cf03ffD06Cd9Be4A7) {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n sourceHashes.1:\n- \"0x25984fdfffb8141859c99299fb29e7a7460732d77111e5fe23792baa99f336a3\"\n+ \"0x82dad78abdf27e168de1ae177b8055db4167106d71273d9a3264e9898a6055e4\"\n values.$implementation:\n- \"eth:0x4b4fdb082b44490c9AEEd91C932c3E33AAbfF653\"\n+ \"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e\"\n values.$pastUpgrades.1:\n+ [\"2026-02-09T09:22:35.000Z\",\"0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461\",[\"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.eth:0x4b4fdb082b44490c9AEEd91C932c3E33AAbfF653:\n- \"ERC20Inbox\"\n implementationNames.eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e:\n+ \"ERC20Inbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract RollupProxy (eth:0xf8b75AB2df57bB2d1EfC90dD218821E0314f5143)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (eth:0x0aeAe1A2A6f24284aA676B1E93f44AdC1A712850)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n```\n\n```diff\n+ Status: CREATED\n contract EdgeChallengeManager (eth:0x1791EDF1415432195D737d067b2118C3F303D2C3)\n +++ description: Contract that implements the main challenge protocol logic of the fraud proof system.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (eth:0x29efff3EfE3E01A3F69011a054C33410edFc2283)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (eth:0x7368F782E109518fD3914e8b315eE45E51C15835)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (eth:0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (eth:0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (eth:0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```"
}
]
},
{
"id": "b94b3fc7",
"date": "Tue, 27 Jan 2026 11:50:57 GMT",
"timestamp": 1769514452,
"description": "New member added to Conduit Multisig 1, increasing from 4 of 12 to 4 of 13 threshold.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 13 (31%)\"\n }\n```"
}
]
},
{
"id": "41f7b766",
"date": "Wed, 21 Jan 2026 08:35:09 GMT",
"timestamp": 1768984447,
"description": "New member conduit msig.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "13faffd8",
"date": "Fri, 16 Jan 2026 12:24:28 GMT",
"timestamp": 1768566203,
"description": "Conduit Multisig 1 added a new signer, increasing members from 10 to 11 (threshold remains 4).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "95bb2bff",
"date": "Fri, 05 Dec 2025 11:24:18 GMT",
"timestamp": 1764933784,
"description": "Conduit multisig key rotation.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x2103c69696CB2D3779f5445393808239034E911c\"\n values.$members.0:\n- \"eth:0xFe0ab87ebE03DD0bF52DaF34Dfda6639c335e2d4\"\n+ \"eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007\"\n values.$members.4:\n- \"eth:0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n }\n```"
}
]
},
{
"id": "3f5bb59a",
"date": "Fri, 03 Oct 2025 08:43:09 GMT",
"timestamp": 1759480923,
"description": "Member removed from multisig.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.2:\n- \"eth:0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "09096390",
"date": "Tue, 26 Aug 2025 13:31:23 GMT",
"timestamp": 1756214657,
"description": "Conduit msig: removed one address",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.2:\n- \"eth:0x860e06Fe384D1A3340111e7D142E02642178c053\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "0008f82c",
"date": "Wed, 20 Aug 2025 13:39:01 GMT",
"timestamp": 1755697104,
"description": "Upgrade to ArbOS v40 wasmModuleRoot.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0xf8b75AB2df57bB2d1EfC90dD218821E0314f5143) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v32 wasmModuleRoot\"\n+ \"ArbOS v40 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39\"\n+ \"0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a\"\n }\n```"
}
]
},
{
"id": "8bd91f0f",
"date": "Tue, 12 Aug 2025 14:41:55 GMT",
"timestamp": 1755009465,
"description": "Conduit Multisig 1 signer added.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xFe0ab87ebE03DD0bF52DaF34Dfda6639c335e2d4\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "7406df91",
"date": "Tue, 15 Jul 2025 13:06:42 GMT",
"timestamp": 1752584802,
"description": "initial discovery of a standard orbit stack optimium (AnyTrust) with custom gas token.\n\nthe bridge has a [minimal diff](https://disco.l2beat.com/diff/eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797/eth:0x4c62131fFb67348A95B4d2665A8298A1f93A1E65) without any consequences to be mentioned.",
"isHighSeverity": false,
"changeCount": 16,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract OneStepProverMath (0x036147913eEb42E97790F9a693246c8444290AB6)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x16a93209382236236e964b9C22853e34C3095028)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0x21c6F81b1063f09A6c26EDc74fBb9beb349A5E96)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x231173CC90cB8486A7dbD1733B5105254316D50A)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0x53E276D701Fc2338F6F015B0038Ce8ba3d5d01CC)\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0x5d4D873DbF02417b15D98c8C90948318a124f4E0)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x72b55c2C38EadE57C10047746632A369A060A46E)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0x84eA2523b271029FFAeB58fc6E6F1435a280db44)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0x93CA3db0dF3e78e798004bbE14e1ADE222B14dFa)\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0x9f403f2054736884518E6D3f510C02f5959BDCC6)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract RollupEventInbox (0xd1AF4aD8Be9a8A2f288048140c6E6380420c55fA)\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0xd2E3B3be0ddA5E3214f551aF5A4f4049b9D031A9)\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0xd3643255ea784c75a5325CC5a4A549C7CD62E499)\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (0xE92Df19F4e0Fd067FE3b788Cf03ffD06Cd9Be4A7)\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0xf8b75AB2df57bB2d1EfC90dD218821E0314f5143)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```"
}
]
}
]
+19 -5
+4 -4
{
"addresses": {
"ethereum": [
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "eth:0x0AFA44077796B9F14ecDAE817403ACb255B5983e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0AFA44077796B9F14ecDAE817403ACb255B5983e#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x35381f63091926750F43b2A7401B083263aDEF83",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047699,
"transactionHash": "0xc3385e9ca08b08dbaff64e36514f4268ff6ade6a62ea85aef959339f3b049cc4",
"implementations": [
"eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797"
]
},
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x35381f63091926750F43b2A7401B083263aDEF83#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x4eD3F488a5a4417839BbC39712EB76D8Aaee6eE8",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0xd688dabDBb14D673898689135a23a174560c8C04"
],
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 1\n * **getValidators**: EOA 1\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4eD3F488a5a4417839BbC39712EB76D8Aaee6eE8#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x85eC1b9138a8b9659A51e2b51bb0861901040b59",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047699,
"transactionHash": "0xc3385e9ca08b08dbaff64e36514f4268ff6ade6a62ea85aef959339f3b049cc4",
"implementations": [
"eth:0x46FaF6838Bbf770986f073348D41881D5e54Fb0F"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
},
{
"timestamp": 1746735095,
"transactionHash": "0xd2b584ea74be507497164ccdf37ceb1b3b66bad282c58a77811519c0c6b3acf7",
"implementations": [
"eth:0xC1fB0cCa6e751dEe25e3D537D309d336E8304d50"
]
},
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **batchPosters**: EOA 10, EOA 2, EOA 3, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x85eC1b9138a8b9659A51e2b51bb0861901040b59#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0xd688dabDBb14D673898689135a23a174560c8C04",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047699,
"transactionHash": "0xc3385e9ca08b08dbaff64e36514f4268ff6ade6a62ea85aef959339f3b049cc4",
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **executors**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd688dabDBb14D673898689135a23a174560c8C04#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x7e4627bC114Fcd12ba912103279FD2858E644E71",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047699,
"transactionHash": "0xc3385e9ca08b08dbaff64e36514f4268ff6ade6a62ea85aef959339f3b049cc4",
"implementations": [
"eth:0x1f24EDD5161f82588007f33B72b0b28e46cCE878"
]
},
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7e4627bC114Fcd12ba912103279FD2858E644E71#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x943fc691242291B74B105e8D19bd9E5DC2fcBa1D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047699,
"transactionHash": "0xc3385e9ca08b08dbaff64e36514f4268ff6ade6a62ea85aef959339f3b049cc4",
"implementations": [
"eth:0x85a77E293a81d4C35F304951e41378E5e43d1f53"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
},
{
"timestamp": 1746735095,
"transactionHash": "0xd2b584ea74be507497164ccdf37ceb1b3b66bad282c58a77811519c0c6b3acf7",
"implementations": [
"eth:0x81eEEbb902693A3a90948Fe0A661aedb35271054"
]
},
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x943fc691242291B74B105e8D19bd9E5DC2fcBa1D#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0xE2C902BC61296531e556962ffC81A082b82f5F28",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047951,
"transactionHash": "0xa224ea5ce59dc666331b8e2a60154dcb00f3972c3bba8b50fc2844b257828344",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE2C902BC61296531e556962ffC81A082b82f5F28#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0x17551CBD1ed02768b00D5Bd198c2D86a4c7ee43d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047951,
"transactionHash": "0xa224ea5ce59dc666331b8e2a60154dcb00f3972c3bba8b50fc2844b257828344",
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x17551CBD1ed02768b00D5Bd198c2D86a4c7ee43d#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x29efff3EfE3E01A3F69011a054C33410edFc2283",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x29efff3EfE3E01A3F69011a054C33410edFc2283#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x7368F782E109518fD3914e8b315eE45E51C15835",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7368F782E109518fD3914e8b315eE45E51C15835#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb90fe445014e74eA5aA7681291212bfEa37031CC#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0xf576102530749344D2f4C04D15C2B8609c7897ea",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047699,
"transactionHash": "0xc3385e9ca08b08dbaff64e36514f4268ff6ade6a62ea85aef959339f3b049cc4",
"implementations": [
"eth:0xb0f031Cd10598c6b4C33FcE1675F26CF937091da"
]
},
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf576102530749344D2f4C04D15C2B8609c7897ea#code"
}
]
},
"escrows": [
{
"address": "0x35381f63091926750F43b2A7401B083263aDEF83",
"sinceTimestamp": 1740047699,
"tokens": [
"PLUME"
],
"contract": {
"isVerified": true,
"address": "eth:0x35381f63091926750F43b2A7401B083263aDEF83",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047699,
"transactionHash": "0xc3385e9ca08b08dbaff64e36514f4268ff6ade6a62ea85aef959339f3b049cc4",
"implementations": [
"eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797"
]
},
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows PLUME sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x35381f63091926750F43b2A7401B083263aDEF83#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xE2C902BC61296531e556962ffC81A082b82f5F28",
"sinceTimestamp": 1740047951,
"tokens": "*",
"contract": {
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0xE2C902BC61296531e556962ffC81A082b82f5F28",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047951,
"transactionHash": "0xa224ea5ce59dc666331b8e2a60154dcb00f3972c3bba8b50fc2844b257828344",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.",
"url": "https://etherscan.io/address/0xE2C902BC61296531e556962ffC81A082b82f5F28#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"title": "ArbOS wasmModuleRoot v61",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v61/arbos",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~95 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v61` . Commit hash should be `dfab1dea5c8d2c5089eb26d22ad6239bb78cfa5d`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Fix a dependency on a private repo in `Dockerfile`: replace line `RUN --mount=type=secret,id=gh_token,required=false ./download-machine.sh consensus-v60-rc.3 0xeadc910d36a0eab43a3dd7acb1a3513885e333785689c7cf750b9949c5bb7227 OffchainLabs/nitro-private` with `RUN ./download-machine.sh consensus-v60-rc.5 0x7a9e6a77354888257a9989ce0b6bb39df5fedf222d453932933fdf7a489cbb57`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97"
}
],
"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": 1787669003,
"baseTimestamp": 1792490903,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "0cd82ad8",
"date": "Tue, 20 Oct 2026 10:09:40 GMT",
"timestamp": 1792490903,
"description": "RollupProxy: ArbOS v51 → v61 wasm module root, executed by Conduit Multisig 1 through the UpgradeExecutor.",
"isHighSeverity": true,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (eth:0x4eD3F488a5a4417839BbC39712EB76D8Aaee6eE8) [orbitstack/RollupProxyBoLD] {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v51 wasmModuleRoot\"\n+ \"ArbOS v61 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n+++ severity: HIGH\n values.wasmModuleRoot:\n- \"0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499\"\n+ \"0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97\"\n }\n```"
}
]
},
{
"id": "d60cd741",
"date": "Tue, 25 Aug 2026 14:44:26 GMT",
"timestamp": 1787669003,
"description": "Conduit Multisig 1: member added; threshold 4/10 → 4/11. Also config-related: the shared wasmModuleRoot type map gained the ArbOS v61 label.",
"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": "d7b40c14",
"date": "Thu, 11 Jun 2026 11:27:38 GMT",
"timestamp": 1781177181,
"description": "Conduit Multisig 1 dropped two signers.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.4:\n- \"eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007\"\n values.$members.8:\n- \"eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "d0995e53",
"date": "Tue, 02 Jun 2026 11:14:43 GMT",
"timestamp": 1780398809,
"description": "Conduit Multisig 1 rotated one signer (operator key `0x3840…fd5f` → `0xcdC9…4853`); same rotation propagated across Conduit Multisigs 1/2/3 on eth/arb1/base.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xcdC931935768c0562AfE989A366a3Dc4d52F4853\"\n values.$members.8:\n- \"eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n }\n```"
}
]
},
{
"id": "0ac29810",
"date": "Tue, 05 May 2026 15:19:38 GMT",
"timestamp": 1777994314,
"description": "Conduit Multisig 1 (`eth:0x4a496227...`) — signer `0x381624F7` removed. Threshold unchanged at 4; total signers 13 → 12 (31% → 33%). Shared multisig (referenced by multiple Conduit-managed chains).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.1:\n- \"eth:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07\"\n values.multisigThreshold:\n- \"4 of 13 (31%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "f3af69dd",
"date": "Fri, 06 Feb 2026 15:30:44 GMT",
"timestamp": 1770391779,
"description": "Migration from classic Arbitrum Nitro to BoLD dispute protocol. \n\nRollupProxy is replaced with a new RollupProxyBoLD at a new address (same code as Arbitrum One BoLD). ChallengeManager is replaced with an EdgeChallengeManager implementing the BoLD edge-based challenge system, and all OneStepProver contracts are replaced with new deployments. ArbOS version is now v51. The validator whitelist remains enabled with a single validator, and validatorAfkBlocks is set to ~427M years (effectively disabling the AFK escape hatch). confirmPeriodBlocks is 40320 (~5.6 days). Challenge stakes are 0.1 WETH (vs 555/79 WETH on Arbitrum One). loserStakeEscrow points to the sole validator address.\n\nAll infrastructure contracts (Bridge, Inbox, Outbox, SequencerInbox, RollupEventInbox) are upgraded with BoLD-era changes. Since Plume uses a custom gas token (PLUME), these are the ERC20 variants of the BoLD contracts - the first deployment of this combination. The ERC20 BoLD variants differ from Arbitrum One's ETH BoLD contracts in: token decimal normalization, safeTransferFrom for token escrow, fee token pricer integration, and ERC20-specific spending report logic.\n\nSequencerInbox: Celestia DA support is removed (CELESTIA_MESSAGE_HEADER_FLAG deleted). Delay buffer system is enabled (isDelayBufferable: true). delayBlocks increased from 5760 to 7200. New feeTokenPricer field added (currently set to zero address). New batch posting functions with delay proofs added.\n\nERC20RollupEventInbox: _currentDataCostToReport now queries the SequencerInbox's feeTokenPricer for exchange rate-based data cost reporting (previously always returned 0).\n\nBridge: Added zero-amount transfer guards in _transferFunds and _executeLowLevelCall. Added Messages.isValidDelayedAccPreimage helper for delay buffer proof validation.\n\nNew ERC20Bridge_BoLD, ERC20Inbox_BoLD, and ERC20RollupEventInbox_BoLD shapes added to templates.\n\nDisco diffs (Arbitrum BoLD ETH vs Plume BoLD ERC20 - shows what the ERC20 gas token variants add):\n- Bridge: https://disco.l2beat.com/diff/eth:0x93e8f92327bFa8096F5F6ee5f2a49183D3B3b898/eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6\n- Inbox: https://disco.l2beat.com/diff/eth:0x7C058ad1D0Ee415f7e7f30e62DB1BCf568470a10/eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e\n- RollupEventInbox: https://disco.l2beat.com/diff/eth:0x6D576E220Cb44C3E8eF75D0EfBeb1Ff041e2E4A5/eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe\n\nOld vs new Plume implementation diffs:\n- Bridge: https://disco.l2beat.com/diff/eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797/eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6\n- ERC20Inbox: https://disco.l2beat.com/diff/eth:0x81eEEbb902693A3a90948Fe0A661aedb35271054/eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e\n- ERC20RollupEventInbox: https://disco.l2beat.com/diff/eth:0xb0f031Cd10598c6b4C33FcE1675F26CF937091da/eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe\n- SequencerInbox: https://disco.l2beat.com/diff/eth:0xC1fB0cCa6e751dEe25e3D537D309d336E8304d50/eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324\n- Outbox: https://disco.l2beat.com/diff/eth:0x1f24EDD5161f82588007f33B72b0b28e46cCE878/eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386",
"isHighSeverity": true,
"changeCount": 68,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract OneStepProofEntry (eth:0x0537c93dA3b1f8A525204165d1d93De0534c262f)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n EOA (eth:0x11f563dDbF266484Dd910A401A7e44299d80b1d5) {\n +++ description: None\n receivedPermissions.0.role:\n- \".validators\"\n+ \".getValidators\"\n receivedPermissions.0.from:\n- \"eth:0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC\"\n+ \"eth:0x4eD3F488a5a4417839BbC39712EB76D8Aaee6eE8\"\n }\n```\n\n```diff\n contract Bridge (eth:0x35381f63091926750F43b2A7401B083263aDEF83) {\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n sourceHashes.1:\n- \"0x73087d4667e81f676a10708feb2774bab3a9a558a1987b8ac4f112cc464bba96\"\n+ \"0x7f62b9bd4a0aac711ca355a523b1d934ab93ae14c5fae5a860c0ded42ee5a3c3\"\n values.$implementation:\n- \"eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797\"\n+ \"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6\"\n values.$pastUpgrades.1:\n+ [\"2026-02-05T09:16:35.000Z\",\"0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f\",[\"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"eth:0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC\"\n+ \"eth:0x4eD3F488a5a4417839BbC39712EB76D8Aaee6eE8\"\n implementationNames.eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797:\n- \"ERC20Bridge\"\n implementationNames.eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6:\n+ \"ERC20Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract RollupProxy (eth:0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x4eD3F488a5a4417839BbC39712EB76D8Aaee6eE8\",\"description\":\"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability and DACs, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xd688dabDBb14D673898689135a23a174560c8C04\"}]}\n receivedPermissions.0.via.0:\n+ {\"address\":\"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC\"}\n receivedPermissions.0.role:\n- \".owner\"\n+ \"admin\"\n receivedPermissions.0.description:\n- \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n receivedPermissions.0.from:\n- \"eth:0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC\"\n+ \"eth:0x0AFA44077796B9F14ecDAE817403ACb255B5983e\"\n receivedPermissions.0.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.3.from:\n- \"eth:0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC\"\n+ \"eth:0x4eD3F488a5a4417839BbC39712EB76D8Aaee6eE8\"\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x8c66A25752e70D6BD6b4090D2E31ca37cf77caE6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC\"},{\"address\":\"eth:0xd688dabDBb14D673898689135a23a174560c8C04\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProver0 (eth:0x6982e35C878cD2b5aF8Dcf06f33c4EfB01D6f482)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract Outbox (eth:0x7e4627bC114Fcd12ba912103279FD2858E644E71) {\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n values.$implementation:\n- \"eth:0x1f24EDD5161f82588007f33B72b0b28e46cCE878\"\n+ \"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386\"\n values.$pastUpgrades.1:\n+ [\"2026-02-05T09:16:35.000Z\",\"0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f\",[\"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"eth:0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC\"\n+ \"eth:0x4eD3F488a5a4417839BbC39712EB76D8Aaee6eE8\"\n implementationNames.eth:0x1f24EDD5161f82588007f33B72b0b28e46cCE878:\n- \"ERC20Outbox\"\n implementationNames.eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386:\n+ \"ERC20Outbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ValidatorUtils (eth:0x84eA2523b271029FFAeB58fc6E6F1435a280db44)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverHostIo (eth:0x856EA788977Bc771E8Ca87471baeC507A0f54771)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine. This version uses the Blobstream DA bridge (eth:0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe) as source of truth for the DA referenced by the fault proof.\n```\n\n```diff\n contract SequencerInbox (eth:0x85eC1b9138a8b9659A51e2b51bb0861901040b59) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.1:\n- \"0x4030f12794a5a07697b98400d423a426b39fd6f2320b39ee377d700d4fafdc58\"\n+ \"0xb57f3e67e08492b235337cda4f3ea0117e3e043cceaf8e9a7a51b57611ba99de\"\n values.$implementation:\n- \"eth:0xC1fB0cCa6e751dEe25e3D537D309d336E8304d50\"\n+ \"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324\"\n values.$pastUpgrades.3:\n+ [\"2026-02-05T09:16:35.000Z\",\"0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f\",[\"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.CELESTIA_MESSAGE_HEADER_FLAG:\n- \"0x63\"\n values.maxTimeVariation.delayBlocks:\n- 5760\n+ 7200\n values.reader4844:\n- \"eth:0x58f9a83EF35a241bcAc7EC4fB6e7DBcE2A1D1125\"\n+ \"eth:0xB1F1A77AB63671a6355Fa5c8423f436118943411\"\n values.rollup:\n- \"eth:0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC\"\n+ \"eth:0x4eD3F488a5a4417839BbC39712EB76D8Aaee6eE8\"\n values.feeTokenPricer:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isDelayBufferable:\n+ true\n implementationNames.eth:0xC1fB0cCa6e751dEe25e3D537D309d336E8304d50:\n- \"SequencerInbox\"\n implementationNames.eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324:\n+ \"SequencerInbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ChallengeManager (eth:0x8c66A25752e70D6BD6b4090D2E31ca37cf77caE6)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n contract Inbox (eth:0x943fc691242291B74B105e8D19bd9E5DC2fcBa1D) {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n sourceHashes.1:\n- \"0x25984fdfffb8141859c99299fb29e7a7460732d77111e5fe23792baa99f336a3\"\n+ \"0x82dad78abdf27e168de1ae177b8055db4167106d71273d9a3264e9898a6055e4\"\n values.$implementation:\n- \"eth:0x81eEEbb902693A3a90948Fe0A661aedb35271054\"\n+ \"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e\"\n values.$pastUpgrades.3:\n+ [\"2026-02-05T09:16:35.000Z\",\"0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f\",[\"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e\"]]\n values.$upgradeCount:\n- 3\n+ 4\n implementationNames.eth:0x81eEEbb902693A3a90948Fe0A661aedb35271054:\n- \"ERC20Inbox\"\n implementationNames.eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e:\n+ \"ERC20Inbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMath (eth:0x9c40D14A2FC3f0A2f5fe804436f8e312224472C5)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract ProxyAdmin (eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC) {\n +++ description: None\n directlyReceivedPermissions.0:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0AFA44077796B9F14ecDAE817403ACb255B5983e\",\"role\":\"admin\"}\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x8c66A25752e70D6BD6b4090D2E31ca37cf77caE6\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMemory (eth:0xcaBf38d8eADdE0BC6C91655242AFB4Da92a63FCe)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract UpgradeExecutor (eth:0xd688dabDBb14D673898689135a23a174560c8C04) {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n directlyReceivedPermissions.1.description:\n- \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n+ \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability and DACs, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n directlyReceivedPermissions.1.from:\n- \"eth:0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC\"\n+ \"eth:0x4eD3F488a5a4417839BbC39712EB76D8Aaee6eE8\"\n directlyReceivedPermissions.2.from:\n- \"eth:0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC\"\n+ \"eth:0x4eD3F488a5a4417839BbC39712EB76D8Aaee6eE8\"\n }\n```\n\n```diff\n contract RollupEventInbox (eth:0xf576102530749344D2f4C04D15C2B8609c7897ea) {\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n sourceHashes.1:\n- \"0x35bd9f6436158f2147578ce95b85de68f435e81f1f3ed3858f7523a8c4825a1a\"\n+ \"0x089ac3cec821c0f014f284ec4ec1039ef6bc50b6ad3ee47c82e20af65cc30c33\"\n values.$implementation:\n- \"eth:0xb0f031Cd10598c6b4C33FcE1675F26CF937091da\"\n+ \"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe\"\n values.$pastUpgrades.1:\n+ [\"2026-02-05T09:16:35.000Z\",\"0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f\",[\"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"eth:0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC\"\n+ \"eth:0x4eD3F488a5a4417839BbC39712EB76D8Aaee6eE8\"\n implementationNames.eth:0xb0f031Cd10598c6b4C33FcE1675F26CF937091da:\n- \"ERC20RollupEventInbox\"\n implementationNames.eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe:\n+ \"ERC20RollupEventInbox\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract EdgeChallengeManager (eth:0x0AFA44077796B9F14ecDAE817403ACb255B5983e)\n +++ description: Contract that implements the main challenge protocol logic of the fraud proof system.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (eth:0x29efff3EfE3E01A3F69011a054C33410edFc2283)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (eth:0x4eD3F488a5a4417839BbC39712EB76D8Aaee6eE8)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (eth:0x7368F782E109518fD3914e8b315eE45E51C15835)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (eth:0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (eth:0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (eth:0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```"
}
]
},
{
"id": "20f2618a",
"date": "Tue, 27 Jan 2026 11:51:40 GMT",
"timestamp": 1769514598,
"description": "New member added to Conduit Multisig 1, increasing from 4 of 12 to 4 of 13 threshold.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 13 (31%)\"\n }\n```"
}
]
},
{
"id": "ea02ef9e",
"date": "Wed, 21 Jan 2026 08:35:18 GMT",
"timestamp": 1768984455,
"description": "New member conduit msig.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "7667c324",
"date": "Fri, 16 Jan 2026 12:24:40 GMT",
"timestamp": 1768566203,
"description": "Conduit Multisig 1 added a new signer, increasing members from 10 to 11 (threshold remains 4).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "51905575",
"date": "Fri, 05 Dec 2025 11:24:43 GMT",
"timestamp": 1764933819,
"description": "Conduit multisig key rotation.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x2103c69696CB2D3779f5445393808239034E911c\"\n values.$members.0:\n- \"eth:0xFe0ab87ebE03DD0bF52DaF34Dfda6639c335e2d4\"\n+ \"eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007\"\n values.$members.4:\n- \"eth:0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n }\n```"
}
]
},
{
"id": "d0497842",
"date": "Wed, 19 Nov 2025 12:22:47 GMT",
"timestamp": 1763554901,
"description": "No more a Celestia L2.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (eth:0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"Celestia Nitro 3.3.2 wasmModuleRoot\"\n+ \"ArbOS v32 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0xaf1dbdfceb871c00bfbb1675983133df04f0ed04e89647812513c091e3a982b3\"\n+ \"0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39\"\n }\n```\n\n```diff\n contract SequencerInbox (eth:0x85eC1b9138a8b9659A51e2b51bb0861901040b59) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.sequencerVersion:\n- \"0x63\"\n+ \"0x88\"\n }\n```"
}
]
},
{
"id": "44fade36",
"date": "Fri, 03 Oct 2025 08:43:32 GMT",
"timestamp": 1759480939,
"description": "Member removed from multisig.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.2:\n- \"eth:0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "14218992",
"date": "Tue, 26 Aug 2025 13:31:59 GMT",
"timestamp": 1756214657,
"description": "Conduit msig: removed one address",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.2:\n- \"eth:0x860e06Fe384D1A3340111e7D142E02642178c053\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "2839dd13",
"date": "Tue, 12 Aug 2025 14:42:09 GMT",
"timestamp": 1755009465,
"description": "Conduit Multisig 1 signer added.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xFe0ab87ebE03DD0bF52DaF34Dfda6639c335e2d4\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "6ddbba85",
"date": "Mon, 14 Jul 2025 12:45:56 GMT",
"timestamp": 1752497156,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 18,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract OneStepProofEntry (0x0537c93dA3b1f8A525204165d1d93De0534c262f)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract GatewayRouter (0x17551CBD1ed02768b00D5Bd198c2D86a4c7ee43d)\n +++ description: This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0x35381f63091926750F43b2A7401B083263aDEF83)\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n+ Status: CREATED\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x6982e35C878cD2b5aF8Dcf06f33c4EfB01D6f482)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0x7e4627bC114Fcd12ba912103279FD2858E644E71)\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0x84eA2523b271029FFAeB58fc6E6F1435a280db44)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x856EA788977Bc771E8Ca87471baeC507A0f54771)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine. This version uses the Blobstream DA bridge (eth:0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe) as source of truth for the DA referenced by the fault proof.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0x85eC1b9138a8b9659A51e2b51bb0861901040b59)\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0x8c66A25752e70D6BD6b4090D2E31ca37cf77caE6)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (0x943fc691242291B74B105e8D19bd9E5DC2fcBa1D)\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0x9c40D14A2FC3f0A2f5fe804436f8e312224472C5)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xb90fe445014e74eA5aA7681291212bfEa37031CC)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0xcaBf38d8eADdE0BC6C91655242AFB4Da92a63FCe)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0xd688dabDBb14D673898689135a23a174560c8C04)\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract ERC20Gateway (0xE2C902BC61296531e556962ffC81A082b82f5F28)\n +++ description: Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n```\n\n```diff\n+ Status: CREATED\n contract RollupEventInbox (0xf576102530749344D2f4C04D15C2B8609c7897ea)\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```"
}
]
},
{
"id": "38380d0d",
"date": "Fri, 11 Jul 2025 12:30:41 GMT",
"timestamp": 1752237041,
"description": "operator addresses removed.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n+++ description: Increments on each Validator change.\n values.setValidatorCount:\n- 2\n+ 3\n values.stakerCount:\n- 2\n+ 1\n values.validators.5:\n- \"0x8976384B54ecFeb9DEa150881008Ac43EFb27dE3\"\n }\n```\n\n```diff\n contract SequencerInbox (0x85eC1b9138a8b9659A51e2b51bb0861901040b59) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.batchPosters.5:\n- \"0x934653eC7C396f16069D6CDaC0960e699af14B3D\"\n values.setIsBatchPosterCount:\n- 2\n+ 3\n }\n```"
}
]
},
{
"id": "37199826",
"date": "Fri, 20 Jun 2025 06:57:17 GMT",
"timestamp": 1750402637,
"description": "Add 9 batchposters and validators (conduit).",
"isHighSeverity": false,
"changeCount": 23,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n+++ description: Increments on each Validator change.\n values.setValidatorCount:\n- 1\n+ 2\n values.stakerCount:\n- 1\n+ 2\n values.validators.9:\n+ \"0x006F5B7E2D58fb4E53DEdaB8802FCdf2a5441DC7\"\n values.validators.8:\n+ \"0x8976384B54ecFeb9DEa150881008Ac43EFb27dE3\"\n values.validators.7:\n+ \"0x8fbEf9f7554aec9CCf62b88D86aE1C91F1599F7C\"\n values.validators.6:\n+ \"0x16C1D3b4aDB6f0F468FCE7b802cE5AA0A2B06d03\"\n values.validators.5:\n+ \"0x401Ba2e5037e3d8D1c32E77Dfd371501618604Bf\"\n values.validators.4:\n+ \"0xa017149a752BDd8723a09Cd6f40c388D38B8d202\"\n values.validators.3:\n+ \"0x9DFaA1770bcE35EaB6a163D3cDE6cA1F3Ff7eA66\"\n values.validators.2:\n+ \"0xd1e56283216127E1F40A3752735C94A13d97bc92\"\n values.validators.1:\n+ \"0x11f563dDbF266484Dd910A401A7e44299d80b1d5\"\n values.validators.0:\n- \"0x8976384B54ecFeb9DEa150881008Ac43EFb27dE3\"\n+ \"0x33Bf8bF5aF3579D0E2305302409A5b6b4173c779\"\n }\n```\n\n```diff\n contract SequencerInbox (0x85eC1b9138a8b9659A51e2b51bb0861901040b59) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.batchPosters.9:\n+ \"0x85e70D857F6Fad7AD4ffc3fC95FD0fd8C396A09D\"\n values.batchPosters.8:\n+ \"0x4ed0f98FB4c331e672653E832c55E0f9F402C228\"\n values.batchPosters.7:\n+ \"0x74a0d46BA4F69cAB77A459f8B12dc531c7DaBf3C\"\n values.batchPosters.6:\n+ \"0xb9B2AeAe8D160a5bF9cb7FE7B2c8B58c0293FD5e\"\n values.batchPosters.5:\n+ \"0x934653eC7C396f16069D6CDaC0960e699af14B3D\"\n values.batchPosters.4:\n+ \"0x2E8C0869C173cC07c58186E9DeEA74314635b1E2\"\n values.batchPosters.3:\n+ \"0xCEEAEC6b7e010fE1Ac253Ebd6f93eEBF9249Cd7e\"\n values.batchPosters.2:\n+ \"0xA4f98Ac0E083C79BAB53A3895082e8a4fbf12CDe\"\n values.batchPosters.1:\n+ \"0xc7ef93FE91D4658bb422B11C5f8Ae17ae3B86D36\"\n values.batchPosters.0:\n- \"0x934653eC7C396f16069D6CDaC0960e699af14B3D\"\n+ \"0x17F187D978664C96ffD655996a45e085c403AD8b\"\n values.setIsBatchPosterCount:\n- 1\n+ 2\n }\n```"
}
]
},
{
"id": "bb518bc8",
"date": "Thu, 12 Jun 2025 14:57:53 GMT",
"timestamp": 1749740273,
"description": "Added ERC20 gateway.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract GatewayRouter (0x17551CBD1ed02768b00D5Bd198c2D86a4c7ee43d)\n +++ description: This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n```\n\n```diff\n+ Status: CREATED\n contract ERC20Gateway (0xE2C902BC61296531e556962ffC81A082b82f5F28)\n +++ description: Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n```"
}
]
},
{
"id": "9dc9d2ac",
"date": "Thu, 12 Jun 2025 08:03:20 GMT",
"timestamp": 1749715400,
"description": "Initial discovery.",
"isHighSeverity": false,
"changeCount": 16,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract OneStepProofEntry (0x0537c93dA3b1f8A525204165d1d93De0534c262f)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0x35381f63091926750F43b2A7401B083263aDEF83)\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n+ Status: CREATED\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x6982e35C878cD2b5aF8Dcf06f33c4EfB01D6f482)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0x7e4627bC114Fcd12ba912103279FD2858E644E71)\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0x84eA2523b271029FFAeB58fc6E6F1435a280db44)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x856EA788977Bc771E8Ca87471baeC507A0f54771)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine. This version uses the Blobstream DA bridge (0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe) as source of truth for the DA referenced by the fault proof.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0x85eC1b9138a8b9659A51e2b51bb0861901040b59)\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0x8c66A25752e70D6BD6b4090D2E31ca37cf77caE6)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (0x943fc691242291B74B105e8D19bd9E5DC2fcBa1D)\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0x9c40D14A2FC3f0A2f5fe804436f8e312224472C5)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xb90fe445014e74eA5aA7681291212bfEa37031CC)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0xcaBf38d8eADdE0BC6C91655242AFB4Da92a63FCe)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0xd688dabDBb14D673898689135a23a174560c8C04)\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract RollupEventInbox (0xf576102530749344D2f4C04D15C2B8609c7897ea)\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```"
}
]
}
]
+19 -5
+4 -4
{
"addresses": {
"ethereum": [
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x383c03c4EfF819E73409DbC690755a9992393814",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0x677ECf96DBFeE1deFbDe8D2E905A39f73Aa27B89"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
{
"timestamp": 1788868751,
"transactionHash": "0x88bcfd3a7fa65b9ee0f95f9296c16a506511cad3cc6b03552d2548cebd8dd3eb",
"implementations": [
"eth:0x677ECf96DBFeE1deFbDe8D2E905A39f73Aa27B89"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x383c03c4EfF819E73409DbC690755a9992393814#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x6CA2A628fb690Bd431F4aA608655ce37c66aff9d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0xE4bE5495054fE4fa4Ea5972219484984927681E3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0x873484Ba63353C8b71210ce123B465512d408B27"
]
},
{
"timestamp": 1730281391,
"transactionHash": "0xaf5b759f18a6b1150b87e3c0e93270201a165763e4f2d42d75bec75ab7f258bf",
"implementations": [
"eth:0x958985cf2c54f99ba4a599221A8090C1F9Cee9A5"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0x734B78823c4d979045EC23F38B54A070df7769FF"
]
},
{
"timestamp": 1788868751,
"transactionHash": "0x88bcfd3a7fa65b9ee0f95f9296c16a506511cad3cc6b03552d2548cebd8dd3eb",
"implementations": [
"eth:0xE4bE5495054fE4fa4Ea5972219484984927681E3"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **batchPosters**: EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6CA2A628fb690Bd431F4aA608655ce37c66aff9d#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0xB55002d2795217Fd3B91EcBb3385ba9A231E5327",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x07390626b8Bc2C04b1D93c7D246A0629198D7868"
],
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1788868751,
"transactionHash": "0x88bcfd3a7fa65b9ee0f95f9296c16a506511cad3cc6b03552d2548cebd8dd3eb",
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 1\n * **getValidators**: EOA 2\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB55002d2795217Fd3B91EcBb3385ba9A231E5327#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "eth:0xBA105c3F0FfAAF093614C1eFEcA0AEe7Bc1a0098",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1788868751,
"transactionHash": "0x88bcfd3a7fa65b9ee0f95f9296c16a506511cad3cc6b03552d2548cebd8dd3eb",
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBA105c3F0FfAAF093614C1eFEcA0AEe7Bc1a0098#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x07390626b8Bc2C04b1D93c7D246A0629198D7868",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **executors**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x07390626b8Bc2C04b1D93c7D246A0629198D7868#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x3f373b0A7DcEe7b7bCfC16DF85CfAE18388542c9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0x186267690cb723d72A7EDBC002476E23D694cB33"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1788868751,
"transactionHash": "0x88bcfd3a7fa65b9ee0f95f9296c16a506511cad3cc6b03552d2548cebd8dd3eb",
"implementations": [
"eth:0x186267690cb723d72A7EDBC002476E23D694cB33"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3f373b0A7DcEe7b7bCfC16DF85CfAE18388542c9#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x672109752635177ebcb17F2C7e04575A709014BD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0x9C4ce5EF20F831F4e7fEcf58aAA0Cda8d3091c35"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0x1162084C3C6575121146582Db5BE43189e8CEe6b"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0xf3830309BdfADcC7eEEF99C2EeA879D5fA6C756C"
]
},
{
"timestamp": 1788868751,
"transactionHash": "0x88bcfd3a7fa65b9ee0f95f9296c16a506511cad3cc6b03552d2548cebd8dd3eb",
"implementations": [
"eth:0x9C4ce5EF20F831F4e7fEcf58aAA0Cda8d3091c35"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x672109752635177ebcb17F2C7e04575A709014BD#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x29efff3EfE3E01A3F69011a054C33410edFc2283",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x29efff3EfE3E01A3F69011a054C33410edFc2283#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x7368F782E109518fD3914e8b315eE45E51C15835",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7368F782E109518fD3914e8b315eE45E51C15835#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60#code"
},
{
"name": "SocketVault_Reya",
"isVerified": true,
"address": "eth:0xdFf78A949E47c1e90f3Dd6dd7Fe2Fa72B42a75f7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdFf78A949E47c1e90f3Dd6dd7Fe2Fa72B42a75f7#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0xFd9f59554351122b231F832a0e0A1aBb0604D7fd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0x7b6784fbd233EDB47E11eA4e7205fC4229447662"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
},
{
"timestamp": 1788868751,
"transactionHash": "0x88bcfd3a7fa65b9ee0f95f9296c16a506511cad3cc6b03552d2548cebd8dd3eb",
"implementations": [
"eth:0x7b6784fbd233EDB47E11eA4e7205fC4229447662"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFd9f59554351122b231F832a0e0A1aBb0604D7fd#code"
}
]
},
"escrows": [
{
"address": "0x383c03c4EfF819E73409DbC690755a9992393814",
"sinceTimestamp": 1709380607,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x383c03c4EfF819E73409DbC690755a9992393814",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0x677ECf96DBFeE1deFbDe8D2E905A39f73Aa27B89"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
{
"timestamp": 1788868751,
"transactionHash": "0x88bcfd3a7fa65b9ee0f95f9296c16a506511cad3cc6b03552d2548cebd8dd3eb",
"implementations": [
"eth:0x677ECf96DBFeE1deFbDe8D2E905A39f73Aa27B89"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x383c03c4EfF819E73409DbC690755a9992393814#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"title": "ArbOS wasmModuleRoot v61",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v61/arbos",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~95 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v61` . Commit hash should be `dfab1dea5c8d2c5089eb26d22ad6239bb78cfa5d`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Fix a dependency on a private repo in `Dockerfile`: replace line `RUN --mount=type=secret,id=gh_token,required=false ./download-machine.sh consensus-v60-rc.3 0xeadc910d36a0eab43a3dd7acb1a3513885e333785689c7cf750b9949c5bb7227 OffchainLabs/nitro-private` with `RUN ./download-machine.sh consensus-v60-rc.5 0x7a9e6a77354888257a9989ce0b6bb39df5fedf222d453932933fdf7a489cbb57`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97"
}
],
"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": 1789569237,
"baseTimestamp": 1792490921,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "1685c469",
"date": "Tue, 20 Oct 2026 10:10:04 GMT",
"timestamp": 1792490921,
"description": "RollupProxy: ArbOS v51 → v61 wasm module root, executed by Conduit Multisig 1 through the UpgradeExecutor.",
"isHighSeverity": true,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (eth:0xB55002d2795217Fd3B91EcBb3385ba9A231E5327) [orbitstack/RollupProxyBoLD] {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v51 wasmModuleRoot\"\n+ \"ArbOS v61 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n+++ severity: HIGH\n values.wasmModuleRoot:\n- \"0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499\"\n+ \"0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97\"\n }\n```"
}
]
},
{
"id": "f7f44774",
"date": "Tue, 29 Sep 2026 17:50:00 GMT",
"timestamp": 1789569237,
"description": "Upgrade to the BoLD dispute protocol (nitro-contracts v3.1.0) and ArbOS v51 \"Dia\", executed by Conduit Multisig 1 via the UpgradeExecutor.\n\nRollupProxy replaced by a BoLD rollup (`isPostBoLD: true`). Validator whitelist stays enabled. Stake token ETH → WETH. `minimumAssertionPeriod` 10 → 75. `validatorAfkBlocks` 45818 → 2^50. `challengeGracePeriodBlocks` set to 14400.\n\nChallengeManager replaced by EdgeChallengeManager: 1 big-step level, 0.1 WETH stake on big-step and small-step edges.\n\nBridge, Inbox, Outbox, RollupEventInbox and SequencerInbox upgraded. SequencerInbox: `isDelayBufferable: true` with buffer at max, `delayBlocks` 5760 → 7200, `reader4844` replaced.\n\nOneStepProvers and OneStepProofEntry replaced. ValidatorUtils removed.",
"isHighSeverity": true,
"changeCount": 62,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract OneStepProverHostIo (eth:0x0003A96B27ce73505b43ea1b71a5aB06bec568C4) [orbitstack/OneStepProverHostIo]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract UpgradeExecutor (eth:0x07390626b8Bc2C04b1D93c7D246A0629198D7868) [orbitstack/UpgradeExecutor] {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n directlyReceivedPermissions.1.from:\n- \"eth:0x448Bbd134dE1B23976073aB4F2915849b2dcD73A\"\n+ \"eth:0xB55002d2795217Fd3B91EcBb3385ba9A231E5327\"\n directlyReceivedPermissions.2.from:\n- \"eth:0x448Bbd134dE1B23976073aB4F2915849b2dcD73A\"\n+ \"eth:0xB55002d2795217Fd3B91EcBb3385ba9A231E5327\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMemory (eth:0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB) [orbitstack/OneStepProverMemory]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract ValidatorUtils (eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF) [orbitstack/ValidatorUtils]\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProver0 (eth:0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5) [orbitstack/OneStepProver0]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract Bridge (eth:0x383c03c4EfF819E73409DbC690755a9992393814) [orbitstack/Bridge] {\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n sourceHashes.1:\n- \"0xee14083a0b352490f5722c13dd14921389ef859f1789815b19964e628a4d1bad\"\n+ \"0x29acc2652c0eb213e1a10f1c211600303d26e856116587d65e6fb4d40f0e6bae\"\n values.$implementation:\n- \"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F\"\n+ \"eth:0x677ECf96DBFeE1deFbDe8D2E905A39f73Aa27B89\"\n values.$pastUpgrades.1:\n+ [\"2026-09-08T11:59:11.000Z\",\"0x88bcfd3a7fa65b9ee0f95f9296c16a506511cad3cc6b03552d2548cebd8dd3eb\",[\"eth:0x677ECf96DBFeE1deFbDe8D2E905A39f73Aa27B89\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"eth:0x448Bbd134dE1B23976073aB4F2915849b2dcD73A\"\n+ \"eth:0xB55002d2795217Fd3B91EcBb3385ba9A231E5327\"\n implementationNames.eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F:\n- \"Bridge\"\n implementationNames.eth:0x677ECf96DBFeE1deFbDe8D2E905A39f73Aa27B89:\n+ \"Bridge\"\n }\n```\n\n```diff\n EOA (eth:0x3ec947F2A6690a4a82E0AC59Ff0837474572CEE5) {\n +++ description: None\n receivedPermissions.0.role:\n- \".validators\"\n+ \".getValidators\"\n receivedPermissions.0.from:\n- \"eth:0x448Bbd134dE1B23976073aB4F2915849b2dcD73A\"\n+ \"eth:0xB55002d2795217Fd3B91EcBb3385ba9A231E5327\"\n }\n```\n\n```diff\n contract Outbox (eth:0x3f373b0A7DcEe7b7bCfC16DF85CfAE18388542c9) [orbitstack/Outbox] {\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n sourceHashes.1:\n- \"0x28eec040eca7563195b19e22e11429d0f977820bfb60ac52e567ffde3c92cf77\"\n+ \"0x9e054d18af00f58f7fa36e7a0fd5b04b9dacfb8c411d84c3591e57aa72faff9d\"\n values.$implementation:\n- \"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC\"\n+ \"eth:0x186267690cb723d72A7EDBC002476E23D694cB33\"\n values.$pastUpgrades.1:\n+ [\"2026-09-08T11:59:11.000Z\",\"0x88bcfd3a7fa65b9ee0f95f9296c16a506511cad3cc6b03552d2548cebd8dd3eb\",[\"eth:0x186267690cb723d72A7EDBC002476E23D694cB33\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"eth:0x448Bbd134dE1B23976073aB4F2915849b2dcD73A\"\n+ \"eth:0xB55002d2795217Fd3B91EcBb3385ba9A231E5327\"\n implementationNames.eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC:\n- \"Outbox\"\n implementationNames.eth:0x186267690cb723d72A7EDBC002476E23D694cB33:\n+ \"Outbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract RollupProxy (eth:0x448Bbd134dE1B23976073aB4F2915849b2dcD73A) [orbitstack/RollupProxy_fastConfirm]\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x448Bbd134dE1B23976073aB4F2915849b2dcD73A\"\n+ \"eth:0xB55002d2795217Fd3B91EcBb3385ba9A231E5327\"\n receivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x448Bbd134dE1B23976073aB4F2915849b2dcD73A\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x07390626b8Bc2C04b1D93c7D246A0629198D7868\"}]}\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xB55002d2795217Fd3B91EcBb3385ba9A231E5327\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x07390626b8Bc2C04b1D93c7D246A0629198D7868\"}]}\n receivedPermissions.7.from:\n- \"eth:0x728B406A4809118533D96bB3b5C50712C99d8Fa5\"\n+ \"eth:0xBA105c3F0FfAAF093614C1eFEcA0AEe7Bc1a0098\"\n }\n```\n\n```diff\n contract Inbox (eth:0x672109752635177ebcb17F2C7e04575A709014BD) [orbitstack/Inbox] {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n sourceHashes.1:\n- \"0x079413b2ba56c63471a9435a6cbf3759e7d14eb942e6ce789b0b893ec3e6f947\"\n+ \"0xa8ec42edee4ac983b2d5fed2ee80ff160072927ebae439c96414a1b729fd6455\"\n values.$implementation:\n- \"eth:0xf3830309BdfADcC7eEEF99C2EeA879D5fA6C756C\"\n+ \"eth:0x9C4ce5EF20F831F4e7fEcf58aAA0Cda8d3091c35\"\n values.$pastUpgrades.2:\n+ [\"2026-09-08T11:59:11.000Z\",\"0x88bcfd3a7fa65b9ee0f95f9296c16a506511cad3cc6b03552d2548cebd8dd3eb\",[\"eth:0x9C4ce5EF20F831F4e7fEcf58aAA0Cda8d3091c35\"]]\n values.$upgradeCount:\n- 2\n+ 3\n implementationNames.eth:0xf3830309BdfADcC7eEEF99C2EeA879D5fA6C756C:\n- \"Inbox\"\n implementationNames.eth:0x9C4ce5EF20F831F4e7fEcf58aAA0Cda8d3091c35:\n+ \"Inbox\"\n }\n```\n\n```diff\n contract SequencerInbox (eth:0x6CA2A628fb690Bd431F4aA608655ce37c66aff9d) [orbitstack/SequencerInbox] {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.1:\n- \"0x38fab1c44903c11839e1113e339b7268b07f99808721133182f57fdd891be63a\"\n+ \"0xd9d7945b3c909d8777cc1798e1b56051640a57595cc65064235a913104f4e9e9\"\n values.$implementation:\n- \"eth:0x734B78823c4d979045EC23F38B54A070df7769FF\"\n+ \"eth:0xE4bE5495054fE4fa4Ea5972219484984927681E3\"\n values.$pastUpgrades.3:\n+ [\"2026-09-08T11:59:11.000Z\",\"0x88bcfd3a7fa65b9ee0f95f9296c16a506511cad3cc6b03552d2548cebd8dd3eb\",[\"eth:0xE4bE5495054fE4fa4Ea5972219484984927681E3\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.maxTimeVariation.delayBlocks:\n- 5760\n+ 7200\n values.reader4844:\n- \"eth:0x6c5c9E6c080a6C25f49DfFE85cfA71aaEAAfdE74\"\n+ \"eth:0xB1F1A77AB63671a6355Fa5c8423f436118943411\"\n+++ severity: HIGH\n values.rollup:\n- \"eth:0x448Bbd134dE1B23976073aB4F2915849b2dcD73A\"\n+ \"eth:0xB55002d2795217Fd3B91EcBb3385ba9A231E5327\"\n values.feeTokenPricer:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.isDelayBufferable:\n+ true\n implementationNames.eth:0x734B78823c4d979045EC23F38B54A070df7769FF:\n- \"SequencerInbox\"\n implementationNames.eth:0xE4bE5495054fE4fa4Ea5972219484984927681E3:\n+ \"SequencerInbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ChallengeManager (eth:0x728B406A4809118533D96bB3b5C50712C99d8Fa5) [orbitstack/ChallengeManager]\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n contract ProxyAdmin (eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.5.from:\n- \"eth:0x728B406A4809118533D96bB3b5C50712C99d8Fa5\"\n+ \"eth:0xBA105c3F0FfAAF093614C1eFEcA0AEe7Bc1a0098\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProofEntry (eth:0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC) [orbitstack/OneStepProofEntry]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMath (eth:0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD) [orbitstack/OneStepProverMath]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract RollupEventInbox (eth:0xFd9f59554351122b231F832a0e0A1aBb0604D7fd) [orbitstack/RollupEventInbox] {\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n sourceHashes.1:\n- \"0xcd37abd5bdcc8c37cbf37dcfa4889d5b238388344d913b3a48914f659e0d627b\"\n+ \"0x6aedbb6059216584b86626e8ce4bc3f123bb7cdf3890b83063e1d3ef2b16be19\"\n values.$implementation:\n- \"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494\"\n+ \"eth:0x7b6784fbd233EDB47E11eA4e7205fC4229447662\"\n values.$pastUpgrades.1:\n+ [\"2026-09-08T11:59:11.000Z\",\"0x88bcfd3a7fa65b9ee0f95f9296c16a506511cad3cc6b03552d2548cebd8dd3eb\",[\"eth:0x7b6784fbd233EDB47E11eA4e7205fC4229447662\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ severity: HIGH\n values.rollup:\n- \"eth:0x448Bbd134dE1B23976073aB4F2915849b2dcD73A\"\n+ \"eth:0xB55002d2795217Fd3B91EcBb3385ba9A231E5327\"\n implementationNames.eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494:\n- \"RollupEventInbox\"\n implementationNames.eth:0x7b6784fbd233EDB47E11eA4e7205fC4229447662:\n+ \"RollupEventInbox\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (eth:0x29efff3EfE3E01A3F69011a054C33410edFc2283) [orbitstack/OneStepProverMemory]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (eth:0x7368F782E109518fD3914e8b315eE45E51C15835) [orbitstack/OneStepProver0]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (eth:0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f) [orbitstack/OneStepProofEntry]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (eth:0xB55002d2795217Fd3B91EcBb3385ba9A231E5327) [orbitstack/RollupProxyBoLD]\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n```\n\n```diff\n+ Status: CREATED\n contract EdgeChallengeManager (eth:0xBA105c3F0FfAAF093614C1eFEcA0AEe7Bc1a0098) [orbitstack/EdgeChallengeManager]\n +++ description: Contract that implements the main challenge protocol logic of the fraud proof system.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (eth:0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4) [orbitstack/OneStepProverMath]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (eth:0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60) [orbitstack/OneStepProverHostIo]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```"
}
]
},
{
"id": "87c39fe3",
"date": "Tue, 25 Aug 2026 14:44:31 GMT",
"timestamp": 1787669007,
"description": "Conduit Multisig 1: member added; threshold 4/10 → 4/11. Also config-related: the shared wasmModuleRoot type map gained the ArbOS v61 label.",
"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": "68b84e7b",
"date": "Mon, 10 Aug 2026 11:04:34 GMT",
"timestamp": 1786359806,
"description": "RollupProxy: `stakerCount` rose from 2 to 3 as an additional validator staked.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (eth:0x448Bbd134dE1B23976073aB4F2915849b2dcD73A) [orbitstack/RollupProxy_fastConfirm] {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n values.stakerCount:\n- 2\n+ 3\n }\n```"
}
]
},
{
"id": "8bf7a4a9",
"date": "Thu, 06 Aug 2026 06:04:01 GMT",
"timestamp": 1785996153,
"description": "Migrated from Gelato to Conduit as RaaS provider: the UpgradeExecutor `EXECUTOR_ROLE` moved from Gelato Multisig to Conduit Multisig 1, and the batch poster and one validator were rotated. The DA committee shrank from 2 to 1 member and `minimumAssertionPeriod` dropped 75 → 10 Ethereum blocks.",
"isHighSeverity": false,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract UpgradeExecutor (eth:0x07390626b8Bc2C04b1D93c7D246A0629198D7868) [orbitstack/UpgradeExecutor] {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n values.accessControl.EXECUTOR_ROLE.members.0:\n- \"eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n values.executors.0:\n- \"eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n }\n```\n\n```diff\n contract RollupProxy (eth:0x448Bbd134dE1B23976073aB4F2915849b2dcD73A) [orbitstack/RollupProxy_fastConfirm] {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n+++ description: Minimum time delta between newly created nodes (stateUpdates). This is checked on `stakeOnNewNode()`. Format is number of ETHEREUM blocks, even for L3s. \n values.minimumAssertionPeriod:\n- 75\n+ 10\n+++ description: Increments on each Validator change.\n values.setValidatorCount:\n- 3\n+ 5\n values.validators.0:\n- \"eth:0xC3D92d18c9CcD418A5547C28a5c3be60E694EA3c\"\n+ \"eth:0x3ec947F2A6690a4a82E0AC59Ff0837474572CEE5\"\n }\n```\n\n```diff\n- Status: DELETED\n EOA (eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682)\n +++ description: None\n```\n\n```diff\n contract SequencerInbox (eth:0x6CA2A628fb690Bd431F4aA608655ce37c66aff9d) [orbitstack/SequencerInbox] {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.batchPosters.0:\n- \"eth:0x29156F8dFfE8979F49E3a085dbb10477373a6051\"\n+ \"eth:0x312F51C032ea949b824381acb7B3f2C712593802\"\n values.dacKeyset.membersCount:\n- 2\n+ 1\n values.dacKeyset.blsSignatures.0:\n- \"YAfz7xTJCh4W2eYRm14dHI9/MzmE4XpACAD8kSdGPQR9hYj0KVfOfn84xCnXxPRLoBOUCU4l4rzz0HSU3joV5kuBxKQh46L3yZ0h0oP4MXFOG8cbV5oIs2WFjP6s4sPZpRVYhGBPsMSEuD/52l2fMMZTaAQ2p9Vb8VDlSCad3tigl9luWtLItup5DuAS6ixUVBDajyKu9RIGApJwPgtr5dtorAuQ01M6DUhcLM5EPOafuzwvqMywUVmv5YEBJZ96JweOpBJHh7Vs3FKnaR/aDewkrnJBUAlOmW/O09NsbrAGovEQboyn/j17TLfkJVOriQllp0SQJtD/L6somLazwnkbGpN1e0pFod/jqIPI/fetEu6KvteYLX37lzjJQ4l8pA==\"\n values.dacKeyset.blsSignatures.1:\n- \"YAbEnnI/RpbGv0lwkp7I0JhTwGaPz8lEVjkr8SE9LlTrPiEeRegjYymNY2doPnin1hOQfpQuGBRjgxaw3h8lIoBxn31tIMbc3I2pjRBuZhF14klu+I1bkluXRJO9ZYmC9BACIIohozMTWRXI/ej0MFQytyvZsXN2PWKKky0Yy+RzUP7Y7982vn4X81IwuZ4FdhIbogTvc6RSDzgPhiH2ejRB6XPlRT/f76KeNWZogD299lBrYySIceH/aA98cp3ixA7/ryLG6sD2VddYDdfsoSQbTbWuUQrO5/DK3SlMtbMv+vKqMNgCjstJ2DJXPKhiOhQ5nsnOZg9cSalU6LbPPFDdSO/0h09HXno290Iw0yxS20SGmx51lO6q/vEgX0OVvw==\"\n+ \"YBhPN6Tq6nXoJS041bPwKYcDeU1Y84s1URBM4MJHKup49TzNB/23scWwhETSvpAl1RnMwh0S/Z+LZ8UGFWlLYmquyJi5weYTsMF6rChTnuZnqY4I1zQZPemy5hK0sIJDlQaqb/llv/8ujT5q3p4DhBLXZ3eIUMcXs4j7F+QMNZyO87mbTnrulLiPfZbAno1SKg8k2Q76fbNPQs76GK4aseCPeA5hPguvjijDIqDVK5Ffz/PhQ6nap8K6UlApBm+CMBIOmAP9IdMyAVs+wirhgMvR88+JVhoMW9kU3F90bWks78tHYqASrw/lXBFI8TgiGhlvvsmUJAC3dyzjccjMyO0M05JjmM1i8bkAdYuCWRF0KV63rABVXUAFGtKAzrLPpw==\"\n values.keySetUpdates:\n- 2\n+ 3\n values.setIsBatchPosterCount:\n- 3\n+ 5\n }\n```\n\n```diff\n- Status: DELETED\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe]\n +++ description: None\n```"
}
]
},
{
"id": "cf131930",
"date": "Tue, 28 Apr 2026 15:45:17 GMT",
"timestamp": 1777390991,
"description": "Gelato Multisig (`eth:0xBeA2Bc85...`) member rotation: 5 signers removed (`0x349f3839`, `0xB65540bB`, `0x58edE8C6`, `0x28bB9385`, `0x5bE3E96C`), 1 added (`0x6a0A93Cd`). Threshold dropped 4→3 and total signers 9→5 (44% → 60%). Shared multisig — same change observed on `ethernity`, `ink`, `lisk`, `everclear`, and `educhain` (arb1).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n EOA (eth:0x28bB9385A588EF4747264D19B9A9F1603591680c)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259)\n +++ description: None\n```\n\n```diff\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.0:\n- \"eth:0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.$members.1:\n- \"eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.2:\n- \"eth:0x58edE8C66A15f23c61b8EadD1191FdaD904f7a87\"\n values.$members.3:\n- \"eth:0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.5:\n- \"eth:0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682\"\n values.$threshold:\n- 4\n+ 3\n values.multisigThreshold:\n- \"4 of 9 (44%)\"\n+ \"3 of 5 (60%)\"\n }\n```\n\n```diff\n+ Status: CREATED\n EOA (eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682)\n +++ description: None\n```"
}
]
},
{
"id": "2d212c80",
"date": "Wed, 25 Mar 2026 10:09:26 GMT",
"timestamp": 1774433302,
"description": "A Gelato Multisig signer (0x28bB9385A588EF4747264D19B9A9F1603591680c) has set an EIP-7702 delegation to an EIP7702StatelessDeleGator contract.",
"isHighSeverity": true,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x28bB9385A588EF4747264D19B9A9F1603591680c) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n sourceHashes:\n+ [\"0x41c6ce964a4ef3e910f9ddf78152734dae8d1b1094ffc8334c50249a3b112bbf\"]\n values:\n+ {\"$implementation\":\"eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B\",\"delegationManager\":\"eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3\",\"DOMAIN_VERSION\":\"1\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"EIP7702StatelessDeleGator\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0x28bB9385A588EF4747264D19B9A9F1603591680c\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"entryPoint\":\"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032\",\"getDeposit\":0,\"getDomainHash\":\"0x4831558cc7e858c354d05912425f7b608f63f175997992468f288e0d88c4cc50\",\"getNonce\":0,\"NAME\":\"EIP7702StatelessDeleGator\",\"PACKED_USER_OP_TYPEHASH\":\"0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18\",\"VERSION\":\"1.3.0\"}\n }\n```"
}
]
},
{
"id": "91032074",
"date": "Fri, 28 Nov 2025 13:08:38 GMT",
"timestamp": 1764335253,
"description": "EOA delegated to Calibur 7702 wallet.",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n template:\n+ \"uniswap/calibur7702\"\n sourceHashes:\n+ [\"0xb3eb47d8d57eba02013e5d347d05147f7ac072ef2e5e4e1f9a5c6fbced93f8b0\"]\n values:\n+ {\"$implementation\":\"eth:0x000000009B1D0aF20D8C6d0A44e162d11F9b8f00\",\"CUSTOM_STORAGE_ROOT\":\"0x3b86514c5c56b21f08d8e56ab090292e07c2483b3e667a2a45849dcb71368600\",\"domainBytes\":\"0xc7e4f5b2d381bdfacf8506a24542052ab4e951573cab4ce34bb1c9509c84cbbf06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b65540bba534e88eb4a5062d0e6519c07063b259000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"domainSeparator\":\"0xae1ae59b43b99665a7d7de7c1ca92017a6e8c484587869daf07b2bd3a6aa0301\",\"eip712Domain\":{\"fields\":\"0x1f\",\"name\":\"Calibur\",\"version\":\"1.0.0\",\"chainId\":1,\"verifyingContract\":\"eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259\",\"salt\":\"0x000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"extensions\":[]},\"ENTRY_POINT\":\"eth:0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108\",\"keyAt\":[],\"keyCount\":0,\"keyHashes\":0,\"namespaceAndVersion\":\"Uniswap.Calibur.1.0.0\"}\n }\n```"
}
]
},
{
"id": "2da5350d",
"date": "Mon, 25 Aug 2025 14:10:22 GMT",
"timestamp": 1756118139,
"description": "Upgrade to ArbOS v40 wasmModuleRoot.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0x448Bbd134dE1B23976073aB4F2915849b2dcD73A) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v32 wasmModuleRoot\"\n+ \"ArbOS v40 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39\"\n+ \"0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a\"\n }\n```"
}
]
},
{
"id": "d6826a2f",
"date": "Tue, 15 Jul 2025 09:10:25 GMT",
"timestamp": 1752570625,
"description": "Gelato MS: one signer removed, one changed.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.2:\n- \"eth:0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"eth:0x58edE8C66A15f23c61b8EadD1191FdaD904f7a87\"\n values.$members.8:\n- \"eth:0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 9 (44%)\"\n }\n```"
}
]
},
{
"id": "be0ee5f1",
"date": "Mon, 14 Jul 2025 12:46:01 GMT",
"timestamp": 1752497161,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 17,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x0003A96B27ce73505b43ea1b71a5aB06bec568C4)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0x07390626b8Bc2C04b1D93c7D246A0629198D7868)\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0x383c03c4EfF819E73409DbC690755a9992393814)\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0x3f373b0A7DcEe7b7bCfC16DF85CfAE18388542c9)\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0x448Bbd134dE1B23976073aB4F2915849b2dcD73A)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (0x672109752635177ebcb17F2C7e04575A709014BD)\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0x6CA2A628fb690Bd431F4aA608655ce37c66aff9d)\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0x728B406A4809118533D96bB3b5C50712C99d8Fa5)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract SocketVault_Reya (0xdFf78A949E47c1e90f3Dd6dd7Fe2Fa72B42a75f7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RollupEventInbox (0xFd9f59554351122b231F832a0e0A1aBb0604D7fd)\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```"
}
]
},
{
"id": "1c23b4c1",
"date": "Tue, 25 Mar 2025 08:40:37 GMT",
"timestamp": 1742892037,
"description": "Minor upgrade of Bridge, Inbox and SequencerInbox:\n- logic for tokens with custom decimals\n- 7702 adjustments\n- SequencerInbox upgraded to known implementation",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Inbox (0x672109752635177ebcb17F2C7e04575A709014BD) {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n sourceHashes.1:\n- \"0x99872d99b7163c705118e0a168f99728c3c7089581779077707271cdaad30be3\"\n+ \"0xa7e3f6c355703ed46fcb2156862c4f01792b87beb10a87a81ce3bd5beee79b67\"\n sourceHashes.0:\n- \"0xa7e3f6c355703ed46fcb2156862c4f01792b87beb10a87a81ce3bd5beee79b67\"\n+ \"0x84cd273689e720a0b7c657b57d9fb127684f3abb87fc4b337a2f0decd9464120\"\n values.$implementation:\n- \"0x1162084C3C6575121146582Db5BE43189e8CEe6b\"\n+ \"0xf3830309BdfADcC7eEEF99C2EeA879D5fA6C756C\"\n values.$pastUpgrades.1:\n+ [\"2025-03-24T16:55:11.000Z\",\"0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8\",[\"0xf3830309BdfADcC7eEEF99C2EeA879D5fA6C756C\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n contract SequencerInbox (0x6CA2A628fb690Bd431F4aA608655ce37c66aff9d) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.0:\n- \"0x50cf57b01499408fa99da27cf0fee96ec30f0d40667d1aa090c442bc80f0636b\"\n+ \"0x6bb86ac4bd0d31e049f543fcf0a8f94c952252222f115246ef9d5b8104d803cc\"\n values.$implementation:\n- \"0x958985cf2c54f99ba4a599221A8090C1F9Cee9A5\"\n+ \"0x734B78823c4d979045EC23F38B54A070df7769FF\"\n values.$pastUpgrades.2:\n+ [\"2024-03-02T11:56:47.000Z\",\"0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09\",[\"0x873484Ba63353C8b71210ce123B465512d408B27\"]]\n values.$pastUpgrades.1.2.0:\n- \"0x873484Ba63353C8b71210ce123B465512d408B27\"\n+ \"0x958985cf2c54f99ba4a599221A8090C1F9Cee9A5\"\n values.$pastUpgrades.1.1:\n- \"0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09\"\n+ \"0xaf5b759f18a6b1150b87e3c0e93270201a165763e4f2d42d75bec75ab7f258bf\"\n values.$pastUpgrades.1.0:\n- \"2024-03-02T11:56:47.000Z\"\n+ \"2024-10-30T09:43:11.000Z\"\n values.$pastUpgrades.0.2.0:\n- \"0x958985cf2c54f99ba4a599221A8090C1F9Cee9A5\"\n+ \"0x734B78823c4d979045EC23F38B54A070df7769FF\"\n values.$pastUpgrades.0.1:\n- \"0xaf5b759f18a6b1150b87e3c0e93270201a165763e4f2d42d75bec75ab7f258bf\"\n+ \"2025-03-24T16:55:11.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-10-30T09:43:11.000Z\"\n+ \"0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8\"\n values.$upgradeCount:\n- 2\n+ 3\n values.reader4844:\n- \"0x7Deda2425eC2d4EA0DF689A78de2fBF002075576\"\n+ \"0x6c5c9E6c080a6C25f49DfFE85cfA71aaEAAfdE74\"\n }\n```"
}
]
},
{
"id": "3668d6f0",
"date": "Mon, 24 Feb 2025 15:37:50 GMT",
"timestamp": 1740411470,
"description": "Config: added a single caldera multisig name.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0x448Bbd134dE1B23976073aB4F2915849b2dcD73A) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n issuedPermissions.3:\n- {\"permission\":\"validate\",\"to\":\"0xC3D92d18c9CcD418A5547C28a5c3be60E694EA3c\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.2.to:\n- \"0x6106B6480DE82E3eC2680d7c61A9D18d71Bf9122\"\n+ \"0xC3D92d18c9CcD418A5547C28a5c3be60E694EA3c\"\n+++ description: Increments on each Validator change.\n values.setValidatorCount:\n- 2\n+ 3\n values.validators.1:\n- \"0xC3D92d18c9CcD418A5547C28a5c3be60E694EA3c\"\n values.validators.0:\n- \"0x6106B6480DE82E3eC2680d7c61A9D18d71Bf9122\"\n+ \"0xC3D92d18c9CcD418A5547C28a5c3be60E694EA3c\"\n }\n```\n\n```diff\n contract SequencerInbox (0x6CA2A628fb690Bd431F4aA608655ce37c66aff9d) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n issuedPermissions.2:\n- {\"permission\":\"upgrade\",\"to\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x07390626b8Bc2C04b1D93c7D246A0629198D7868\"},{\"address\":\"0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9\"}]}\n issuedPermissions.1.permission:\n- \"sequence\"\n+ \"upgrade\"\n issuedPermissions.1.to:\n- \"0xf5636Df6f86f31668aeAe9bB8a1C4F0ED147926a\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n issuedPermissions.1.description:\n- \"Can submit transaction batches or commitments to the SequencerInbox contract on the host chain.\"\n issuedPermissions.1.via.1:\n+ {\"address\":\"0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9\"}\n issuedPermissions.1.via.0:\n+ {\"address\":\"0x07390626b8Bc2C04b1D93c7D246A0629198D7868\"}\n values.batchPosters.1:\n- \"0xf5636Df6f86f31668aeAe9bB8a1C4F0ED147926a\"\n values.setIsBatchPosterCount:\n- 2\n+ 3\n }\n```"
}
]
},
{
"id": "846939e2",
"date": "Fri, 21 Feb 2025 13:57:28 GMT",
"timestamp": 1740146248,
"description": "Add operator addresses.\nConfig related: Set orbit stack contract categories.",
"isHighSeverity": false,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0x448Bbd134dE1B23976073aB4F2915849b2dcD73A) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n issuedPermissions.3:\n+ {\"permission\":\"validate\",\"to\":\"0xC3D92d18c9CcD418A5547C28a5c3be60E694EA3c\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n+++ description: Increments on each Validator change.\n values.setValidatorCount:\n- 1\n+ 2\n values.stakerCount:\n- 1\n+ 2\n values.validators.1:\n+ \"0xC3D92d18c9CcD418A5547C28a5c3be60E694EA3c\"\n }\n```\n\n```diff\n contract SequencerInbox (0x6CA2A628fb690Bd431F4aA608655ce37c66aff9d) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n issuedPermissions.2:\n+ {\"permission\":\"upgrade\",\"to\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x07390626b8Bc2C04b1D93c7D246A0629198D7868\"},{\"address\":\"0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9\"}]}\n issuedPermissions.1.permission:\n- \"upgrade\"\n+ \"sequence\"\n issuedPermissions.1.to:\n- \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"0xf5636Df6f86f31668aeAe9bB8a1C4F0ED147926a\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9\"}\n issuedPermissions.1.via.0:\n- {\"address\":\"0x07390626b8Bc2C04b1D93c7D246A0629198D7868\"}\n issuedPermissions.1.description:\n+ \"Can submit transaction batches or commitments to the SequencerInbox contract on the host chain.\"\n issuedPermissions.0.to:\n- \"0xf5636Df6f86f31668aeAe9bB8a1C4F0ED147926a\"\n+ \"0x29156F8dFfE8979F49E3a085dbb10477373a6051\"\n values.batchPosters.1:\n+ \"0xf5636Df6f86f31668aeAe9bB8a1C4F0ED147926a\"\n values.batchPosters.0:\n- \"0xf5636Df6f86f31668aeAe9bB8a1C4F0ED147926a\"\n+ \"0x29156F8dFfE8979F49E3a085dbb10477373a6051\"\n values.setIsBatchPosterCount:\n- 1\n+ 2\n }\n```"
}
]
},
{
"id": "042dc47f",
"date": "Wed, 15 Jan 2025 07:31:04 GMT",
"timestamp": 1736926264,
"description": "Two signers added to Gelato MS, now 4/10.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.9:\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.8:\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.7:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.$members.6:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x88De44422E1b1c30bc530c35aEdb9f5aD0e6fD52\"\n values.$members.5:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n values.$members.4:\n- \"0xBc0ca6865d6883a83D4aDDD6b862aE042d855E0d\"\n+ \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n values.$members.3:\n- \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.2:\n- \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n+ \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n values.$members.1:\n- \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n+ \"0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.0:\n- \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.multisigThreshold:\n- \"4 of 8 (50%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "636e8cb1",
"date": "Wed, 18 Dec 2024 10:51:47 GMT",
"timestamp": 1734519107,
"description": "Reya socket vault admin transferred to a new EOA (previous was socketadmin.eth, current one is funded by it).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SocketVault_Reya (0xdFf78A949E47c1e90f3Dd6dd7Fe2Fa72B42a75f7) {\n +++ description: None\n values.owner:\n- \"0x5fD7D0d6b91CC4787Bcb86ca47e0Bd4ea0346d34\"\n+ \"0xB0BBff6311B7F245761A7846d3Ce7B1b100C1836\"\n }\n```"
}
]
},
{
"id": "b036942c",
"date": "Fri, 01 Nov 2024 14:28:56 GMT",
"timestamp": 1730471336,
"description": "Upgrades to the latest [ArbOS v32](https://docs.arbitrum.io/run-arbitrum-node/arbos-releases/arbos32).",
"isHighSeverity": true,
"changeCount": 24,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract OneStepProverHostIo (0x17e7F68ce50A77e55C7834ddF31AEf86403B8010)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract RollupProxy (0x448Bbd134dE1B23976073aB4F2915849b2dcD73A) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n sourceHashes.2:\n- \"0xef94a66bd5339efd18fb9ca1f8031482e7ef7bbe6c5a0a10fae254ab83712406\"\n+ \"0x7ee21b18b2e18c636bfafc08ff72692cc43302b2599ba75f0abad67282866dd5\"\n sourceHashes.1:\n- \"0x8b48118fe606012c0dcac2ccc1821785935aec89fab8f219f47b32c482b0017e\"\n+ \"0x9349e73cbc2d2b818c1d79711574ba210b56249d8d3845bc78c776caf8f8ff42\"\n values.$implementation.1:\n- \"0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1\"\n+ \"0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34\"\n values.$implementation.0:\n- \"0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A\"\n+ \"0x9B56A789fEDD5df27dBaB53b085F7157397cA17D\"\n values.$pastUpgrades.1:\n+ [\"2024-10-30T18:24:35.000Z\",\"0xf18555dd5a5c4707f15cd5aa6dedd147bc01eb9212ff4d0e2751fc8ee97f8761\",[\"0x9B56A789fEDD5df27dBaB53b085F7157397cA17D\",\"0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v20 wasmModuleRoot\"\n+ \"ArbOS v32 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0x8b104a2e80ac6165dc58b9048de12f301d70b02a0ab51396c22b4b4b802a16a4\"\n+ \"0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39\"\n values.anyTrustFastConfirmer:\n+ \"0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProofEntry (0x57EA090Ac0554d174AE0e2855B460e84A1A7C221)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract ChallengeManager (0x728B406A4809118533D96bB3b5C50712C99d8Fa5) {\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n sourceHashes.1:\n- \"0x58a6261c83c2766f749641902ad6fdb695ea189d2747f073b57a8f35b9a547e5\"\n+ \"0x1a095768302d7d1c3d02375eaa3341833b4f1aaac707e1c608bce478c87cbf27\"\n values.$implementation:\n- \"0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43\"\n+ \"0x02E05A9245C5853f895daDcc3A8216C953C8736B\"\n values.$pastUpgrades.2:\n+ [\"2024-10-30T18:24:35.000Z\",\"0xf18555dd5a5c4707f15cd5aa6dedd147bc01eb9212ff4d0e2751fc8ee97f8761\",[\"0x02E05A9245C5853f895daDcc3A8216C953C8736B\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.osp:\n- \"0x57EA090Ac0554d174AE0e2855B460e84A1A7C221\"\n+ \"0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProver0 (0x72B166070781a552D7b95a907eF59ca05d3D5a62)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMemory (0x8b73Ef238ADaB31EBC7c05423d243c345241a22f)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMath (0x90eC62De2EB7C7512a22bD2D55926AD6bA609F38)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x0003A96B27ce73505b43ea1b71a5aB06bec568C4)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```"
}
]
},
{
"id": "0ce23303",
"date": "Wed, 30 Oct 2024 12:22:51 GMT",
"timestamp": 1730290971,
"description": "Upgrade to ArbOS v20 on known L1 contracts and GelatoMultisig changes.",
"isHighSeverity": true,
"changeCount": 41,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract OneStepProofEntry (0x09824fe72BFF474d16D9c2774432E381BBD60662)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract RollupProxy (0x448Bbd134dE1B23976073aB4F2915849b2dcD73A) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v11 wasmModuleRoot\"\n+ \"ArbOS v20 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a\"\n+ \"0x8b104a2e80ac6165dc58b9048de12f301d70b02a0ab51396c22b4b4b802a16a4\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMemory (0x4811500e0d376Fa8d2EA3CCb7c61E0afB4F5A7f1)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract SequencerInbox (0x6CA2A628fb690Bd431F4aA608655ce37c66aff9d) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.1:\n- \"0x08792f333db7e8a060c38033f92e3fc10c30e2648c56fc49c7460ee1c94343a0\"\n+ \"0x50cf57b01499408fa99da27cf0fee96ec30f0d40667d1aa090c442bc80f0636b\"\n values.$implementation:\n- \"0x873484Ba63353C8b71210ce123B465512d408B27\"\n+ \"0x958985cf2c54f99ba4a599221A8090C1F9Cee9A5\"\n values.$pastUpgrades.1:\n+ [\"2024-10-30T09:43:11.000Z\",\"0xaf5b759f18a6b1150b87e3c0e93270201a165763e4f2d42d75bec75ab7f258bf\",[\"0x958985cf2c54f99ba4a599221A8090C1F9Cee9A5\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ description: Struct: delayBlocks, futureBlocks, delaySeconds, futureSeconds. onlyRollupOwner settable. Transactions can only be force-included after `delayBlocks` window (Sequencer-only) has passed.\n values.maxTimeVariation:\n- {\"delayBlocks\":5760,\"futureBlocks\":48,\"delaySeconds\":86400,\"futureSeconds\":3600}\n+ [5760,48,86400,3600]\n values.batchPosterManager:\n+ \"0x0000000000000000000000000000000000000000\"\n values.BROTLI_MESSAGE_HEADER_FLAG:\n+ \"0x00\"\n values.DAS_MESSAGE_HEADER_FLAG:\n+ \"0x80\"\n values.DATA_BLOB_HEADER_FLAG:\n+ \"0x50\"\n values.isUsingFeeToken:\n+ false\n values.reader4844:\n+ \"0x7Deda2425eC2d4EA0DF689A78de2fBF002075576\"\n values.TREE_DAS_MESSAGE_HEADER_FLAG:\n+ \"0x08\"\n values.ZERO_HEAVY_MESSAGE_HEADER_FLAG:\n+ \"0x20\"\n template:\n+ \"orbitstack/SequencerInbox\"\n description:\n+ \"A sequencer (registered in this contract) can submit transaction batches or commitments here.\"\n fieldMeta:\n+ {\"maxTimeVariation\":{\"description\":\"Struct: delayBlocks, futureBlocks, delaySeconds, futureSeconds. onlyRollupOwner settable. Transactions can only be force-included after `delayBlocks` window (Sequencer-only) has passed.\"}}\n }\n```\n\n```diff\n contract ChallengeManager (0x728B406A4809118533D96bB3b5C50712C99d8Fa5) {\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n sourceHashes.1:\n- \"0x7e1cd1e10119e118ffaa576ddbe1c0f9810a0859a4bf2f65a4ff596c0ed4183d\"\n+ \"0x58a6261c83c2766f749641902ad6fdb695ea189d2747f073b57a8f35b9a547e5\"\n values.$implementation:\n- \"0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754\"\n+ \"0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43\"\n values.$pastUpgrades.1:\n+ [\"2024-10-30T09:43:11.000Z\",\"0xaf5b759f18a6b1150b87e3c0e93270201a165763e4f2d42d75bec75ab7f258bf\",[\"0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.osp:\n- \"0x09824fe72BFF474d16D9c2774432E381BBD60662\"\n+ \"0x57EA090Ac0554d174AE0e2855B460e84A1A7C221\"\n template:\n+ \"orbitstack/ChallengeManager\"\n description:\n+ \"Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMath (0x89AF7C4C2198c426cFe6E86de0680A0850503e06)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverHostIo (0x99a2A31300816C1FA3f40818AC9280fe7271F878)\n +++ description: None\n```\n\n```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.8:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.7:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.6:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.5:\n- \"0xc85aC6d2fdC376F335455D4cCA30c45ED1080849\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.$threshold:\n- 6\n+ 4\n values.multisigThreshold:\n- \"6 of 9 (67%)\"\n+ \"4 of 8 (50%)\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProver0 (0xDf94F0474F205D086dbc2e66D69a856FCf520622)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x17e7F68ce50A77e55C7834ddF31AEf86403B8010)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0x57EA090Ac0554d174AE0e2855B460e84A1A7C221)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x72B166070781a552D7b95a907eF59ca05d3D5a62)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0x8b73Ef238ADaB31EBC7c05423d243c345241a22f)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0x90eC62De2EB7C7512a22bD2D55926AD6bA609F38)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```"
}
]
},
{
"id": "47a90d29",
"date": "Fri, 11 Oct 2024 10:33:43 GMT",
"timestamp": 1728642823,
"description": "Gelato MS signer removed, one DAC member added, one changed.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerInbox (0x6CA2A628fb690Bd431F4aA608655ce37c66aff9d) {\n +++ description: None\n values.dacKeyset.membersCount:\n- 1\n+ 2\n values.dacKeyset.blsSignatures.1:\n+ \"YAbEnnI/RpbGv0lwkp7I0JhTwGaPz8lEVjkr8SE9LlTrPiEeRegjYymNY2doPnin1hOQfpQuGBRjgxaw3h8lIoBxn31tIMbc3I2pjRBuZhF14klu+I1bkluXRJO9ZYmC9BACIIohozMTWRXI/ej0MFQytyvZsXN2PWKKky0Yy+RzUP7Y7982vn4X81IwuZ4FdhIbogTvc6RSDzgPhiH2ejRB6XPlRT/f76KeNWZogD299lBrYySIceH/aA98cp3ixA7/ryLG6sD2VddYDdfsoSQbTbWuUQrO5/DK3SlMtbMv+vKqMNgCjstJ2DJXPKhiOhQ5nsnOZg9cSalU6LbPPFDdSO/0h09HXno290Iw0yxS20SGmx51lO6q/vEgX0OVvw==\"\n values.dacKeyset.blsSignatures.0:\n- \"YAiqbxEldcCCF4w3w4rdcfKobllBTGfReIRDwPzEQlUlhq7UFfj70vGcsqwwgzVnNwfqObDvYQ8k5tB5MNDBqJawE4yLZrjazXPba/DQAQ1uXDhXE0OzvZQJxgFrsmkijRBd/Oj24eTJLFV3UrOPE+g9S5wrfTmWwtbVsfYxYSr+KgAKrOy1BsB/MQU8UTtS7g5QNaIGGpwVnDp5RgtpEo1KHrcio4YmEi7HZHsgkpiuTev93ju4EMtrIYN29H8YDhV2UNYA0ZsoQF2B0rbNNp0bWQi6SlnTd9jd4Xffqnol1fmwL6qNWtln4DbfvpK3ZxSNtNvO5GsfPCcbwDPv+kR9ywNQHcDCsJluydK1jMzJLlXUFxuNy3uWUHV+9sBo6g==\"\n+ \"YAfz7xTJCh4W2eYRm14dHI9/MzmE4XpACAD8kSdGPQR9hYj0KVfOfn84xCnXxPRLoBOUCU4l4rzz0HSU3joV5kuBxKQh46L3yZ0h0oP4MXFOG8cbV5oIs2WFjP6s4sPZpRVYhGBPsMSEuD/52l2fMMZTaAQ2p9Vb8VDlSCad3tigl9luWtLItup5DuAS6ixUVBDajyKu9RIGApJwPgtr5dtorAuQ01M6DUhcLM5EPOafuzwvqMywUVmv5YEBJZ96JweOpBJHh7Vs3FKnaR/aDewkrnJBUAlOmW/O09NsbrAGovEQboyn/j17TLfkJVOriQllp0SQJtD/L6somLazwnkbGpN1e0pFod/jqIPI/fetEu6KvteYLX37lzjJQ4l8pA==\"\n values.keySetUpdates:\n- 1\n+ 2\n }\n```\n\n```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.9:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.8:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.7:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.6:\n- \"0x27b1682E9C5Cb0E58Ff474F3a13EeCC36E708ad3\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.multisigThreshold:\n- \"6 of 10 (60%)\"\n+ \"6 of 9 (67%)\"\n }\n```"
}
]
},
{
"id": "853099d1",
"date": "Wed, 29 May 2024 05:29:13 GMT",
"timestamp": 1716960553,
"description": "The EOA is removed from EXECUTOR_ROLE.members. The rollup can now be upgraded by the 6/10 Reya Multisig only.",
"isHighSeverity": false,
"changeCount": 15,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract UpgradeExecutor (0x07390626b8Bc2C04b1D93c7D246A0629198D7868) {\n +++ description: None\n values.accessControl.EXECUTOR_ROLE.members.1:\n- \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n values.accessControl.EXECUTOR_ROLE.members.0:\n- \"0x91Ef6E02740bDcc9dB248F995c7f394D7617d7a1\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract ReyaMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n upgradeability.threshold:\n- \"5 of 9 (56%)\"\n+ \"6 of 10 (60%)\"\n values.getOwners.9:\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.getOwners.8:\n- \"0xebD4919C075417a86F19713dADe101852867A04F\"\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.getOwners.7:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.getOwners.6:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0x27b1682E9C5Cb0E58Ff474F3a13EeCC36E708ad3\"\n values.getOwners.5:\n- \"0x27b1682E9C5Cb0E58Ff474F3a13EeCC36E708ad3\"\n+ \"0xc85aC6d2fdC376F335455D4cCA30c45ED1080849\"\n values.getOwners.4:\n- \"0xc85aC6d2fdC376F335455D4cCA30c45ED1080849\"\n+ \"0xBc0ca6865d6883a83D4aDDD6b862aE042d855E0d\"\n values.getOwners.3:\n- \"0xBc0ca6865d6883a83D4aDDD6b862aE042d855E0d\"\n+ \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n values.getOwners.2:\n- \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n values.getOwners.1:\n- \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n+ \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.getOwners.0:\n- \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n+ \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n values.getThreshold:\n- 5\n+ 6\n values.nonce:\n- 0\n+ 4\n }\n```"
}
]
},
{
"id": "55f0c755",
"date": "Wed, 22 May 2024 17:36:40 GMT",
"timestamp": 1716399400,
"description": "A new Executor is added (a multisig) but the old EOA admin is still not removed.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract UpgradeExecutor (0x07390626b8Bc2C04b1D93c7D246A0629198D7868) {\n +++ description: None\n values.accessControl.EXECUTOR_ROLE.members.1:\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract ReyaMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```"
}
]
},
{
"id": "6ff9cd6d",
"date": "Tue, 14 May 2024 09:35:12 GMT",
"timestamp": 1715679312,
"description": "The challenge period (`confirmPeriodBlocks`) is increased from 30m and now matches the self-propose (`VALIDATOR_AFK_BLOCKS`) delay of 6d 8h.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0x448Bbd134dE1B23976073aB4F2915849b2dcD73A) {\n +++ description: None\n values.confirmPeriodBlocks:\n- 150\n+ 45818\n }\n```"
}
]
},
{
"id": "bdb5406e",
"date": "Fri, 03 May 2024 12:27:40 GMT",
"timestamp": 1714739260,
"description": "Initial discovery for Reya network (Orbit stack L2). 1.0 code similarity (identical) to popapex L3 when excluding the socket vault and Mulltisig.",
"isHighSeverity": false,
"changeCount": 18,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract UpgradeExecutor (0x07390626b8Bc2C04b1D93c7D246A0629198D7868)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0x09824fe72BFF474d16D9c2774432E381BBD60662)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract (0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0x383c03c4EfF819E73409DbC690755a9992393814)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0x3f373b0A7DcEe7b7bCfC16DF85CfAE18388542c9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0x448Bbd134dE1B23976073aB4F2915849b2dcD73A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0x4811500e0d376Fa8d2EA3CCb7c61E0afB4F5A7f1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (0x672109752635177ebcb17F2C7e04575A709014BD)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0x6CA2A628fb690Bd431F4aA608655ce37c66aff9d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0x728B406A4809118533D96bB3b5C50712C99d8Fa5)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0x89AF7C4C2198c426cFe6E86de0680A0850503e06)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x99a2A31300816C1FA3f40818AC9280fe7271F878)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorWalletCreator (0x9CAd81628aB7D8e239F1A5B497313341578c5F71)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0xDf94F0474F205D086dbc2e66D69a856FCf520622)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SocketVault_Reya (0xdFf78A949E47c1e90f3Dd6dd7Fe2Fa72B42a75f7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RollupEventInbox (0xFd9f59554351122b231F832a0e0A1aBb0604D7fd)\n +++ description: None\n```"
}
]
}
]
+15 -1
+1 -1
{
"baseTimestamp": 1790671700,
"baseTimestamp": 1792495058,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "8b235667",
"date": "Wed, 21 Oct 2026 12:46:56 GMT",
"timestamp": 1792495058,
"description": "ArbFilteredTransactionsManager: filter list 6096 → 6144.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ArbFilteredTransactionsManager (robinhood:0x0000000000000000000000000000000000000074) [N/A] {\n +++ description: ArbOS 61 transaction-filtering precompile. An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay.\n values.filteredTransactionsAdded:\n- 6096\n+ 6144\n }\n```"
}
]
},
{
"id": "5dfb7db3",
"date": "Tue, 29 Sep 2026 09:01:45 GMT",
"timestamp": 1790671700,
"description": "Routine rediscovery after explorer change",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ArbFilteredTransactionsManager (robinhood:0x0000000000000000000000000000000000000074) [N/A] {\n +++ description: ArbOS 61 transaction-filtering precompile. An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay.\n deployerAddress:\n- \"robinhood:0x0000000000000000000000000000000000000000\"\n sinceTimestamp:\n- 1777567931\n sinceBlock:\n- 0\n values.filteredTransactionsAdded:\n- 6092\n+ 6096\n }\n```\n\n```diff\n contract L2UpgradeExecutor (robinhood:0x2A153c6A1B66DBc930a8d7017230ab0253005C09) [orbitstack/UpgradeExecutor] {\n +++ description: ArbOS chain owner (UpgradeExecutor). Manages the ArbOwner chain-owner set and the transaction-filterer set, and can upgrade ArbOS configuration without delay.\n values.chainOwners.1:\n+ \"robinhood:0x5Eb36FD3A11f3A123c046E3BF84195BB4f5A2690\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (robinhood:0x59f83b75bD225b9c9981B04982639625c88dFb1E) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ResourceConstraintManager (robinhood:0x5Eb36FD3A11f3A123c046E3BF84195BB4f5A2690) [orbitstack/layer2/ResourceConstraintManager]\n +++ description: ArbOS chain owner that can only set the gas pricing constraints of the L2 base fee model within hardcoded bounds. Anyone can remove it from the chain owners after the expiry timestamp.\n```"
}
]
},
{
"id": "0ca66178",
"date": "Tue, 01 Sep 2026 22:19:14 GMT",
"timestamp": 1788301081,
"description": "Stopped tracking the tokenized stocks and their AccessControlsRegistry: they are apps on top of the chain, not chain infrastructure. Removes `0xd060…9EEC` and `0xe10b…1b00` from initialAddresses, which also clears the EOA upgrade warning. RollupProxy `arbOsFromWmRoot` now resolves to ArbOS v61; SafeL2 `0x3A0C…7a1C` became verified.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ArbFilteredTransactionsManager (robinhood:0x0000000000000000000000000000000000000074) [N/A] {\n +++ description: ArbOS 61 transaction-filtering precompile. An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay.\n values.filteredTransactionsAdded:\n- 6091\n+ 6092\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n contract SafeL2 (robinhood:0x3A0C507Cc7F8785C877359ad49d0476966d17a1C) [GnosisSafe] {\n +++ description: None\n unverified:\n- true\n sourceHashes.0:\n- null\n+ \"0xfe0725afd3cf2e5fb7627005a6bcf13ef7e35f78034eed2211edbffdb6a9aab5\"\n implementationNames.robinhood:0x3A0C507Cc7F8785C877359ad49d0476966d17a1C:\n- \"\"\n+ \"SafeProxy\"\n }\n```"
}
]
},
{
"id": "70db2222",
"date": "Mon, 10 Aug 2026 11:04:49 GMT",
"timestamp": 1786359815,
"description": "ArbFilteredTransactionsManager: 3 more transactions were added to the filter list. Remaining entries are config-driven permission updates, not onchain changes.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ArbFilteredTransactionsManager (robinhood:0x0000000000000000000000000000000000000074) [N/A] {\n +++ description: ArbOS 61 transaction-filtering precompile. An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay.\n values.filteredTransactionsAdded:\n- 6088\n+ 6091\n }\n```"
}
]
},
{
"id": "69c32e44",
"date": "Thu, 30 Jul 2026 11:09:48 GMT",
"timestamp": 1785409713,
"description": "ArbFilteredTransactionsManager recorded one more filtered transaction hash (6087 -> 6088).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ArbFilteredTransactionsManager (robinhood:0x0000000000000000000000000000000000000074) [N/A] {\n +++ description: ArbOS 61 transaction-filtering precompile. An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay.\n values.filteredTransactionsAdded:\n- 6087\n+ 6088\n }\n```"
}
]
},
{
"id": "364d15b2",
"date": "Tue, 21 Jul 2026 09:46:50 GMT",
"timestamp": 1784626795,
"description": "Config: add rwa access control contract to the monitoring.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ArbFilteredTransactionsManager (robinhood:0x0000000000000000000000000000000000000074) [N/A] {\n +++ description: ArbOS 61 transaction-filtering precompile. An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay.\n values.filteredTransactionsAdded:\n- 6086\n+ 6087\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract NVIDIA • Robinhood Token (robinhood:0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC) [robinhood/rwa]\n +++ description: ERC-20-compatible Robinhood Stock Token logic. Transfers, approvals and permits are permissionless for addresses that are not blocked in the shared AccessControlsRegistry; there is no onchain KYC or allowlist. The registry's roles can mint, burn arbitrary holders' balances, confiscate balances even while paused or blocked, pause this token or all tokens, change metadata and the UI multiplier, and upgrade the shared beacon implementation.\n```\n\n```diff\n+ Status: CREATED\n contract AccessControlsRegistry (robinhood:0xe10b6f6B275de231345c20D14Ab812db62151b00) [robinhood/accessControlsRegistry]\n +++ description: Shared access-control registry and upgrade beacon for Robinhood Stock Tokens. Its roles apply across every token implementation that points to this registry: they control upgrades, global and per-token pauses, the shared blocklist, issuance, arbitrary holder burns, metadata and UI multipliers.\n```"
}
]
},
{
"id": "324fae10",
"date": "Mon, 20 Jul 2026 14:13:02 GMT",
"timestamp": 1784556704,
"description": "Recent transaction-filtering increase due to a single wallet being blocked — the\nhoneypot behind the fake \"Robinhood founder seed-phrase leak\". Filtered\ntransactions rose from 278 to 6,086; none have been reversed.\n\nAdded the L1 timelock ProxyAdmin (OpenZeppelin v5.0.0) to the ProxyAdmin template.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ArbFilteredTransactionsManager (robinhood:0x0000000000000000000000000000000000000074) [N/A] {\n +++ description: ArbOS 61 transaction-filtering precompile. An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay.\n values.filteredTransactionsAdded:\n- 278\n+ 6086\n }\n```"
}
]
},
{
"id": "28939e78",
"date": "Tue, 14 Jul 2026 15:55:02 GMT",
"timestamp": 1784044401,
"description": "The ArbFilteredTransactionsManager now reports 278 added filtered transaction\nhashes, up from 2 in the previous discovery. No filtered transaction hash has\nbeen deleted. Transaction filtering is active: an authorized filterer can register\na transaction hash and make the state transition fail that transaction, including\none force-included from L1.\n\nGovernance was restructured on both L1 and L2:\n\n- The single 2-of-3 admin multisig was replaced by a 7-of-8 multisig and a\n 7-day timelock. The 7-of-8 multisig remains a direct executor, so upgrades can\n still bypass the timelock delay.\n- A separate 6-of-8 multisig can propose and cancel timelock actions.\n- The timelock and its admin contracts are now verified on Etherscan and\n Blockscout.",
"isHighSeverity": false,
"changeCount": 27,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (eth:0x1F3Bdec08A161Ca9e5480feF33A3B2278c2931C5) [GnosisSafe] {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"eth:0x23A19d23e89166adedbDcB432518AB01e4272D94\",\"description\":\"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability and DACs, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0x1A07cc4BD17E0118BdB54D70990D2158AbAD7a2D\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x1232813BDd40aa9d53066A880dE78a4Be70B90FD\"},{\"address\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0x23A19d23e89166adedbDcB432518AB01e4272D94\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x1232813BDd40aa9d53066A880dE78a4Be70B90FD\"},{\"address\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0x6a2E3a1e16FC29f27Ce61429746D558d656975bB\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x1232813BDd40aa9d53066A880dE78a4Be70B90FD\"},{\"address\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0x6f38FC91105Fc9a43931DcA33450ab3315E3D4Fa\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x1232813BDd40aa9d53066A880dE78a4Be70B90FD\"},{\"address\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0x85001CC4867C5e1C22dA4B79BB8852B9e2a06da0\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x1232813BDd40aa9d53066A880dE78a4Be70B90FD\"},{\"address\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0xBd0D173EEb87D57A09521c24388a12789F33ba96\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x1232813BDd40aa9d53066A880dE78a4Be70B90FD\"},{\"address\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0xc34f4907822d1cDC6aE3038Be22e6f12DEa35bd4\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x1232813BDd40aa9d53066A880dE78a4Be70B90FD\"},{\"address\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0xDf8755334ce7A73cCF6b581C02eA649AE3E864b3\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x1232813BDd40aa9d53066A880dE78a4Be70B90FD\"},{\"address\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0xf0ce991ea4A0d2400A4AB49b20ae333f6Dce3DE9\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x1232813BDd40aa9d53066A880dE78a4Be70B90FD\"},{\"address\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0xF7e12b9614b509C747ab4423bC4ACF923759Cf1B\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x1232813BDd40aa9d53066A880dE78a4Be70B90FD\"},{\"address\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\"}]}]\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\",\"role\":\".executors\"}]\n }\n```\n\n```diff\n contract UpgradeExecutor (eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf) [orbitstack/UpgradeExecutor] {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n values.accessControl.EXECUTOR_ROLE.members.0:\n+ \"eth:0x7Ae50886c7EA0394613aa7Dcc287a5c9650784b6\"\n values.accessControl.EXECUTOR_ROLE.members.0:\n- \"eth:0x1F3Bdec08A161Ca9e5480feF33A3B2278c2931C5\"\n+ \"eth:0xE1e825D15192457d05a251715C3e2Cab0F8CF465\"\n values.executors.0:\n+ \"eth:0x7Ae50886c7EA0394613aa7Dcc287a5c9650784b6\"\n values.executors.0:\n- \"eth:0x1F3Bdec08A161Ca9e5480feF33A3B2278c2931C5\"\n+ \"eth:0xE1e825D15192457d05a251715C3e2Cab0F8CF465\"\n directlyReceivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xE1e825D15192457d05a251715C3e2Cab0F8CF465\",\"description\":\"manage all access control roles.\",\"role\":\".defaultAdminAC\"}\n }\n```\n\n```diff\n contract ArbFilteredTransactionsManager (robinhood:0x0000000000000000000000000000000000000074) [N/A] {\n +++ description: ArbOS 61 transaction-filtering precompile. An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay.\n values.filteredTransactionsAdded:\n- 2\n+ 278\n }\n```\n\n```diff\n- Status: DELETED\n contract SafeL2 (robinhood:0x1F3Bdec08A161Ca9e5480feF33A3B2278c2931C5) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract L2UpgradeExecutor (robinhood:0x2A153c6A1B66DBc930a8d7017230ab0253005C09) [orbitstack/UpgradeExecutor] {\n +++ description: ArbOS chain owner (UpgradeExecutor). Manages the ArbOwner chain-owner set and the transaction-filterer set, and can upgrade ArbOS configuration without delay.\n values.accessControl.EXECUTOR_ROLE.members.1:\n+ \"robinhood:0x6b9F63817F1442e40Bb9c3C2207758934C323FdC\"\n values.accessControl.EXECUTOR_ROLE.members.1:\n- \"robinhood:0x1F3Bdec08A161Ca9e5480feF33A3B2278c2931C5\"\n+ \"robinhood:0x560C81fe78FcC276e460524428f1a62057Ca8173\"\n values.executors.1:\n+ \"robinhood:0x6b9F63817F1442e40Bb9c3C2207758934C323FdC\"\n values.executors.1:\n- \"robinhood:0x1F3Bdec08A161Ca9e5480feF33A3B2278c2931C5\"\n+ \"robinhood:0x560C81fe78FcC276e460524428f1a62057Ca8173\"\n directlyReceivedPermissions.0:\n+ {\"permission\":\"act\",\"from\":\"robinhood:0x672Da8B43058D1bC78956d71d9A208E168E2a3EF\",\"role\":\".owner\"}\n directlyReceivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"robinhood:0x560C81fe78FcC276e460524428f1a62057Ca8173\",\"description\":\"manage all access control roles.\",\"role\":\".defaultAdminAC\"}\n }\n```\n\n```diff\n EOA (robinhood:0x663703B4bC1F5e896Af2854548d6380F45F1C5D0) {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"robinhood:0x560C81fe78FcC276e460524428f1a62057Ca8173\",\"description\":\"manage all access control roles.\",\"role\":\".defaultAdminAC\",\"via\":[{\"address\":\"robinhood:0x2A153c6A1B66DBc930a8d7017230ab0253005C09\"}]}\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"robinhood:0x560C81fe78FcC276e460524428f1a62057Ca8173\",\"role\":\"admin\",\"via\":[{\"address\":\"robinhood:0x672Da8B43058D1bC78956d71d9A208E168E2a3EF\"},{\"address\":\"robinhood:0x2A153c6A1B66DBc930a8d7017230ab0253005C09\"}]}\n }\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x0fc5c64074641e677Fb86bCE80303a2eE64344Ac) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (eth:0x4e393071053C5d95771b1B716857d65cdf5B1839) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x7Ae50886c7EA0394613aa7Dcc287a5c9650784b6) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0xbFc2b53552513174A0B006D4799B39871fe0CA1d) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract TimelockController (eth:0xE1e825D15192457d05a251715C3e2Cab0F8CF465) [global/TimelockController]\n +++ description: A timelock with access control. The current minimum delay is 7d.\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (robinhood:0x3A0C507Cc7F8785C877359ad49d0476966d17a1C) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (robinhood:0x4C0360aFedD31e53718e4343F95E40b692402462) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract TimelockController (robinhood:0x560C81fe78FcC276e460524428f1a62057Ca8173) [global/TimelockController]\n +++ description: A timelock with access control. The current minimum delay is 7d.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (robinhood:0x672Da8B43058D1bC78956d71d9A208E168E2a3EF) [global/ProxyAdmin]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (robinhood:0x6b9F63817F1442e40Bb9c3C2207758934C323FdC) [GnosisSafe]\n +++ description: None\n```"
}
]
},
{
"id": "ebc0d17e",
"date": "Tue, 07 Jul 2026 22:02:36 GMT",
"timestamp": 1783461693,
"description": "ProxyAdmin, Inbox and the eight upgradeable proxies became verified on Etherscan; the permission view now shows the upgrade chain through ProxyAdmin.",
"isHighSeverity": false,
"changeCount": 36,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n contract ProxyAdmin (eth:0x1232813BDd40aa9d53066A880dE78a4Be70B90FD) [global/ProxyAdmin] {\n +++ description: None\n unverified:\n- true\n receivedPermissions:\n- [{\"permission\":\"upgrade\",\"from\":\"eth:0x1A07cc4BD17E0118BdB54D70990D2158AbAD7a2D\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0x6a2E3a1e16FC29f27Ce61429746D558d656975bB\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0x6f38FC91105Fc9a43931DcA33450ab3315E3D4Fa\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0x85001CC4867C5e1C22dA4B79BB8852B9e2a06da0\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0xBd0D173EEb87D57A09521c24388a12789F33ba96\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0xc34f4907822d1cDC6aE3038Be22e6f12DEa35bd4\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0xDf8755334ce7A73cCF6b581C02eA649AE3E864b3\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0xf0ce991ea4A0d2400A4AB49b20ae333f6Dce3DE9\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0xF7e12b9614b509C747ab4423bC4ACF923759Cf1B\",\"role\":\"admin\"}]\n values.owner:\n+ \"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\"\n implementationNames.eth:0x1232813BDd40aa9d53066A880dE78a4Be70B90FD:\n- \"\"\n+ \"ProxyAdmin\"\n template:\n+ \"global/ProxyAdmin\"\n sourceHashes:\n+ [\"0xae641c7d7a83bba7fa913b9544f946dc23ca0527c2f4abb9c6a3496f49375218\"]\n directlyReceivedPermissions:\n+ [{\"permission\":\"upgrade\",\"from\":\"eth:0x1A07cc4BD17E0118BdB54D70990D2158AbAD7a2D\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0x6a2E3a1e16FC29f27Ce61429746D558d656975bB\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0x6f38FC91105Fc9a43931DcA33450ab3315E3D4Fa\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0x85001CC4867C5e1C22dA4B79BB8852B9e2a06da0\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0xBd0D173EEb87D57A09521c24388a12789F33ba96\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0xc34f4907822d1cDC6aE3038Be22e6f12DEa35bd4\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0xDf8755334ce7A73cCF6b581C02eA649AE3E864b3\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0xf0ce991ea4A0d2400A4AB49b20ae333f6Dce3DE9\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"eth:0xF7e12b9614b509C747ab4423bC4ACF923759Cf1B\",\"role\":\"admin\"}]\n }\n```\n\n```diff\n contract Inbox (eth:0x1A07cc4BD17E0118BdB54D70990D2158AbAD7a2D) [orbitstack/Inbox] {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n unverified:\n- true\n sourceHashes.0:\n- null\n+ \"0xd87f004d37330210f1eb137e4498b14ba6340f079eaa0e9e7a22c1d4f76dde7d\"\n implementationNames.eth:0x1A07cc4BD17E0118BdB54D70990D2158AbAD7a2D:\n- \"\"\n+ \"TransparentUpgradeableProxy\"\n }\n```\n\n```diff\n contract RollupProxy (eth:0x23A19d23e89166adedbDcB432518AB01e4272D94) [orbitstack/RollupProxyBoLD] {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n unverified:\n- true\n sourceHashes.0:\n- null\n+ \"0xceae1f18c42f53fe2c8af2f1e6997f71f806199ea36af2e17279efdb25f798a6\"\n implementationNames.eth:0x23A19d23e89166adedbDcB432518AB01e4272D94:\n- \"\"\n+ \"RollupProxy\"\n }\n```\n\n```diff\n contract UpgradeExecutor (eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf) [orbitstack/UpgradeExecutor] {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n unverified:\n- true\n sourceHashes.0:\n- null\n+ \"0xd87f004d37330210f1eb137e4498b14ba6340f079eaa0e9e7a22c1d4f76dde7d\"\n directlyReceivedPermissions.0:\n+ {\"permission\":\"act\",\"from\":\"eth:0x1232813BDd40aa9d53066A880dE78a4Be70B90FD\",\"role\":\".owner\"}\n implementationNames.eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf:\n- \"\"\n+ \"TransparentUpgradeableProxy\"\n }\n```\n\n```diff\n contract EdgeChallengeManager (eth:0x6f38FC91105Fc9a43931DcA33450ab3315E3D4Fa) [orbitstack/EdgeChallengeManager] {\n +++ description: Contract that implements the main challenge protocol logic of the fraud proof system.\n unverified:\n- true\n sourceHashes.0:\n- null\n+ \"0xd87f004d37330210f1eb137e4498b14ba6340f079eaa0e9e7a22c1d4f76dde7d\"\n implementationNames.eth:0x6f38FC91105Fc9a43931DcA33450ab3315E3D4Fa:\n- \"\"\n+ \"TransparentUpgradeableProxy\"\n }\n```\n\n```diff\n contract SequencerInbox (eth:0xBd0D173EEb87D57A09521c24388a12789F33ba96) [orbitstack/SequencerInbox] {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n unverified:\n- true\n sourceHashes.0:\n- null\n+ \"0xd87f004d37330210f1eb137e4498b14ba6340f079eaa0e9e7a22c1d4f76dde7d\"\n implementationNames.eth:0xBd0D173EEb87D57A09521c24388a12789F33ba96:\n- \"\"\n+ \"TransparentUpgradeableProxy\"\n }\n```\n\n```diff\n contract RollupEventInbox (eth:0xc34f4907822d1cDC6aE3038Be22e6f12DEa35bd4) [orbitstack/RollupEventInbox] {\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n unverified:\n- true\n sourceHashes.0:\n- null\n+ \"0xd87f004d37330210f1eb137e4498b14ba6340f079eaa0e9e7a22c1d4f76dde7d\"\n implementationNames.eth:0xc34f4907822d1cDC6aE3038Be22e6f12DEa35bd4:\n- \"\"\n+ \"TransparentUpgradeableProxy\"\n }\n```\n\n```diff\n contract Bridge (eth:0xDf8755334ce7A73cCF6b581C02eA649AE3E864b3) [orbitstack/Bridge] {\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n unverified:\n- true\n sourceHashes.0:\n- null\n+ \"0xd87f004d37330210f1eb137e4498b14ba6340f079eaa0e9e7a22c1d4f76dde7d\"\n implementationNames.eth:0xDf8755334ce7A73cCF6b581C02eA649AE3E864b3:\n- \"\"\n+ \"TransparentUpgradeableProxy\"\n }\n```\n\n```diff\n contract Outbox (eth:0xf0ce991ea4A0d2400A4AB49b20ae333f6Dce3DE9) [orbitstack/Outbox] {\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n unverified:\n- true\n sourceHashes.0:\n- null\n+ \"0xd87f004d37330210f1eb137e4498b14ba6340f079eaa0e9e7a22c1d4f76dde7d\"\n implementationNames.eth:0xf0ce991ea4A0d2400A4AB49b20ae333f6Dce3DE9:\n- \"\"\n+ \"TransparentUpgradeableProxy\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract ArbFilteredTransactionsManager (robinhood:0x0000000000000000000000000000000000000074) [N/A]\n +++ description: ArbOS 61 transaction-filtering precompile. An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay.\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (robinhood:0x1F3Bdec08A161Ca9e5480feF33A3B2278c2931C5) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2UpgradeExecutor (robinhood:0x2A153c6A1B66DBc930a8d7017230ab0253005C09) [orbitstack/UpgradeExecutor]\n +++ description: ArbOS chain owner (UpgradeExecutor). Manages the ArbOwner chain-owner set and the transaction-filterer set, and can upgrade ArbOS configuration without delay.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (robinhood:0xa3Acd31AFb851B4eB9DAD00F5204c01D924267dF) [global/ProxyAdmin]\n +++ description: None\n```"
}
]
},
{
"id": "7e996332",
"date": "Thu, 02 Jul 2026 10:38:22 GMT",
"timestamp": 1782988636,
"description": "Initial discovery.\n\nThe chain uses ArbOS 61 core contracts, newer builds of standard Orbit contracts.\n\n- **SequencerInbox** — [diff](https://disco.l2beat.com/diff/eth:0x98a58ADAb0f8A66A1BF4544d804bc0475dff32c7/eth:0xb015D78fb9B890e96FD3E23819b2C8D9fffA3cC5)\n Adds an owner-only `setFeeTokenPricer` (inert here: `isUsingFeeToken=false`, `feeTokenPricer=0x0`), a custom-DA header flag (`0x01`, unused — chain posts blobs), and delay-proof paths. No new actors beyond the existing owner/batchPoster.\n- **RollupProxy (RollupAdminLogic)** — [diff](https://disco.l2beat.com/diff/eth:0x7FC126FF51183a78C5E0437467f325f661D8Df17/eth:0xAb7A44CE7e66963d2116dCe74AB63eeF88266C82)\n ArbOS 61 admin logic; all setters (allowlist, fee-token, batch-poster mgr, AFK-whitelist) stay owner-gated — covered by the template `owner` permission.\n- **RollupProxy (RollupUserLogic)** — [diff](https://disco.l2beat.com/diff/eth:0x6490bA0a60Cc7d3a59C9eeE135D9eeD24553a60d/eth:0xedC23dFC7D1e57EC07eA5ff7419634DbAe08Ed2C)\n ArbOS 61 user logic; BoLD assertion/force-inclusion flow and `getValidators` proposer set unchanged.\n- **RollupEventInbox** — [diff](https://disco.l2beat.com/diff/eth:0x6D576E220Cb44C3E8eF75D0EfBeb1Ff041e2E4A5/eth:0x796FeE4adceD1cb47a3e3d1B6925472F8fC8f1f9)\n BoLD event inbox; only `initialize` is rollup-gated, no standing permissions.\n- **OneStepProofEntry** — [diff](https://disco.l2beat.com/diff/eth:0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC/eth:0x5087a6fD526eFD5c6770d94D0c325de0e2A2c44D)\n Proof dispatcher (ArbOS 61 opcode set); immutable constructor-set prover addresses, no mutable state, no permissions.\n- **OneStepProver0** — [diff](https://disco.l2beat.com/diff/eth:0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5/eth:0x6fE84aC811EBEcd888Eca93757fEa378Bb03b00c)\n Stateless one-step WASM verifier; ArbOS 61 opcode updates only, no state/permissions.\n- **OneStepProverMath** — [diff](https://disco.l2beat.com/diff/eth:0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD/eth:0x4B15E064d5d55705E89080bDEA4BFe4cF20D6114)\n Stateless math-opcode verifier; ArbOS 61 opcode updates only, no state/permissions.\n- **OneStepProverMemory** — [diff](https://disco.l2beat.com/diff/eth:0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB/eth:0x665CEA1cA6C36aB701f4C6AE895b156f79C51c35)\n Stateless memory-opcode verifier; ArbOS 61 opcode updates only, no state/permissions.\n- **OneStepProverHostIo** — [diff](https://disco.l2beat.com/diff/eth:0x0003A96B27ce73505b43ea1b71a5aB06bec568C4/eth:0xe1aAfAfBde42f043495B39d1a15a58E91c894Fbf)\n Host-io verifier (ArbOS 61 host-io/opcode updates); immutable `customDAValidator` (`0x0` here, so custom-DA proof paths revert), no mutable state, no permissions.",
"isHighSeverity": false,
"changeCount": 19,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract ProxyAdmin (eth:0x1232813BDd40aa9d53066A880dE78a4Be70B90FD) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (eth:0x1A07cc4BD17E0118BdB54D70990D2158AbAD7a2D) [orbitstack/Inbox]\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x1F3Bdec08A161Ca9e5480feF33A3B2278c2931C5) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (eth:0x23A19d23e89166adedbDcB432518AB01e4272D94) [orbitstack/RollupProxyBoLD]\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (eth:0x4B15E064d5d55705E89080bDEA4BFe4cF20D6114) [orbitstack/OneStepProverMath]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (eth:0x5087a6fD526eFD5c6770d94D0c325de0e2A2c44D) [orbitstack/OneStepProofEntry]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (eth:0x552603b4bc1f5E896AF2854548D6380f45f1B4bf) [orbitstack/UpgradeExecutor]\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (eth:0x665CEA1cA6C36aB701f4C6AE895b156f79C51c35) [orbitstack/OneStepProverMemory]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract L1GatewayRouter (eth:0x6a2E3a1e16FC29f27Ce61429746D558d656975bB) [orbitstack/GatewayRouter]\n +++ description: This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n```\n\n```diff\n+ Status: CREATED\n contract EdgeChallengeManager (eth:0x6f38FC91105Fc9a43931DcA33450ab3315E3D4Fa) [orbitstack/EdgeChallengeManager]\n +++ description: Contract that implements the main challenge protocol logic of the fraud proof system.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (eth:0x6fE84aC811EBEcd888Eca93757fEa378Bb03b00c) [orbitstack/OneStepProver0]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC20Gateway (eth:0x85001CC4867C5e1C22dA4B79BB8852B9e2a06da0) [orbitstack/ERC20Gateway]\n +++ description: Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (eth:0xBd0D173EEb87D57A09521c24388a12789F33ba96) [orbitstack/SequencerInbox]\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\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 RollupEventInbox (eth:0xc34f4907822d1cDC6aE3038Be22e6f12DEa35bd4) [orbitstack/RollupEventInbox]\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (eth:0xDf8755334ce7A73cCF6b581C02eA649AE3E864b3) [orbitstack/Bridge]\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (eth:0xe1aAfAfBde42f043495B39d1a15a58E91c894Fbf) [orbitstack/OneStepProverHostIo]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (eth:0xf0ce991ea4A0d2400A4AB49b20ae333f6Dce3DE9) [orbitstack/Outbox]\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract L1WethGateway (eth:0xF7e12b9614b509C747ab4423bC4ACF923759Cf1B) [N/A]\n +++ description: None\n```"
}
]
}
]
+18 -4
+3 -3
{
"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 * 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",
"address": "eth:0xa564C83958f7F9fA5a255a540EF5e49445873104",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
"name": "0xa564…3104",
"url": "https://etherscan.io/address/0xa564C83958f7F9fA5a255a540EF5e49445873104"
},
{
"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 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-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0xD0b4c3aC8A50B6F1B3949ADaf55Cc9805620EB57",
"type": "EOA",
"isVerified": true,
"name": "0xD0b4…EB57",
"url": "https://etherscan.io/address/0xD0b4c3aC8A50B6F1B3949ADaf55Cc9805620EB57",
"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
}
]
}
}
+1 -1
{
"baseTimestamp": 1790944912,
"baseTimestamp": 1792587967,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "374bfdb7",
"date": "Wed, 21 Oct 2026 13:32:12 GMT",
"timestamp": 1792587967,
"description": "OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n+ \"eth:0xa564C83958f7F9fA5a255a540EF5e49445873104\"\n }\n```"
}
]
},
{
"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```"
}
]
}
]
+18 -4
+3 -3
{
"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 * 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",
"address": "eth:0xa564C83958f7F9fA5a255a540EF5e49445873104",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
"name": "0xa564…3104",
"url": "https://etherscan.io/address/0xa564C83958f7F9fA5a255a540EF5e49445873104"
},
{
"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 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-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0xF7ca543d652E38692fD12f989eb55b5327eC9A20",
"type": "EOA",
"isVerified": true,
"name": "0xF7ca…9A20",
"url": "https://etherscan.io/address/0xF7ca543d652E38692fD12f989eb55b5327eC9A20",
"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
}
]
}
}
+1 -1
{
"baseTimestamp": 1790944922,
"baseTimestamp": 1792587967,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "8e03e9ba",
"date": "Wed, 21 Oct 2026 13:49:08 GMT",
"timestamp": 1792587967,
"description": "OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n+ \"eth:0xa564C83958f7F9fA5a255a540EF5e49445873104\"\n }\n```"
}
]
},
{
"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```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * DelayedWETH [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * ETHLockbox [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * SuperchainConfig [via: SuperchainProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type \n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "Soneium Multisig",
"name": "Soneium Multisig",
"description": "A Multisig with 3/5 threshold. \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"accounts": [
{
"address": "eth:0x509182eC226b3B71D36A3255A80EF0b1A9D43033",
"type": "Contract",
"isVerified": true,
"name": "0x5091…3033",
"url": "https://etherscan.io/address/0x509182eC226b3B71D36A3255A80EF0b1A9D43033"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0e22018D5D2E676aD5f72F0Ac435b001Eb6d07E0",
"type": "EOA",
"isVerified": true,
"name": "0x0e22…07E0",
"url": "https://etherscan.io/address/0x0e22018D5D2E676aD5f72F0Ac435b001Eb6d07E0"
},
{
"address": "eth:0x9c60eE40a77f76E59D92C0F860FE22b581b70587",
"type": "EOA",
"isVerified": true,
"name": "0x9c60…0587",
"url": "https://etherscan.io/address/0x9c60eE40a77f76E59D92C0F860FE22b581b70587"
},
{
"address": "eth:0x989a65FfBe51B22987c08F722Ba09cB3784e7DAd",
"type": "EOA",
"isVerified": true,
"name": "0x989a…7DAd",
"url": "https://etherscan.io/address/0x989a65FfBe51B22987c08F722Ba09cB3784e7DAd"
},
{
"address": "eth:0xEFe58621C63620CF4d7F6027fD867455e2e8dBdD",
"type": "EOA",
"isVerified": true,
"name": "0xEFe5…dBdD",
"url": "https://etherscan.io/address/0xEFe58621C63620CF4d7F6027fD867455e2e8dBdD"
},
{
"address": "eth:0x08968F6Ebf7bfd3987410d5dafd45d59B5537a0e",
"type": "EOA",
"isVerified": true,
"name": "0x0896…7a0e",
"url": "https://etherscan.io/address/0x08968F6Ebf7bfd3987410d5dafd45d59B5537a0e"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"address": "eth:0xa564C83958f7F9fA5a255a540EF5e49445873104",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
"name": "0xa564…3104",
"url": "https://etherscan.io/address/0xa564C83958f7F9fA5a255a540EF5e49445873104"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x6776BE80dBAda6A02B5F2095cF13734ac303B8d1",
"type": "EOA",
"isVerified": true,
"name": "0x6776…B8d1",
"url": "https://etherscan.io/address/0x6776BE80dBAda6A02B5F2095cF13734ac303B8d1",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1791965773,
"baseTimestamp": 1792587967,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "1f060ee8",
"date": "Wed, 21 Oct 2026 13:50:55 GMT",
"timestamp": 1792587967,
"description": "SystemConfig `minBaseFee` 13000000 → 2200000, set by the Soneium Multisig.\nOpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.minBaseFee:\n- 13000000\n+ 2200000\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n+ \"eth:0xa564C83958f7F9fA5a255a540EF5e49445873104\"\n }\n```"
}
]
},
{
"id": "c0fbf0ac",
"date": "Wed, 14 Oct 2026 08:17:42 GMT",
"timestamp": 1791965773,
"description": "SystemConfig `minBaseFee` 0 → 13000000, set by the Soneium Multisig.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.minBaseFee:\n- 0\n+ 13000000\n }\n```"
}
]
},
{
"id": "21232ddf",
"date": "Thu, 01 Oct 2026 13:47:05 GMT",
"timestamp": 1790862358,
"description": "OP Contracts Upgrade 20 (op-contracts/v8.0.0-rc.3), executed 2026-09-24.\n\nState roots are now proposed as super roots, which are addressed by an L2 timestamp rather than by a block number on this chain. The starting anchor sequence number is therefore a timestamp, changing from 5084269 to 1788848425. The format carries per-chain roots for a future interop set; today each game commits only to this chain. Proving a withdrawal now requires a game whose sequence number is at or after the timestamp of the initiating block rather than its block number; `proveWithdrawalTransaction` is unchanged, as the portal reads this chain's output root out of the super root.\n\nThe respected game type changed 1 → 5, PERMISSIONED_CANNON to SUPER_PERMISSIONED. Game types 0, 1 and 8 were cleared and type 5 is the only type registered; no permissionless type is installed.\n\nThe type 5 game defines only a proposer and an anchor state registry. It carries no bond, runs no VM and has no challenger, so proposals cannot be disputed by execution and the OP Foundation Operations Safe no longer holds a challenger role. Validity is governed by the AnchorStateRegistry, and the Guardian can blacklist games and change the respected game type.\n\nSystemConfig v3.14.2 → v4.0.0 removes the `batchInbox()` getter; the batch inbox address now lives only in the rollup config.\n\nThe Soneium Multisig moved from Safe 1.4.1 to Safe 1.5.0 and its signer set was replaced: 6 members reduced to 5, threshold unchanged at 3.\n\nVersion changes and implementation diffs:\n\n- PermissionedDisputeGame -> SuperPermissionedDisputeGame (type 1 -> 5): https://disco.l2beat.com/diff/eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e/eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\n- Soneium Multisig implementation rotated: https://disco.l2beat.com/diff/eth:0x41675C099F32341bf84BFc5382aF534df5C7461a/eth:0xFf51A5898e281Db6DfC7855790607438dF2ca44b\n- SystemConfig 3.14.2 -> 4.0.0: https://disco.l2beat.com/diff/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9/eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\n- OptimismPortal2 5.6.1 -> 5.8.0: https://disco.l2beat.com/diff/eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2/eth:0x1005217ad392DC64CEf501FA1777A27D42166748\n- SuperchainConfig 2.4.2 -> 2.4.3: https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504",
"isHighSeverity": true,
"changeCount": 109,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DelayedWETH (eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47) [opstack/DelayedWETH] {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n values.$pastUpgrades.2:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xE440CC08A71694C8229323803F59024E3144630e\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xE440CC08A71694C8229323803F59024E3144630e\"]]\n values.$upgradeCount:\n- 2\n+ 6\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x4890928941e62e273dA359374b105F803329F473) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 5\n+ 9\n values.getStartingAnchorRoot.root:\n- \"0x17ce11194e3dd58b940485ebc70141f3654183ceb2700d590a6bc57c4cc7f68c\"\n+ \"0x08a53686fd0b1671ff7b89c3a994582503f15f7be00f0f2e7c9f0d3b187ab124\"\n values.getStartingAnchorRoot.l2SequenceNumber:\n- 5084269\n+ 1788848425\n values.RespectedGameString:\n- \"PermissionedDisputeGame\"\n+ \"SuperPermissionedDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 1\n+ 5\n }\n```\n\n```diff\n contract Soneium Multisig (eth:0x509182eC226b3B71D36A3255A80EF0b1A9D43033) [GnosisSafe] {\n +++ description: None\n sourceHashes.1:\n- \"0xe23c519b7324d6dc9132c8567ac55ae72bdf168c914d22825c7614d822364b0f\"\n+ \"0xb66849da6643e8cd188f73efe4edb32704a1540eda5b1aef77a2217ad2d81f78\"\n values.$implementation:\n- \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n+ \"eth:0xFf51A5898e281Db6DfC7855790607438dF2ca44b\"\n values.$members.0:\n- \"eth:0xd45F9F3990C48AfA5C90404c7a748b4c23FB2cba\"\n values.$members.1:\n- \"eth:0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E\"\n+ \"eth:0x0e22018D5D2E676aD5f72F0Ac435b001Eb6d07E0\"\n values.$members.2:\n- \"eth:0x556Eb1b888eF0a02be4360e960824fc5aC197d65\"\n+ \"eth:0x9c60eE40a77f76E59D92C0F860FE22b581b70587\"\n values.$members.3:\n- \"eth:0xb9269f274E7Edc73bf3d923E347d0784e4a5e452\"\n+ \"eth:0x989a65FfBe51B22987c08F722Ba09cB3784e7DAd\"\n values.$members.4:\n- \"eth:0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a\"\n+ \"eth:0xEFe58621C63620CF4d7F6027fD867455e2e8dBdD\"\n values.$members.5:\n- \"eth:0x1edae2A7C9ECF37319D4E113588d946e9901F5ea\"\n+ \"eth:0x08968F6Ebf7bfd3987410d5dafd45d59B5537a0e\"\n values.getChainId:\n- 1\n values.multisigThreshold:\n- \"3 of 6 (50%)\"\n+ \"3 of 5 (60%)\"\n values.VERSION:\n- \"1.4.1\"\n+ \"1.5.0\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n- \"Safe\"\n implementationNames.eth:0xFf51A5898e281Db6DfC7855790607438dF2ca44b:\n+ \"Safe\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 8\n+ 12\n+++ severity: HIGH\n values.absolutePrestateFromDGF:\n- \"0xdead000000000000000000000000000000000000000000000000000000000000\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.anchorStateRegistryFromDGF:\n- \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.chainIdFromDGF:\n- 1868\n+ \"UNRESOLVED\"\n values.challengerFromDGF:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game1:\n- \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game5:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\"\n+++ severity: HIGH\n values.game5AnchorStateRegistry:\n- \"UNRESOLVED\"\n+ \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n values.game5Args:\n- \"0x\"\n+ \"0x4890928941e62e273da359374b105f803329f473400c164c4a8ca84385b70eed6eb03ea847c8e1b8\"\n+++ severity: HIGH\n values.game5Proposer:\n- \"UNRESOLVED\"\n+ \"eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8\"\n values.permissionedGameArgs:\n- \"0xdead000000000000000000000000000000000000000000000000000000000000acc005dcd857b401e4732e6f7837135a22825cfa4890928941e62e273da359374b105f803329f47318fbb58c366e21f395ddec7cba0510a2d9116b47000000000000000000000000000000000000000000000000000000000000074c400c164c4a8ca84385b70eed6eb03ea847c8e1b89ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0x\"\n values.proposerFromDGF:\n- \"eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.vmFromDGF:\n- \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.wethFromDGF:\n- \"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\"\n+ \"UNRESOLVED\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 9\n+ 13\n }\n```\n\n```diff\n contract ETHLockbox (eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 3\n+ 7\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n+ \"0x532730df835e1a130919ca2afe170505acde568abb77ed1f9a018e5019415ab6\"\n values.$implementation:\n- \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n+ \"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.13:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$pastUpgrades.14:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.15:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$upgradeCount:\n- 12\n+ 16\n values.BATCH_INBOX_SLOT:\n- \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n- \"eth:0x008dC74CecC9dedA8595B2Fe210cE5979F0BfA8e\"\n values.getAddresses.opcm:\n- \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCM:\n- \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCMVersion:\n- \"7.1.17\"\n+ \"8.0.1\"\n values.version:\n- \"3.14.2\"\n+ \"4.0.0\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n- \"SystemConfig\"\n implementationNames.eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperPermissionedDisputeGame.\n sourceHashes.1:\n- \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n+ \"0x5a3a97f72d46aaebbcbdba3783f7c5a8acfcd5ae928afe402abdb21acc0be49f\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperPermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n+ \"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$upgradeCount:\n- 9\n+ 13\n values.RespectedGameString:\n- \"PermissionedDisputeGame\"\n+ \"SuperPermissionedDisputeGame\"\n values.respectedGameType:\n- 1\n+ 5\n values.version:\n- \"5.6.1\"\n+ \"5.8.0\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n- \"OptimismPortal2\"\n implementationNames.eth:0x1005217ad392DC64CEf501FA1777A27D42166748:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n+ \"0xb74ed3aa109bd981b095c02d6e3bda2b2467d40e9d1060b4c89b01de32ebad3a\"\n values.$implementation:\n- \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n+ \"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$upgradeCount:\n- 8\n+ 12\n values.version:\n- \"2.4.2\"\n+ \"2.4.3\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n- \"SuperchainConfig\"\n implementationNames.eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 9\n+ 13\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) [gnosisSafeModules/SaferSafes] {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n directlyReceivedPermissions.1:\n- {\"permission\":\"act\",\"from\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\"role\":\".GnosisSafe_modules\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 6\n+ 10\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract SuperPermissionedDisputeGame (eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691) [opstack/SuperPermissionedDisputeGame]\n +++ description: Logic of the permissioned dispute game introduced in Upgrade 20. Only the proposer configured in the DisputeGameFactory can create games of this type, and each one commits to a super root anchored to an L2 timestamp. Unlike the permissioned game it replaces, it runs no VM and exposes no challenger, bond, clock or absolute prestate: validity is governed by the AnchorStateRegistry and the Guardian.\n```"
}
]
},
{
"id": "b32adc2e",
"date": "Wed, 23 Sep 2026 05:49:46 GMT",
"timestamp": 1789044630,
"description": "Refresh config-derived discovery metadata at the main-branch block.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "1909b060",
"date": "Thu, 10 Sep 2026 12:51:56 GMT",
"timestamp": 1789044630,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "3721600c",
"date": "Fri, 17 Jul 2026 10:15:48 GMT",
"timestamp": 1784283256,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "128d1cfd",
"date": "Wed, 01 Jul 2026 09:39:21 GMT",
"timestamp": 1782898692,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0): core L1 contracts upgraded to their v7 implementations (OptimismPortal2, SystemConfig, DisputeGameFactory, AnchorStateRegistry, bridges, etc.). The chain remains on permissioned fault proofs (respected game type 1); it did not move to CANNON_KONA.",
"isHighSeverity": true,
"changeCount": 130,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x4890928941e62e273dA359374b105F803329F473) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.3:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [0,0,0,0,0]\n values.permissionedGameArgs:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb9084890928941e62e273da359374b105f803329f47370277624cde90492231eb23309e1251beb18dff5000000000000000000000000000000000000000000000000000000000000074c400c164c4a8ca84385b70eed6eb03ea847c8e1b89ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0xdead000000000000000000000000000000000000000000000000000000000000acc005dcd857b401e4732e6f7837135a22825cfa4890928941e62e273da359374b105f803329f47318fbb58c366e21f395ddec7cba0510a2d9116b47000000000000000000000000000000000000000000000000000000000000074c400c164c4a8ca84385b70eed6eb03ea847c8e1b89ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\"\n+ \"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.game8Args:\n+ \"0x\"\n values.game8Vm:\n+ \"UNRESOLVED\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ 0\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ 0\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) [GnosisSafe] {\n +++ description: None\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract ETHLockbox (eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n sourceHashes.1:\n- \"0x330c0ee4ca969ca3a1deda35d8ce83d1861361088ef0b4b8efe0ec23b4f24c19\"\n+ \"0x99fabdfb3d8ef02962877763f6f3c7ec26d39e15e700fa854a040321a79f61ec\"\n values.$implementation:\n- \"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6\"\n+ \"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"\n values.$pastUpgrades.1:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.2.0\"\n+ \"1.3.1\"\n implementationNames.eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6:\n- \"ETHLockbox\"\n implementationNames.eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad:\n+ \"ETHLockbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.10:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 10\n+ 12\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\"\n values.getAddresses.opcm:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "fc8d2f1c",
"date": "Fri, 15 May 2026 13:11:06 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe and OpFoundationOperationsSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "bea2e1b9",
"date": "Tue, 05 May 2026 15:19:06 GMT",
"timestamp": 1777994278,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "f3346f20",
"date": "Wed, 25 Mar 2026 10:08:02 GMT",
"timestamp": 1774433216,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe and OpFoundationOperationsSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "f7cc47be",
"date": "Fri, 27 Feb 2026 13:25:30 GMT",
"timestamp": 1772198392,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "cfa271f4",
"date": "Thu, 19 Feb 2026 10:12:44 GMT",
"timestamp": 1771495897,
"description": "Upgrade to op-contracts/v6.0.0-rc.1 (Upgrade 18 - \"Cannon + Kona and Custom Gas Token v2\"). Approved via Optimism governance.\n\nAnchorStateRegistry (v3.5.0 → v3.7.0): now the central authority for game validity and anchor state management. Adds granular game validation (isGameRegistered, isGameRespected, isGameBlacklisted, isGameRetired, isGameFinalized, isGameClaimValid). Stores disputeGameFactory directly, delegates pause logic to SystemConfig.\n[diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5)\n\nDisputeGameFactory (v1.3.0 → v1.4.0): adds the \"Creator Pattern\" refactor with new `gameArgs` storage mapping and overloaded `setImplementation()` accepting CWIA args. Enables a single dispute game implementation to serve multiple game types (e.g., CANNON and CANNON_KONA) with different configuration.\n[diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c)\n\nOptimismPortal2 (v5.1.1 → v5.2.0): adds Custom Gas Token mode enforcement (reverts on native ETH ops in CGT mode), ETHLockbox integration for ETH custody during deposits/withdrawals. Legacy getters (disputeGameFactory, disputeGameFinalityDelaySeconds, etc.) now proxy through AnchorStateRegistry.\n[diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B)\n\nSystemConfig (v3.11.0 → v3.13.1): replaces hardcoded custom gas token logic with feature flag system (`isFeatureEnabled` mapping). New state variables: daFootprintGasScalar, minBaseFee, l2ChainId, superchainConfig reference. Updated `isCustomGasToken()` and `paused()` to read from feature flags.\n[diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2)\n\nOld PermissionedDisputeGame (v1.8.0) deleted, replaced by PermissionedDisputeGameV2 (v2.2.0) inheriting from FaultDisputeGameV2 with dual credit tracking (normalModeCredit/refundModeCredit), bond distribution mode system, and credit unlock mechanism.\n[diff](https://disco.l2beat.com/diff/eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1/eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n\nL1ERC721Bridge, L1CrossDomainMessenger, OptimismMintableERC20Factory also upgraded (implementation changes only).",
"isHighSeverity": true,
"changeCount": 49,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n EOA (eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x4890928941e62e273dA359374b105F803329F473) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x1601463fd2e47d8994c28a90b556c6933f38e8685214f702dc41a5ae08d9787c\"\n+ \"0xa1c629e3a86e4cba49482956c04d921b52551c4ee9833ddda7e44ca155bc6cab\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.2:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x17ce11194e3dd58b940485ebc70141f3654183ceb2700d590a6bc57c4cc7f68c\",\"l2SequenceNumber\":5084269}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n+ \"0x0fdb3ea7873ad716dd0f5f9d2fdbab989f3b308066977be182ddc31d150e12f5\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.5:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb9084890928941e62e273da359374b105f803329f47370277624cde90492231eb23309e1251beb18dff5000000000000000000000000000000000000000000000000000000000000074c400c164c4a8ca84385b70eed6eb03ea847c8e1b89ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.6:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n+ \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.9:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n+ \"0x3410684a7a8c16c4f87db990b834ce7c3be33136857c103791b132b824bfd951\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.6:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"challenge\",\"from\":\"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\",\"role\":\".challenger\"}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.6:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\",\"role\":\".challenger\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}]}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.3:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 3\n+ 4\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "fa0e13bf",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272398,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "8e9a85af",
"date": "Thu, 18 Dec 2025 09:00:21 GMT",
"timestamp": 1766048336,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n sourceHashes.1:\n- \"0x263aadde480629cd3ca5704cc7d4e7df809d437e68f8d9864039801ddf820367\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.domainSeparator:\n- \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\"\n+ \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\"\n values.getModules:\n- []\n values.NAME:\n- \"Gnosis Safe\"\n values.VERSION:\n- \"1.1.1\"\n+ \"1.4.1\"\n values.getChainId:\n+ 1\n implementationNames.eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "d71e9fdb",
"date": "Fri, 05 Dec 2025 11:25:37 GMT",
"timestamp": 1764933869,
"description": "Multisig member change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Soneium Multisig (eth:0x509182eC226b3B71D36A3255A80EF0b1A9D43033) {\n +++ description: None\n values.$members.2:\n- \"eth:0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n+ \"eth:0x556Eb1b888eF0a02be4360e960824fc5aC197d65\"\n values.$members.5:\n- \"eth:0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n+ \"eth:0x1edae2A7C9ECF37319D4E113588d946e9901F5ea\"\n }\n```"
}
]
},
{
"id": "14177f52",
"date": "Fri, 28 Nov 2025 10:11:10 GMT",
"timestamp": 1764324554,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202), [System Config](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\n- Jovian block values\n- fee updates `MIN_BASE_FEE`, `DA_FOOTPRINT_GAS_SCALAR` and operator fee\n\n[L1StandardBridge](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A), [SuperchainConfig](https://disco.l2beat.com/diff/eth:0xCe28685EB204186b557133766eCA00334EB441E4/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957), [OptimismMintableERC20Factory](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB), [DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50), [L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9),[L1CrossDomainMessenger](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0), [MIPS](https://disco.l2beat.com/diff/eth:0x07BABE08EE4D07dBA236530183B24055535A7011/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908), [PermissionedDisputeGame](https://disco.l2beat.com/diff/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f/eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n- minimal diff",
"isHighSeverity": true,
"changeCount": 63,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n EOA (eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n+ \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.4:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 4\n+ 5\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n+ \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.8:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n+ \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.2:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "977cb2fc",
"date": "Tue, 04 Nov 2025 17:13:36 GMT",
"timestamp": 1762276338,
"description": "gas market changes.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Elasticity:\n- 9\n+ 10\n }\n```"
}
]
},
{
"id": "6913c543",
"date": "Thu, 23 Oct 2025 12:41:45 GMT",
"timestamp": 1761223197,
"description": "msig change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "41a013f9",
"date": "Fri, 03 Oct 2025 14:25:50 GMT",
"timestamp": 1759501481,
"description": "This is upgrade 16a (https://gov.optimism.io/t/maintenance-upgrade-proposal-u16a/10288)\n\nOptimismPortal2 - removed unused superchain withdrawal code, ETH lockbox feature moved out to its own contract.\nhttps://disco.l2beat.com/diff/eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\n\nSystemConfig - setFeature function to activate/deactivate features (currently used for the ETHLockbox feature).\nhttps://disco.l2beat.com/diff/eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\n\nL1ERC721Bridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F/eth:0x7f1d12fB2911EB095278085f721e644C1f675696\n\nL1CrossDomainMessenger - minor changes.\nhttps://disco.l2beat.com/diff/eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\n\nL1StandardBridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x44AfB7722AF276A601D524F429016A18B6923df0/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\n\nPermissionedDisputeGame (via DisputeGameFactory gameImpls[1]) - no code changes; constructor variables updated (e.g., DelayedWETH, VM).\nhttps://disco.l2beat.com/diff/eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4/eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\n\nMIPS → MIPS64 - added function for pseudorandomness generation.\nhttps://disco.l2beat.com/diff/eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a/eth:0x07BABE08EE4D07dBA236530183B24055535A7011\n\nDelayedWETH (replacement) - same code, same admin; only diff is totalSupply.\nhttps://disco.l2beat.com/diff/eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754/eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5",
"isHighSeverity": true,
"changeCount": 58,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x4890928941e62e273dA359374b105F803329F473) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n values.$pastUpgrades.1:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.$pastUpgrades.3:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4\"\n+ \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig_pauseId\"\n+ \"opstack/SystemConfig\"\n sourceHashes.1:\n- \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.7:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"3.4.0\"\n+ \"3.7.0\"\n fieldMeta.paused:\n- {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n template:\n- \"opstack/OptimismPortal2_post13\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.superRootsActive:\n- false\n values.version:\n- \"4.6.0\"\n+ \"5.0.0\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) {\n +++ description: None\n directlyReceivedPermissions.1:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.9.0\"\n+ \"2.10.0\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1StandardBridge (eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.6.0\"\n+ \"2.7.0\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "0f300c05",
"date": "Mon, 29 Sep 2025 14:50:42 GMT",
"timestamp": 1759157377,
"description": "Increase in EIP-1559 elasticity (from 8 to 9), meaning that in periods of high demand the block can expand up to 9x the block gas target.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Elasticity:\n- 8\n+ 9\n }\n```"
}
]
},
{
"id": "27698393",
"date": "Mon, 18 Aug 2025 09:03:38 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "121c7f76",
"date": "Fri, 25 Jul 2025 17:48:25 GMT",
"timestamp": 1753465705,
"description": "Check optimism diffhistory for [the upgrade 16 breakdown](https://gov.optimism.io/t/upgrade-16-proposal-interop-contracts-stage-1-and-go-1-23-support-in-cannon/10037).",
"isHighSeverity": true,
"changeCount": 126,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\",\"role\":\".challenger\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"},{\"address\":\"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\",\"condition\":\"though restricted to the SuperchainConfig's `pause()` function\"}]}\n receivedPermissions.1.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.1.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.1.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x3D56d47b9E7E34A46612BadC70377F74051E6b17)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n EOA (0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\"\n+ \"eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.3.from:\n- \"eth:0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n+ \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n }\n```\n\n```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig\"\n+ \"opstack/SystemConfig_pauseId\"\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n values.$pastUpgrades.6:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.4.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 2\n values.l2ChainId:\n+ 1868\n+++ description: `superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\n+++ severity: HIGH\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n fieldMeta.paused:\n+ {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the PermissionedDisputeGame.\n template:\n- \"opstack/OptimismPortal2\"\n+ \"opstack/OptimismPortal2_post13\"\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n+ \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.respectedGameTypeUpdatedAt:\n- 1733134751\n+ 1753380095\n values.version:\n- \"3.14.0\"\n+ \"4.6.0\"\n values.anchorStateRegistry:\n+ \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n values.ethLockbox:\n+ \"eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superRootsActive:\n+ false\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n- \"OptimismPortal2\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\"}\n directlyReceivedPermissions.1.from:\n- \"eth:0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n+ \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions:\n- [{\"permission\":\"challenge\",\"from\":\"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\",\"role\":\".challenger\"},{\"permission\":\"guard\",\"from\":\"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}]\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"role\":\".deputyGuardian\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.6.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n values.version:\n- \"2.3.0\"\n+ \"2.6.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x4890928941e62e273dA359374b105F803329F473)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ETHLockbox (0x67B4de6FfA66EF201Ea6099A89cA397D56622E31)\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "45a0bccb",
"date": "Mon, 14 Jul 2025 12:46:24 GMT",
"timestamp": 1752497184,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 30,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC20TokenBridge (0x2F543A7C9cc80Cc2427c892B96263098d23ee55a)\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x3D56d47b9E7E34A46612BadC70377F74051E6b17)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Soneium Multisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xB24bFEeCE1B3b7A44559F4Cbc21BeD312b130b70)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "290530b8",
"date": "Thu, 08 May 2025 08:50:59 GMT",
"timestamp": 1746694259,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```"
}
]
},
{
"id": "091522c5",
"date": "Fri, 25 Apr 2025 13:16:01 GMT",
"timestamp": 1745586961,
"description": "[Isthmus upgrade](https://vote.optimism.io/proposals/8705916809146420472067303211131851783087744913535435360574720946039078686841):\n- upgraded proof system VM: MIPS (MT-Cannon MIPS64)\n- operator fee (fee mechanism to improve fee config for zk proven and alt-DA systems)\n- pectra readiness",
"isHighSeverity": true,
"changeCount": 61,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x1661af719956198628F7e67087F19f8A79524a1d)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x1661af719956198628F7e67087F19f8A79524a1d\"\n+ \"0x3D56d47b9E7E34A46612BadC70377F74051E6b17\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.1.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n values.$pastUpgrades.1.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n values.$pastUpgrades.1.0:\n- [\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]\n+ \"2024-12-02T10:19:11.000Z\"\n values.$pastUpgrades.0.2.0:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.0.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.3.1\"\n+ \"2.4.0\"\n }\n```\n\n```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.5:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.4.2:\n- \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.4.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.4.0:\n- \"2025-02-28T14:55:35.000Z\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$pastUpgrades.3.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n values.$pastUpgrades.3.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2025-02-28T14:55:35.000Z\"\n values.$pastUpgrades.3.0.0:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n values.$pastUpgrades.2.2:\n- \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n+ [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n values.$pastUpgrades.2.1:\n- \"2025-02-28T14:55:35.000Z\"\n+ \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n values.$pastUpgrades.2.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2024-12-02T10:19:11.000Z\"\n values.$pastUpgrades.0.2:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$pastUpgrades.0.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ [\"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n }\n```\n\n```diff\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n values.$implementation:\n- \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.2:\n+ [\"2024-12-02T10:19:11.000Z\",\"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.1.2:\n- [\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.1.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.1.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$pastUpgrades.0.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]\n values.$pastUpgrades.0.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.13.0\"\n+ \"3.14.0\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$pastUpgrades.1.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]\n values.$pastUpgrades.1.1:\n- [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.1.0:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.5.0\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n sourceHashes.0:\n- \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"2.2.2\"\n+ \"2.3.0\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x3D56d47b9E7E34A46612BadC70377F74051E6b17)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "388a5c88",
"date": "Sun, 06 Apr 2025 08:10:27 GMT",
"timestamp": 1743927027,
"description": "eip 1559 gas conf added.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Denominator:\n- 0\n+ 250\n values.eip1559Elasticity:\n- 0\n+ 7\n }\n```"
}
]
},
{
"id": "21bc44c3",
"date": "Fri, 04 Apr 2025 09:40:12 GMT",
"timestamp": 1743759612,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": true,
"changeCount": 78,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x42D15f045159Ce4adE9EDC7da5704eF36056c936)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.4:\n- \"0x42D15f045159Ce4adE9EDC7da5704eF36056c936\"\n+ \"0x1661af719956198628F7e67087F19f8A79524a1d\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.8.from:\n- \"0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522\"\n+ \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n receivedPermissions.7.from:\n- \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n+ \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n receivedPermissions.6.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.6.from:\n- \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n+ \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n receivedPermissions.6.via.0.address:\n- \"0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n receivedPermissions.6.description:\n+ \"set and change address mappings.\"\n receivedPermissions.5.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.5.from:\n- \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n+ \"0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n receivedPermissions.5.description:\n- \"set and change address mappings.\"\n receivedPermissions.5.via.0.address:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.4:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.3.2:\n- \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.3.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.3.0:\n- \"2025-02-28T14:55:35.000Z\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$upgradeCount:\n- 4\n+ 5\n values.gasPayingToken:\n- {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f\",\"l1ERC721Bridge\":\"0x5933e323bE8896DfaCd1cD671442F27dAA10a053\",\"l1StandardBridge\":\"0xeb9bf100225c214Efc3E7C651ebbaDcF85177607\",\"disputeGameFactory\":\"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\",\"optimismPortal\":\"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\",\"optimismMintableERC20Factory\":\"0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F\"}\n }\n```\n\n```diff\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n values.$implementation:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.1:\n+ [\"2024-12-02T10:19:11.000Z\",\"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.0.2:\n- [\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.0.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) {\n +++ description: None\n directlyReceivedPermissions.6.from:\n- \"0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522\"\n+ \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n directlyReceivedPermissions.5.from:\n- \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n+ \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n directlyReceivedPermissions.4.from:\n- \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n+ \"0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```\n\n```diff\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n sourceHashes.0:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n values.$implementation:\n- \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n }\n```\n\n```diff\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x1661af719956198628F7e67087F19f8A79524a1d)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "561654de",
"date": "Fri, 07 Mar 2025 13:56:40 GMT",
"timestamp": 1741355800,
"description": "Single member added to SoneiumMultisig.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SoneiumMultisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033) {\n +++ description: None\n values.$members.5:\n+ \"0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n values.$members.4:\n- \"0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n+ \"0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a\"\n values.$members.3:\n- \"0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a\"\n+ \"0xb9269f274E7Edc73bf3d923E347d0784e4a5e452\"\n values.$members.2:\n- \"0xb9269f274E7Edc73bf3d923E347d0784e4a5e452\"\n+ \"0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n values.$members.1:\n- \"0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n+ \"0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E\"\n values.$members.0:\n- \"0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E\"\n+ \"0xd45F9F3990C48AfA5C90404c7a748b4c23FB2cba\"\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"3 of 6 (50%)\"\n }\n```"
}
]
},
{
"id": "d9882500",
"date": "Mon, 03 Mar 2025 09:03:39 GMT",
"timestamp": 1740992619,
"description": "SystemConfig upgrade to known version:\n- libraries added (Constants, LibString, GasPayingToken)\n- minor changes",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.3:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.2:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 2\n+ 4\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 9736\n values.blobbasefeeScalar:\n+ 1540079\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n }\n```"
}
]
},
{
"id": "16e985d9",
"date": "Wed, 26 Feb 2025 16:48:30 GMT",
"timestamp": 1740588510,
"description": "gasLimit raised a bit (60M->30M in last update).\n\nconfig related: added categories for all opstack, op stack and polygoncdk stack templates.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 30000000\n+ 40000000\n }\n```"
}
]
},
{
"id": "7e304e4a",
"date": "Tue, 18 Feb 2025 10:39:42 GMT",
"timestamp": 1739875182,
"description": "Soneium gas limit halved (checked on l2 block explorer since some op stacks have weird custom gas config).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 60000000\n+ 30000000\n }\n```"
}
]
},
{
"id": "a5169023",
"date": "Wed, 12 Feb 2025 10:00:33 GMT",
"timestamp": 1739354433,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "c5f0da11",
"date": "Sat, 08 Feb 2025 15:58:23 GMT",
"timestamp": 1739030303,
"description": "Single SC member rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "01cba5d1",
"date": "Thu, 06 Feb 2025 09:17:21 GMT",
"timestamp": 1738833441,
"description": "OP Stack SC signer rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "340dbb94",
"date": "Tue, 04 Feb 2025 14:08:55 GMT",
"timestamp": 1738678135,
"description": "Added standard lido external canonical escrow (shapes in stock).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L1LidoTokensBridge (0x2F543A7C9cc80Cc2427c892B96263098d23ee55a)\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n```"
}
]
},
{
"id": "e2f22d1d",
"date": "Mon, 27 Jan 2025 12:04:05 GMT",
"timestamp": 1737979445,
"description": "Soneium external bridge gov change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1OpUSDCBridgeAdapter (0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb) {\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n values.$admin:\n- \"0x448dAe9299366ff611678fdA2f3a386791C95d41\"\n+ \"0xE7c9a9DddAb8a384c38D721DE64E4222Fe76DF75\"\n values.owner:\n- \"0x448dAe9299366ff611678fdA2f3a386791C95d41\"\n+ \"0xE7c9a9DddAb8a384c38D721DE64E4222Fe76DF75\"\n }\n```"
}
]
},
{
"id": "3af4d993",
"date": "Wed, 22 Jan 2025 12:20:00 GMT",
"timestamp": 1737548400,
"description": "MS member changes.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SoneiumMultisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033) {\n +++ description: None\n values.$members.4:\n- \"0x48FF760E582c3740336656349684b4FD4c6ED88F\"\n+ \"0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n values.$members.3:\n- \"0x127Bae6Fc751dC92111a359500ae91EB437f3dCb\"\n+ \"0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a\"\n values.$members.2:\n- \"0x83cC8195856b0463dEd5f052021009b7985FDa2C\"\n+ \"0xb9269f274E7Edc73bf3d923E347d0784e4a5e452\"\n values.$members.1:\n- \"0xEc33045FA66cF43E9b5b9F332dc124dbc71c0917\"\n+ \"0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n values.$members.0:\n- \"0x2b3Aa0Dc0622eFb9426F5A44015aE9151Bd8224C\"\n+ \"0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E\"\n values.$threshold:\n- 2\n+ 3\n values.multisigThreshold:\n- \"2 of 5 (40%)\"\n+ \"3 of 5 (60%)\"\n }\n```"
}
]
},
{
"id": "5829ccae",
"date": "Wed, 15 Jan 2025 17:33:42 GMT",
"timestamp": 1736962422,
"description": "First discovery of Soneium.",
"isHighSeverity": false,
"changeCount": 28,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainGuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x42D15f045159Ce4adE9EDC7da5704eF36056c936)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SoneiumMultisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xB24bFEeCE1B3b7A44559F4Cbc21BeD312b130b70)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * ETHLockbox [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * SuperchainConfig [via: SuperchainProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * DeployerWhitelist [via: L2ProxyAdmin]\n * L2CrossDomainMessenger [via: L2ProxyAdmin]\n * GasPriceOracle [via: L2ProxyAdmin]\n * L2StandardBridge [via: L2ProxyAdmin]\n * SequencerFeeVault [via: L2ProxyAdmin]\n * OptimismMintableERC20Factory [via: L2ProxyAdmin]\n * L1BlockNumber [via: L2ProxyAdmin]\n * L2ERC721Bridge [via: L2ProxyAdmin]\n * L1Block [via: L2ProxyAdmin]\n * L2ToL1MessagePasser [via: L2ProxyAdmin]\n * OptimismMintableERC721Factory [via: L2ProxyAdmin]\n * L2ProxyAdmin [via: L2ProxyAdmin]\n * BaseFeeVault [via: L2ProxyAdmin]\n * L1FeeVault [via: L2ProxyAdmin]\n * SchemaRegistry [via: L2ProxyAdmin]\n * EAS [via: L2ProxyAdmin]\n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type \n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "Unichain Multisig 2",
"name": "Unichain Multisig 2",
"description": "A Multisig with 3/5 threshold. \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"accounts": [
{
"address": "eth:0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1",
"type": "Contract",
"isVerified": true,
"name": "0x9245…a1b1",
"url": "https://etherscan.io/address/0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x5b5B0669De777AF0Eb7A73eD46AaEe9711ab01E4",
"type": "EOA",
"isVerified": true,
"name": "0x5b5B…01E4",
"url": "https://etherscan.io/address/0x5b5B0669De777AF0Eb7A73eD46AaEe9711ab01E4"
},
{
"address": "eth:0xc531e0368dc3928E11987D096558dEE7A22ECEE4",
"type": "EOA",
"isVerified": true,
"name": "0xc531…CEE4",
"url": "https://etherscan.io/address/0xc531e0368dc3928E11987D096558dEE7A22ECEE4"
},
{
"address": "eth:0x7D742aD88c6cE2D3dD1B4582b5180423b74cBc4c",
"type": "EOA",
"isVerified": true,
"name": "0x7D74…Bc4c",
"url": "https://etherscan.io/address/0x7D742aD88c6cE2D3dD1B4582b5180423b74cBc4c"
},
{
"address": "eth:0x01Bc161F133d37Ed8624f77e1DCF1671b9423c92",
"type": "EOA",
"isVerified": true,
"name": "0x01Bc…3c92",
"url": "https://etherscan.io/address/0x01Bc161F133d37Ed8624f77e1DCF1671b9423c92"
},
{
"address": "eth:0x34d19AC0a7B195359354DB4D5E8aDa7A1f2Cb27C",
"type": "EOA",
"isVerified": true,
"name": "0x34d1…b27C",
"url": "https://etherscan.io/address/0x34d19AC0a7B195359354DB4D5E8aDa7A1f2Cb27C"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\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",
"address": "eth:0xa564C83958f7F9fA5a255a540EF5e49445873104",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
"name": "0xa564…3104",
"url": "https://etherscan.io/address/0xa564C83958f7F9fA5a255a540EF5e49445873104"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x2F60A5184c63ca94f82a27100643DbAbe4F3f7Fd",
"type": "EOA",
"isVerified": true,
"name": "0x2F60…f7Fd",
"url": "https://etherscan.io/address/0x2F60A5184c63ca94f82a27100643DbAbe4F3f7Fd",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1790862365,
"baseTimestamp": 1792587967,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "525b49ad",
"date": "Wed, 21 Oct 2026 13:50:19 GMT",
"timestamp": 1792587967,
"description": "OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n+ \"eth:0xa564C83958f7F9fA5a255a540EF5e49445873104\"\n }\n```"
}
]
},
{
"id": "cd925ce0",
"date": "Thu, 01 Oct 2026 13:47:11 GMT",
"timestamp": 1790862365,
"description": "OP Contracts Upgrade 19b \"Karst\" (op-contracts/v7.0.0) on 2026-07-06 upgraded the L1 contracts to their v7 implementations.\n\nThe Karst L2 hardfork activated on 2026-07-08 16:00:01 UTC. Every L2 predeploy was upgraded, and most now inherit `ProxyAdminOwnedBase`, which gates privileged functions to the proxy's ProxyAdmin or its owner.\n\nOP Contracts Upgrade 20 (op-contracts/v8.0.0-rc.3) followed on 2026-09-24. State roots are now proposed as super roots, which are addressed by an L2 timestamp rather than by a block number on this chain. The starting anchor sequence number is therefore a timestamp, changing from 22024228 to 1788848651. The format carries per-chain roots for a future interop set; today each game commits only to this chain. Proving a withdrawal now requires a game whose sequence number is at or after the timestamp of the initiating block rather than its block number; `proveWithdrawalTransaction` is unchanged, as the portal reads this chain's output root out of the super root.\n\nThe respected game type changed 0 → 9, CANNON to SUPER_CANNON_KONA. Proposing and challenging remain permissionless, with a 0.08 ETH bond, a 3.5 day clock, max game depth 73 and split depth 30. The fault proof program is the interop variant of kona v1.7.0-rc.2. Game types 0, 1 and 8 were cleared; the permissioned fallback is now type 5, SUPER_PERMISSIONED, which carries no bond, defines only a proposer and has no challenger.\n\nThe chain moved onto the shared Superchain MIPS, PreimageOracle and DelayedWETH instances, replacing its own, and the two previous DelayedWETH contracts were replaced by one.\n\nSystemConfig reached v4.0.0, removing the `batchInbox()` getter; the batch inbox address now lives only in the rollup config.\n\nThe ProxyAdmin owner moved from the UnichainProxyAdminOwner to the SuperchainProxyAdminOwner, on L1 and through its L2 alias. The Unichain-specific owner Safe, its LivenessModule and LivenessGuard are no longer part of the permission graph.\n\nVersion changes and implementation diffs:\n\n- FaultDisputeGame -> SuperFaultDisputeGame (type 0 -> 9): https://disco.l2beat.com/diff/eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499/eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208\n- PermissionedDisputeGame -> SuperPermissionedDisputeGame (type 1 -> 5): https://disco.l2beat.com/diff/eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A/eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\n- ETHLockbox 1.2.0 -> 1.3.1: https://disco.l2beat.com/diff/eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6/eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\n- OptimismPortal2 5.2.0 -> 5.8.0: https://disco.l2beat.com/diff/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B/eth:0x1005217ad392DC64CEf501FA1777A27D42166748\n- AnchorStateRegistry 3.7.0 -> 3.9.0: https://disco.l2beat.com/diff/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5/eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\n- DisputeGameFactory 1.4.0 -> 1.6.1: https://disco.l2beat.com/diff/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c/eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\n- L1StandardBridge 2.8.0 -> 2.8.2: https://disco.l2beat.com/diff/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A/eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\n- SuperchainConfig 2.4.2 -> 2.4.3: https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\n- L1CrossDomainMessenger 2.11.0 -> 2.11.1: https://disco.l2beat.com/diff/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0/eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\n- OptimismMintableERC20Factory 1.10.2 -> 1.11.0: https://disco.l2beat.com/diff/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB/eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\n- SystemConfig 3.13.1 -> 4.0.0: https://disco.l2beat.com/diff/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2/eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\n- L1ERC721Bridge 2.9.0 -> 2.9.1: https://disco.l2beat.com/diff/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9/eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\n- L2CrossDomainMessenger 2.1.1-beta.1 -> 2.2.1: https://disco.l2beat.com/diff/unichain:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007/unichain:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\n- GasPriceOracle implementation rotated: https://disco.l2beat.com/diff/unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1/unichain:0x547d0fba434877D7237d511cF87FABe2ee26b152\n- L2StandardBridge 1.11.1-beta.1 -> 1.13.2: https://disco.l2beat.com/diff/unichain:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010/unichain:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\n- SequencerFeeVault 1.5.0-beta.2 -> 1.6.1: https://disco.l2beat.com/diff/unichain:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011/unichain:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\n- OptimismMintableERC20Factory 1.10.1-beta.2 -> 1.11.0: https://disco.l2beat.com/diff/unichain:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012/unichain:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\n- L2ERC721Bridge 1.7.1-beta.2 -> 1.10.1: https://disco.l2beat.com/diff/unichain:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014/unichain:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\n- L1Block implementation rotated: https://disco.l2beat.com/diff/unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C/unichain:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\n- L2ToL1MessagePasser 1.1.1-beta.1 -> 1.2.0: https://disco.l2beat.com/diff/unichain:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016/unichain:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\n- OptimismMintableERC721Factory 1.4.1-beta.1 -> 1.5.1: https://disco.l2beat.com/diff/unichain:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017/unichain:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\n- L2ProxyAdmin implementation rotated: https://disco.l2beat.com/diff/unichain:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018/unichain:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\n- BaseFeeVault 1.5.0-beta.2 -> 1.6.1: https://disco.l2beat.com/diff/unichain:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019/unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- L1FeeVault 1.5.0-beta.2 -> 1.6.1: https://disco.l2beat.com/diff/unichain:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A/unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- SchemaRegistry 1.3.1-beta.1 -> 1.3.1-beta.2: https://disco.l2beat.com/diff/unichain:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020/unichain:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\n- EAS 1.4.1-beta.1 -> 1.4.1-beta.3: https://disco.l2beat.com/diff/unichain:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021/unichain:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6",
"isHighSeverity": true,
"changeCount": 413,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ETHLockbox (eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n sourceHashes.1:\n- \"0x330c0ee4ca969ca3a1deda35d8ce83d1861361088ef0b4b8efe0ec23b4f24c19\"\n+ \"0x99fabdfb3d8ef02962877763f6f3c7ec26d39e15e700fa854a040321a79f61ec\"\n values.$implementation:\n- \"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6\"\n+ \"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"\n values.$pastUpgrades.1:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 1\n+ 7\n values.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.1\"\n implementationNames.eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6:\n- \"ETHLockbox\"\n implementationNames.eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad:\n+ \"ETHLockbox\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperFaultDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0x5a3a97f72d46aaebbcbdba3783f7c5a8acfcd5ae928afe402abdb21acc0be49f\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperFaultDisputeGame.\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"\n values.$pastUpgrades.7:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$upgradeCount:\n- 7\n+ 13\n values.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n+ \"SuperFaultDisputeGame\"\n values.respectedGameType:\n- 0\n+ 9\n values.version:\n- \"5.2.0\"\n+ \"5.8.0\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0x1005217ad392DC64CEf501FA1777A27D42166748:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.3:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 3\n+ 9\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.getStartingAnchorRoot.root:\n- \"0x193781a056643321a32aacffcb9087a6e54a0f858d5ee06f29cd920ada6eeea9\"\n+ \"0xaf64a866304eb17696278d26290bb172aa941eac3370d9bc8bd313d492beb7d3\"\n values.getStartingAnchorRoot.l2SequenceNumber:\n- 22024228\n+ 1788848651\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n values.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n+ \"SuperFaultDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 9\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c\"\n+++ severity: HIGH\n values.blacklistedGames:\n+ []\n fieldMeta.$admin:\n- {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFactory:\n- {\"severity\":\"HIGH\"}\n fieldMeta.systemConfig:\n- {\"severity\":\"HIGH\"}\n fieldMeta.blacklistedGames:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2F12d621a16e2d3285929C9996f478508951dFe4) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.6:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 6\n+ 12\n values.challengerFromDGF:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"UNRESOLVED\"\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\",\"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [\"80000000000000000\",\"80000000000000000\",0,0,0]\n values.owner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.permissionedGameArgs:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb90827cf508e4e3aa8d30b3226ac3b5ea0e8bcacaff9e62b0279f6a466c5e1676f3ea955086300bcd0ac0000000000000000000000000000000000000000000000000000000000000082d5f0e2912c70771c589cd8bb087ede0dab4afa9a9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0x\"\n values.proposerFromDGF:\n- \"eth:0xD5F0E2912C70771C589CD8bB087EDE0Dab4AFA9A\"\n+ \"UNRESOLVED\"\n values.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n+++ severity: HIGH\n values.wethFromDGF:\n- \"eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.absolutePrestateFromDGF:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.anchorStateRegistryFromDGF:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.chainIdFromDGF:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game5:\n+ \"eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\"\n+++ severity: HIGH\n values.game5AnchorStateRegistry:\n+ \"eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9\"\n values.game5Args:\n+ \"0x27cf508e4e3aa8d30b3226ac3b5ea0e8bcacaff9d5f0e2912c70771c589cd8bb087ede0dab4afa9a\"\n+++ severity: HIGH\n values.game5Proposer:\n+ \"eth:0xD5F0E2912C70771C589CD8bB087EDE0Dab4AFA9A\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8AbsolutePrestate:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game8Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game8ChainId:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Vm:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Weth:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9:\n+ \"eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208\"\n+++ severity: HIGH\n values.game9AbsolutePrestate:\n+ \"0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1df\"\n+++ severity: HIGH\n values.game9AnchorStateRegistry:\n+ \"eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9\"\n values.game9Args:\n+ \"0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1dfacc005dcd857b401e4732e6f7837135a22825cfa27cf508e4e3aa8d30b3226ac3b5ea0e8bcacaff974ad145ac900f1dd5551f0c9e143314dc4022fcf0000000000000000000000000000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game9Vm:\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+++ severity: HIGH\n values.game9Weth:\n+ \"eth:0x74ad145aC900F1DD5551F0C9E143314DC4022FCf\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ 0\n values.initBondGame5:\n+ 0\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ 0\n values.initBondGame9:\n+ \"80000000000000000\"\n+++ severity: HIGH\n values.vmFromDGF:\n+ \"UNRESOLVED\"\n fieldMeta.$admin:\n- {\"severity\":\"HIGH\"}\n fieldMeta.owner:\n- {\"severity\":\"HIGH\"}\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game5:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.absolutePrestateFromDGF:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.vmFromDGF:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8AbsolutePrestate:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8Vm:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8AnchorStateRegistry:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8Weth:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8ChainId:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9AbsolutePrestate:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9Vm:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9AnchorStateRegistry:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9Weth:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game5AnchorStateRegistry:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game5Proposer:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.anchorStateRegistryFromDGF:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.chainIdFromDGF:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceBytes32\",\"arg\":{\"offset\":0}}\n usedTypes.1:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n usedTypes.2:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n usedTypes.3:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":52}}\n usedTypes.4:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":72}}\n usedTypes.5:\n+ {\"typeCaster\":\"SliceUint256\",\"arg\":{\"offset\":92}}\n usedTypes.6:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":0}}\n usedTypes.7:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":20}}\n usedTypes.2:\n- {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":72}}\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4) [global/ProxyAdmin] {\n +++ description: None\n values.owner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n directlyReceivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x74ad145aC900F1DD5551F0C9E143314DC4022FCf\",\"role\":\"admin\"}\n directlyReceivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract LivenessModule (eth:0x4B4F1aF8d43C8c140D2355Fea663fC9f762067C2) [gnosisSafeModules/LivenessModule]\n +++ description: used to remove members inactive for 2mo 10d while making sure that the threshold remains above 60%. If the number of members falls below 1, the eth:0x0000000000000000000000000000000000000000 takes ownership of the multisig\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x2F12d621a16e2d3285929C9996f478508951dFe4\",\"description\":\"set the dispute game implementation and initial bond for any game type.\",\"role\":\".owner\"}\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x8098F676033A377b9Defe302e9fE6877cD63D575\",\"description\":\"set and change address mappings.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x2F12d621a16e2d3285929C9996f478508951dFe4\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x74ad145aC900F1DD5551F0C9E143314DC4022FCf\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.13:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n directlyReceivedPermissions.0:\n+ {\"permission\":\"act\",\"from\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\",\"role\":\".owner\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract UnichainProxyAdminOwner (eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1StandardBridge (eth:0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract Unichain Multisig 2 (eth:0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x31e5EDc2c4cC4AA25349339f96747B54d1624160\"\n+ \"eth:0x01Bc161F133d37Ed8624f77e1DCF1671b9423c92\"\n }\n```\n\n```diff\n- Status: DELETED\n contract LivenessGuard (eth:0x9343c452dec3251fe99D9Fd29b74c5b9CD1751a6) [N/A]\n +++ description: None\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n+ \"0xb74ed3aa109bd981b095c02d6e3bda2b2467d40e9d1060b4c89b01de32ebad3a\"\n values.$implementation:\n- \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n+ \"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$upgradeCount:\n- 8\n+ 12\n values.version:\n- \"2.4.2\"\n+ \"2.4.3\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n- \"SuperchainConfig\"\n implementationNames.eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.7:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 7\n+ 13\n values.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.4:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 4\n+ 10\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) [gnosisSafeModules/SaferSafes] {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n directlyReceivedPermissions.1:\n- {\"permission\":\"act\",\"from\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\"role\":\".GnosisSafe_modules\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract Unichain Multisig 1 (eth:0xb0c4C487C5cf6d67807Bc2008c66fa7e2cE744EC) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x532730df835e1a130919ca2afe170505acde568abb77ed1f9a018e5019415ab6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"\n values.$pastUpgrades.9:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$pastUpgrades.13:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.14:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$upgradeCount:\n- 9\n+ 15\n values.BATCH_INBOX_SLOT:\n- \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n- \"eth:0xFf00000000000000000000000000000000000130\"\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x74ad145aC900F1DD5551F0C9E143314DC4022FCf\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x74ad145aC900F1DD5551F0C9E143314DC4022FCf\"\n values.getAddresses.opcm:\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.version:\n- \"3.13.1\"\n+ \"4.0.0\"\n values.lastUsedOPCM:\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCMVersion:\n+ \"8.0.1\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.7:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 7\n+ 13\n values.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract L2CrossDomainMessenger (unichain:0x4200000000000000000000000000000000000007) [opstack/Layer2/L2CrossDomainMessenger] {\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n sourceHashes.1:\n- \"0x1ef37a50dbdd57f7019208b81019e52087cb92379f963e1ec092bd3eb81ec978\"\n+ \"0x9e9ae8aec73e808e50f80bced53c3a020588eed516b310a10397596869dcd3b1\"\n values.$implementation:\n- \"unichain:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007\"\n+ \"unichain:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"2.1.1-beta.1\"\n+ \"2.2.1\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.proxyAdmin:\n+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.unichain:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007:\n- \"L2CrossDomainMessenger\"\n implementationNames.unichain:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96:\n+ \"L2CrossDomainMessenger\"\n }\n```\n\n```diff\n contract GasPriceOracle (unichain:0x420000000000000000000000000000000000000F) [opstack/Layer2/GasPriceOracle] {\n +++ description: Provides the current gas price for L2 transactions.\n values.$implementation:\n- \"unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n+ \"unichain:0x547d0fba434877D7237d511cF87FABe2ee26b152\"\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x547d0fba434877D7237d511cF87FABe2ee26b152\"]]\n values.$upgradeCount:\n- 2\n+ 3\n implementationNames.unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n- \"GasPriceOracle\"\n implementationNames.unichain:0x547d0fba434877D7237d511cF87FABe2ee26b152:\n+ \"GasPriceOracle\"\n references:\n- [{\"text\":\"Source Code\",\"href\":\"https://unichain.blockscout.com/address/0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"}]\n }\n```\n\n```diff\n contract L2StandardBridge (unichain:0x4200000000000000000000000000000000000010) [opstack/Layer2/L2StandardBridge] {\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0xe528a1a655ef22d36419f53488f5b31752c4ecc2efea627fc6be5b0d63fa5069\"\n+ \"0xf6ef848ca1cf88e27b5e3bb5e01b91ef79f302e5daad8ba5206c4dc60027d312\"\n values.$implementation:\n- \"unichain:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010\"\n+ \"unichain:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.11.1-beta.1\"\n+ \"1.13.2\"\n values.proxyAdmin:\n+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.unichain:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010:\n- \"L2StandardBridge\"\n implementationNames.unichain:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1:\n+ \"L2StandardBridge\"\n }\n```\n\n```diff\n contract SequencerFeeVault (unichain:0x4200000000000000000000000000000000000011) [opstack/Layer2/SequencerFeeVault] {\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n sourceHashes.1:\n- \"0x509425b10b7bc736a2d76eb9fe3bc5951124e88ef3e4752a0a314d33690041d2\"\n+ \"0xb45389729a8fffa7650568cd2922e482d03d3ed57b35f4819650d11174d9237a\"\n values.$implementation:\n- \"unichain:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011\"\n+ \"unichain:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.5.0-beta.2\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.unichain:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011:\n- \"SequencerFeeVault\"\n implementationNames.unichain:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA:\n+ \"SequencerFeeVault\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (unichain:0x4200000000000000000000000000000000000012) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n template:\n- \"opstack/Layer2/OptimismMintableERC20Factory\"\n+ \"opstack/OptimismMintableERC20Factory\"\n sourceHashes.1:\n- \"0x106f86d507a55d0f26e3683c910a71a9804d75ced3a4bb374e6a78978462274b\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n description:\n- \"Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\"\n+ \"A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\"\n values.$implementation:\n- \"unichain:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012\"\n+ \"unichain:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.10.1-beta.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.unichain:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012:\n- \"OptimismMintableERC20Factory\"\n implementationNames.unichain:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L2ERC721Bridge (unichain:0x4200000000000000000000000000000000000014) [opstack/Layer2/L2ERC721Bridge] {\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0x271f936ec1986057d9043b9961aa266e87908766814bdde8071f19a9de7484be\"\n+ \"0x0d8059378487e33161e0b838f622400642360f1e311eba8c7b8fbdb504aeee1e\"\n values.$implementation:\n- \"unichain:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014\"\n+ \"unichain:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.7.1-beta.2\"\n+ \"1.10.1\"\n values.proxyAdmin:\n+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.unichain:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014:\n- \"L2ERC721Bridge\"\n implementationNames.unichain:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833:\n+ \"L2ERC721Bridge\"\n }\n```\n\n```diff\n contract L1Block (unichain:0x4200000000000000000000000000000000000015) [opstack/Layer2/L1Block] {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0xd8671cf61a7da63a2d77c745e213afbd37a88260d4ff2b5121e5e3c0b4711c93\"\n+ \"0xca6401a4032def95df36b0d432052526888ef8a396f7e4fc37cdda3690932646\"\n values.$implementation:\n- \"unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n+ \"unichain:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.baseFeeScalar:\n+ 2000\n values.batcherHash:\n+ \"0x0000000000000000000000002f60a5184c63ca94f82a27100643dbabe4f3f7fd\"\n values.daFootprintGasScalar:\n+ 400\n values.DEPOSITOR_ACCOUNT:\n+ \"unichain:0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001\"\n values.gasPayingToken:\n+ {\"addr_\":\"unichain:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n values.l1FeeOverhead:\n+ 0\n values.l1FeeScalar:\n+ 0\n values.proxyAdmin:\n+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.version:\n+ \"1.9.0\"\n implementationNames.unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n- \"\"\n implementationNames.unichain:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56:\n+ \"L1Block\"\n references:\n- [{\"text\":\"Source Code\",\"href\":\"https://unichain.blockscout.com/address/0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"}]\n template:\n+ \"opstack/Layer2/L1Block\"\n description:\n+ \"Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\"\n }\n```\n\n```diff\n contract L2ToL1MessagePasser (unichain:0x4200000000000000000000000000000000000016) [opstack/Layer2/L2ToL1MessagePasser] {\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n sourceHashes.1:\n- \"0x1e27889ae9ce2358b6248afde8e8b6f7c4ccf0b308a9d9ecb629369ce110ea23\"\n+ \"0xb5be3cf9878e914d0b7feef281dbcc2b72d7c7e9106e44a7dfd516d48de8a62a\"\n values.$implementation:\n- \"unichain:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016\"\n+ \"unichain:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.1.1-beta.1\"\n+ \"1.2.0\"\n implementationNames.unichain:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016:\n- \"L2ToL1MessagePasser\"\n implementationNames.unichain:0x27E51B2254433A3284D9ba73Ea551C397DB2a124:\n+ \"L2ToL1MessagePasser\"\n }\n```\n\n```diff\n contract OptimismMintableERC721Factory (unichain:0x4200000000000000000000000000000000000017) [opstack/Layer2/OptimismMintableERC721Factory] {\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n sourceHashes.1:\n- \"0xec1bfae18ba5717949a6969cb01d743511c076e7bc6c78ed2c2b63232b97cc57\"\n+ \"0xf4fd8df9e9191098f5647a3568864aee248b011c092313bf392b57a4b0f43268\"\n values.$implementation:\n- \"unichain:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017\"\n+ \"unichain:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.4.1-beta.1\"\n+ \"1.5.1\"\n values.bridge:\n+ \"unichain:0x4200000000000000000000000000000000000014\"\n values.proxyAdmin:\n+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.remoteChainID:\n+ 1\n implementationNames.unichain:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017:\n- \"OptimismMintableERC721Factory\"\n implementationNames.unichain:0xf43862B9d814BB4504158CecCB0b74b31265e4eE:\n+ \"OptimismMintableERC721Factory\"\n }\n```\n\n```diff\n contract L2ProxyAdmin (unichain:0x4200000000000000000000000000000000000018) [opstack/Layer2/L2ProxyAdmin_karst] {\n +++ description: Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\n template:\n- \"opstack/Layer2/L2ProxyAdmin\"\n+ \"opstack/Layer2/L2ProxyAdmin_karst\"\n sourceHashes.1:\n- \"0x5685f6e3015a6b9a257228bb8ef3c33efb233627bc5c81b7005670a10a37bd47\"\n+ \"0xc9307181d90f9b86ff913d1c365245cfb8622929939cbff0389acf7f428ddc4b\"\n description:\n- \"Administration contract for other contract proxies.\"\n+ \"Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\"\n values.$implementation:\n- \"unichain:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018\"\n+ \"unichain:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0x48aa8d6a9d281bf0eaa204e895acdfe0ba38640c34f6d133b2f4ecb879f5c72c\",[\"unichain:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.owner:\n- \"unichain:0x7E6c183F538abb8572F5cd17109C617b994d6944\"\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.version:\n+ \"1.0.0\"\n fieldMeta.owner:\n- {\"severity\":\"HIGH\"}\n fieldMeta.addressManager:\n+ {\"severity\":\"HIGH\"}\n implementationNames.unichain:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018:\n- \"ProxyAdmin\"\n implementationNames.unichain:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F:\n+ \"L2ProxyAdmin\"\n }\n```\n\n```diff\n contract BaseFeeVault (unichain:0x4200000000000000000000000000000000000019) [opstack/Layer2/BaseFeeVault_karst] {\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n template:\n- \"opstack/Layer2/BaseFeeVault\"\n+ \"opstack/Layer2/BaseFeeVault_karst\"\n sourceHashes.1:\n- \"0x3d0a3be0a8f45817aa732f9e2f00e95db42726fa0335aa511b97c1a4cdecd4b7\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n values.$implementation:\n- \"unichain:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019\"\n+ \"unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.5.0-beta.2\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.unichain:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019:\n- \"BaseFeeVault\"\n implementationNames.unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract L1FeeVault (unichain:0x420000000000000000000000000000000000001A) [opstack/Layer2/L1FeeVault_karst] {\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n template:\n- \"opstack/Layer2/L1FeeVault\"\n+ \"opstack/Layer2/L1FeeVault_karst\"\n sourceHashes.1:\n- \"0x7c20cecc6bd09d07904ca96f0b10f1b1106bb1b0910dadd959556c970f5b527e\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n values.$implementation:\n- \"unichain:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A\"\n+ \"unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.5.0-beta.2\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.unichain:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A:\n- \"L1FeeVault\"\n implementationNames.unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract SchemaRegistry (unichain:0x4200000000000000000000000000000000000020) [opstack/Layer2/SchemaRegistry] {\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0x184ad3273d7e257c9f1b138ecff33286528599eae858abc182fdc3068060af90\"\n+ \"0xe2a60db541c987ffa9a6ed73b9100c7f62f2574966a20c903a73a8f730c7dfcc\"\n values.$implementation:\n- \"unichain:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020\"\n+ \"unichain:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.3.1-beta.1\"\n+ \"1.3.1-beta.2\"\n implementationNames.unichain:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020:\n- \"SchemaRegistry\"\n implementationNames.unichain:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34:\n+ \"SchemaRegistry\"\n }\n```\n\n```diff\n contract EAS (unichain:0x4200000000000000000000000000000000000021) [opstack/Layer2/EAS] {\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0xa445fc3be07624967bd4cb9792e42018303744e20dc788527e19f17d83b6373d\"\n+ \"0x3f7d9db9a6d3d5d487930fcb808a16592e61fe97c3bbd86b63464273f81a6dd9\"\n values.$implementation:\n- \"unichain:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021\"\n+ \"unichain:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.4.1-beta.1\"\n+ \"1.4.1-beta.3\"\n implementationNames.unichain:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021:\n- \"EAS\"\n implementationNames.unichain:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6:\n+ \"EAS\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SuperFaultDisputeGame (eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208) [opstack/SuperFaultDisputeGame]\n +++ description: Logic of the permissionless dispute game introduced in Upgrade 20. It proves a super root, a state commitment addressed by an L2 timestamp rather than by a block number. The format carries per-chain roots for a future interop set; today each game commits only to its own chain. When a state root is proposed, a game contract is cloned from this implementation; anyone posting the bond can challenge it.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract SuperPermissionedDisputeGame (eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691) [opstack/SuperPermissionedDisputeGame]\n +++ description: Logic of the permissioned dispute game introduced in Upgrade 20. Only the proposer configured in the DisputeGameFactory can create games of this type, and each one commits to a super root anchored to an L2 timestamp. Unlike the permissioned game it replaces, it runs no VM and exposes no challenger, bond, clock or absolute prestate: validity is governed by the AnchorStateRegistry and the Guardian.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x74ad145aC900F1DD5551F0C9E143314DC4022FCf) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "9e0b5854",
"date": "Mon, 06 Jul 2026 07:57:11 GMT",
"timestamp": 1783324564,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling).",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "7d37c638",
"date": "Thu, 04 Jun 2026 17:46:04 GMT",
"timestamp": 1780397664,
"description": "Unichain Multisig 1 and Multisig 2 each rotated one signer.\n\nNew game name (aggregateVerifier) added to portal.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Unichain Multisig 2 (eth:0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0x5b5B0669De777AF0Eb7A73eD46AaEe9711ab01E4\"\n values.$members.2:\n- \"eth:0xFA361ece9724d75B7EdF08B9A238706EAe270d3f\"\n }\n```\n\n```diff\n contract Unichain Multisig 1 (eth:0xb0c4C487C5cf6d67807Bc2008c66fa7e2cE744EC) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xc8C31213545f32230E0327Db76df5538c2836081\"\n values.$members.2:\n- \"eth:0xf89C1b6e5D65e97c69fbc792f1BcdcB56DcCde91\"\n }\n```"
}
]
},
{
"id": "c83035d4",
"date": "Fri, 15 May 2026 13:11:11 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe and OpFoundationOperationsSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "f85a58de",
"date": "Tue, 05 May 2026 15:19:38 GMT",
"timestamp": 1777994306,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "0efbe3fa",
"date": "Wed, 25 Mar 2026 10:08:16 GMT",
"timestamp": 1774433230,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe and OpFoundationOperationsSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "ff91f6d8",
"date": "Fri, 27 Feb 2026 13:29:34 GMT",
"timestamp": 1772198394,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "8f84154a",
"date": "Fri, 13 Feb 2026 14:50:29 GMT",
"timestamp": 1770994162,
"description": "OP Contracts Upgrade 18 (op-contracts/v6.0.0). Same implementations as OP Mainnet.\n\nOptimismPortal2 v5.1.1→v5.2.0: adds Custom Gas Token safety guards preventing ETH value operations in CGT mode. ([diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B))\n\nAnchorStateRegistry v3.5.0→v3.7.0: adds safe re-initialization guard for retirementTimestamp and a new getStartingAnchorRoot() getter. ([diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5))\n\nSystemConfig v3.11.0→v3.13.1: adds DelayedWETH storage slot, setBatcherHash(address) convenience setter, and isCustomGasToken() legacy getter. ([diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2))\n\nDisputeGameFactory v1.3.0→v1.4.0: cloning logic now embeds gameType in clone bytecode when gameArgs are present. ([diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c))\n\nNew PermissionedDisputeGameV2 and FaultDisputeGameV2 move game parameters (VM, WETH, anchor registry, etc.) from constructor immutables into clone bytecode, allowing the factory to configure per-clone without separate implementations.",
"isHighSeverity": true,
"changeCount": 48,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (eth:0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n+ \"0x3410684a7a8c16c4f87db990b834ce7c3be33136857c103791b132b824bfd951\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.6:\n+ [\"2026-02-10T17:30:23.000Z\",\"0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x1601463fd2e47d8994c28a90b556c6933f38e8685214f702dc41a5ae08d9787c\"\n+ \"0xa1c629e3a86e4cba49482956c04d921b52551c4ee9833ddda7e44ca155bc6cab\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.2:\n+ [\"2026-02-10T17:30:23.000Z\",\"0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x193781a056643321a32aacffcb9087a6e54a0f858d5ee06f29cd920ada6eeea9\",\"l2SequenceNumber\":22024228}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2F12d621a16e2d3285929C9996f478508951dFe4) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n+ \"0x0fdb3ea7873ad716dd0f5f9d2fdbab989f3b308066977be182ddc31d150e12f5\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.5:\n+ [\"2026-02-10T17:30:23.000Z\",\"0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x6D0462850F7B87403660CC9f4F89346483108512\"\n+ \"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xFc38CE38042f7eA61001DE8815ef8825E277fe02\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xD5F0E2912C70771C589CD8bB087EDE0Dab4AFA9A\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x6D0462850F7B87403660CC9f4F89346483108512)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.6:\n+ [\"2026-02-10T17:30:23.000Z\",\"0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.3:\n+ [\"2026-02-10T17:30:23.000Z\",\"0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 3\n+ 4\n }\n```\n\n```diff\n contract SystemConfig (eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n+ \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.8:\n+ [\"2026-02-10T17:30:23.000Z\",\"0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.6:\n+ [\"2026-02-10T17:30:23.000Z\",\"0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xFc38CE38042f7eA61001DE8815ef8825E277fe02)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "58eb42e4",
"date": "Mon, 26 Jan 2026 09:08:14 GMT",
"timestamp": 1769272161,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "9971669c",
"date": "Wed, 21 Jan 2026 10:14:46 GMT",
"timestamp": 1768990397,
"description": "SystemConfig minBaseFee changed from 0 to 500000 (0.0005 gwei).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.minBaseFee:\n- 0\n+ 500000\n }\n```"
}
]
},
{
"id": "c2e1f7e7",
"date": "Fri, 09 Jan 2026 14:57:53 GMT",
"timestamp": 1767970592,
"description": "SystemConfig updated: gas limit doubled from 30M to 60M, and EIP-1559 parameters configured (denominator: 250, elasticity: 12).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n- 0\n+ 250\n values.eip1559Elasticity:\n- 0\n+ 12\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 30000000\n+ 60000000\n }\n```"
}
]
},
{
"id": "23946144",
"date": "Wed, 07 Jan 2026 16:08:15 GMT",
"timestamp": 1767802030,
"description": "L1Splitter recipient changed to a Drippie contract as part of the UNIfication proposal, routing sequencer fees to the UNI burn mechanism instead of treasury.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1Splitter (unichain:0x4300c0d3c0d3c0D3c0d3C0D3c0d3C0D3C0D30003) {\n +++ description: Automatically collects ETH on L2 and periodically bridges it back to Ethereum Layer 1 to a specified recipient address (unichain:0x7078c4537C04c2b2E52ddBa06074dBdACF23cA15).\n description:\n- \"Automatically collects ETH on L2 and periodically bridges it back to Ethereum Layer 1 to a specified recipient address (unichain:0x2F60A5184c63ca94f82a27100643DbAbe4F3f7Fd).\"\n+ \"Automatically collects ETH on L2 and periodically bridges it back to Ethereum Layer 1 to a specified recipient address (unichain:0x7078c4537C04c2b2E52ddBa06074dBdACF23cA15).\"\n values.l1Recipient:\n- \"unichain:0x2F60A5184c63ca94f82a27100643DbAbe4F3f7Fd\"\n+ \"unichain:0x7078c4537C04c2b2E52ddBa06074dBdACF23cA15\"\n }\n```"
}
]
},
{
"id": "86db7e3e",
"date": "Thu, 18 Dec 2025 09:01:59 GMT",
"timestamp": 1766048397,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n sourceHashes.1:\n- \"0x263aadde480629cd3ca5704cc7d4e7df809d437e68f8d9864039801ddf820367\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.domainSeparator:\n- \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\"\n+ \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\"\n values.getModules:\n- []\n values.NAME:\n- \"Gnosis Safe\"\n values.VERSION:\n- \"1.1.1\"\n+ \"1.4.1\"\n values.getChainId:\n+ 1\n implementationNames.eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "756e1fb4",
"date": "Wed, 10 Dec 2025 10:27:14 GMT",
"timestamp": 1765362369,
"description": "L1Block contract from Jovian. Starting in Jovian, every non-deposit L2 tx gets a DA usage estimate and the block sums those up into a new resource called DA footprint. Each non-deposit tx compute daUsageEstimate using the Fjord linear model using the tx fastlzSize, and then multiply by the scalar (daFootprintGasScalar). The scalar essentially is a bytes-to-gas conversion factor, e.g. higher daFootprintGasScalar -> each estimated DA byte costs more footprint-gas -> stricter DA-per-block cap. In practice:\n- blocks can become “DA-full” before they are “gas-full” (daFootprint(block) <= gasLimit)\n- base fee now responds to DA-heavy blocks - base fee update uses gasMetered := max(gasUsed, blobGasUsed)\nand Jovian repurposes blobGasUsed to store daFootprint\n- DA-heavy transactions become pricier to include (DA-heavy blocks push gasMetered up, which pushes EIP-1559 base fee up, which feeds back into tx pricing)",
"isHighSeverity": true,
"changeCount": 49,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (unichain:0x420000000000000000000000000000000000000F) {\n +++ description: None\n template:\n- \"opstack/Layer2/GasPriceOracle\"\n sourceHashes.1:\n- \"0x1cb14befaee4fe093cdeeaab8c4a2d125540a0790929ca046c8193a094a88a4f\"\n+ \"0x29ddf164485b42ede998cb6aa971e4178dffbc3247ff52a55177ef43123c2e70\"\n description:\n- \"Provides the current gas price for L2 transactions.\"\n values.$implementation:\n- \"unichain:0x93e57A196454CB919193fa9946f14943cf733845\"\n+ \"unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n values.$pastUpgrades.1:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xc7c01d75d0b6950fcd30b448cba848e9841ab9ebb6b46eed9ecde4ba05ad0fd9\",[\"unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.baseFee:\n- 0\n values.baseFeeScalar:\n- 2000\n values.blobBaseFee:\n- 1\n values.blobBaseFeeScalar:\n- 900000\n values.decimals:\n- 6\n values.DECIMALS:\n- 6\n values.gasPrice:\n- 0\n values.isEcotone:\n- true\n values.isFjord:\n- true\n values.isIsthmus:\n- true\n values.l1BaseFee:\n- 50173681\n values.version:\n- \"1.4.0\"\n implementationNames.unichain:0x93e57A196454CB919193fa9946f14943cf733845:\n- \"GasPriceOracle\"\n implementationNames.unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n+ \"\"\n references:\n+ [{\"text\":\"Source Code\",\"href\":\"https://unichain.blockscout.com/address/0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"}]\n }\n```\n\n```diff\n contract L1Block (unichain:0x4200000000000000000000000000000000000015) {\n +++ description: None\n template:\n- \"opstack/Layer2/L1Block\"\n sourceHashes.1:\n- \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n+ \"0xd8671cf61a7da63a2d77c745e213afbd37a88260d4ff2b5121e5e3c0b4711c93\"\n description:\n- \"Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\"\n values.$implementation:\n- \"unichain:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n+ \"unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n values.$pastUpgrades.1:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a\",[\"unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.basefee:\n- 50173681\n values.baseFeeScalar:\n- 2000\n values.batcherHash:\n- \"0x0000000000000000000000002f60a5184c63ca94f82a27100643dbabe4f3f7fd\"\n values.blobBaseFee:\n- 1\n values.blobBaseFeeScalar:\n- 900000\n values.DEPOSITOR_ACCOUNT:\n- \"unichain:0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001\"\n values.gasPayingToken:\n- {\"addr_\":\"unichain:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.hash:\n- \"0xc866d5b728164337e8302b6d5d0fedeadd05939d021640d1b58a824aa2a69162\"\n values.isCustomGasToken:\n- false\n values.l1FeeOverhead:\n- 0\n values.l1FeeScalar:\n- 0\n values.number:\n- 23896506\n values.operatorFeeConstant:\n- 0\n values.operatorFeeScalar:\n- 0\n values.sequenceNumber:\n- 7\n values.timestamp:\n- 1764324815\n values.version:\n- \"1.6.0\"\n implementationNames.unichain:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n- \"L1Block\"\n implementationNames.unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n+ \"\"\n references:\n+ [{\"text\":\"Source Code\",\"href\":\"https://unichain.blockscout.com/address/0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"}]\n }\n```"
}
]
},
{
"id": "7ac95a79",
"date": "Fri, 28 Nov 2025 10:16:25 GMT",
"timestamp": 1764324881,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202), [System Config](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\n- Jovian block values\n- fee updates `MIN_BASE_FEE`, `DA_FOOTPRINT_GAS_SCALAR` and operator fee\n\n[L1StandardBridge](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A), [SuperchainConfig](https://disco.l2beat.com/diff/eth:0xCe28685EB204186b557133766eCA00334EB441E4/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957), [OptimismMintableERC20Factory](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB), [DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50), [L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9),[L1CrossDomainMessenger](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0), [MIPS](https://disco.l2beat.com/diff/eth:0x07BABE08EE4D07dBA236530183B24055535A7011/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908), [PermissionedDisputeGame](https://disco.l2beat.com/diff/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f/eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n- minimal diff",
"isHighSeverity": true,
"changeCount": 66,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T21:35:35.000Z\",\"0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2F12d621a16e2d3285929C9996f478508951dFe4) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.4:\n+ [\"2025-11-25T21:35:35.000Z\",\"0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 4\n+ 5\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x42891199E6abD6A346E26B7d187EF5657FDfF603\"\n+ \"eth:0x6D0462850F7B87403660CC9f4F89346483108512\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x5581F65C63B8CCbBe4A06626C336531160E2D8B5\"\n+ \"eth:0xFc38CE38042f7eA61001DE8815ef8825E277fe02\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x42891199E6abD6A346E26B7d187EF5657FDfF603)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x5581F65C63B8CCbBe4A06626C336531160E2D8B5)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1StandardBridge (eth:0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T21:35:35.000Z\",\"0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x5581F65C63B8CCbBe4A06626C336531160E2D8B5\"\n+ \"eth:0xFc38CE38042f7eA61001DE8815ef8825E277fe02\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.2:\n+ [\"2025-11-25T21:35:35.000Z\",\"0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.7:\n+ [\"2025-11-25T21:35:35.000Z\",\"0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T21:35:35.000Z\",\"0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n EOA (eth:0xD5F0E2912C70771C589CD8bB087EDE0Dab4AFA9A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x5581F65C63B8CCbBe4A06626C336531160E2D8B5\"\n+ \"eth:0xFc38CE38042f7eA61001DE8815ef8825E277fe02\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x6D0462850F7B87403660CC9f4F89346483108512)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xFc38CE38042f7eA61001DE8815ef8825E277fe02)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "1c035776",
"date": "Mon, 27 Oct 2025 18:10:54 GMT",
"timestamp": 1761588582,
"description": "old rpc problem, ignore.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x2F12d621a16e2d3285929C9996f478508951dFe4) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.permissionedGamesTotal:\n- 1837\n+ 1865\n }\n```"
}
]
},
{
"id": "789b3ea9",
"date": "Thu, 23 Oct 2025 12:43:13 GMT",
"timestamp": 1761223312,
"description": "msig change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "cbee75ee",
"date": "Fri, 03 Oct 2025 14:35:54 GMT",
"timestamp": 1759502087,
"description": "This is upgrade 16a (https://gov.optimism.io/t/maintenance-upgrade-proposal-u16a/10288)\n\nOptimismPortal2 - removed unused superchain withdrawal code, ETH lockbox feature moved out to its own contract.\nhttps://disco.l2beat.com/diff/eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\n\nSystemConfig - setFeature function to activate/deactivate features (currently used for the ETHLockbox feature).\nhttps://disco.l2beat.com/diff/eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\n\nL1ERC721Bridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F/eth:0x7f1d12fB2911EB095278085f721e644C1f675696\n\nL1CrossDomainMessenger - minor changes.\nhttps://disco.l2beat.com/diff/eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\n\nL1StandardBridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x44AfB7722AF276A601D524F429016A18B6923df0/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\n\nFaultDisputeGame (via DisputeGameFactory gameImpls[0]) - no code changes; constructor variables updated (e.g., DelayedWETH, VM).\nhttps://disco.l2beat.com/diff/eth:0x4F0f6B7877A174A4fd41DF80dB80DeF8883bc772/eth:0x42891199E6abD6A346E26B7d187EF5657FDfF603\n\nPermissionedDisputeGame (via DisputeGameFactory gameImpls[1]) - no code changes; constructor variables updated (e.g., DelayedWETH, VM).\nhttps://disco.l2beat.com/diff/eth:0xC56EF9c3F3e9fD6713055b4577AC4AF8303E63e1/eth:0x5581F65C63B8CCbBe4A06626C336531160E2D8B5\n\nMIPS → MIPS64 - added function for pseudorandomness generation.\nhttps://disco.l2beat.com/diff/eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a/eth:0x07BABE08EE4D07dBA236530183B24055535A7011\n\nDelayedWETH (replacement 1) - same code, same admin; only diff is totalSupply.\nhttps://disco.l2beat.com/diff/eth:0xa0157F0730Dea8d1a5c358Dc1d340a05D8796C23/eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c\n\nDelayedWETH (replacement 2) - same code, same admin; only diff is totalSupply.\nhttps://disco.l2beat.com/diff/eth:0xBcEA39a1F75D7AC8004982efBA85F92A693386CB/eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac",
"isHighSeverity": true,
"changeCount": 67,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (eth:0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n template:\n- \"opstack/OptimismPortal2_post13\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T20:45:59.000Z\",\"0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.superRootsActive:\n- false\n values.version:\n- \"4.6.0\"\n+ \"5.0.0\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n values.$pastUpgrades.1:\n+ [\"2025-10-02T20:45:59.000Z\",\"0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5\",[\"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2F12d621a16e2d3285929C9996f478508951dFe4) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.$pastUpgrades.3:\n+ [\"2025-10-02T20:45:59.000Z\",\"0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x4F0f6B7877A174A4fd41DF80dB80DeF8883bc772\"\n+ \"eth:0x42891199E6abD6A346E26B7d187EF5657FDfF603\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xC56EF9c3F3e9fD6713055b4577AC4AF8303E63e1\"\n+ \"eth:0x5581F65C63B8CCbBe4A06626C336531160E2D8B5\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4) {\n +++ description: None\n directlyReceivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xa0157F0730Dea8d1a5c358Dc1d340a05D8796C23\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xBcEA39a1F75D7AC8004982efBA85F92A693386CB\",\"role\":\"admin\"}\n directlyReceivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x4F0f6B7877A174A4fd41DF80dB80DeF8883bc772)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract UnichainProxyAdminOwner (eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833) {\n +++ description: None\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xa0157F0730Dea8d1a5c358Dc1d340a05D8796C23\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xBcEA39a1F75D7AC8004982efBA85F92A693386CB\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.6.0\"\n+ \"2.7.0\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T20:45:59.000Z\",\"0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.9.0\"\n+ \"2.10.0\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xa0157F0730Dea8d1a5c358Dc1d340a05D8796C23)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xBcEA39a1F75D7AC8004982efBA85F92A693386CB)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract SystemConfig (eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig_pauseId\"\n+ \"opstack/SystemConfig\"\n sourceHashes.1:\n- \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.6:\n+ [\"2025-10-02T20:45:59.000Z\",\"0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"3.4.0\"\n+ \"3.7.0\"\n fieldMeta.paused:\n- {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xC56EF9c3F3e9fD6713055b4577AC4AF8303E63e1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T20:45:59.000Z\",\"0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x42891199E6abD6A346E26B7d187EF5657FDfF603)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x5581F65C63B8CCbBe4A06626C336531160E2D8B5)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "87fecbac",
"date": "Mon, 29 Sep 2025 14:57:58 GMT",
"timestamp": 1759157813,
"description": "Key rotation.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Unichain Multisig 2 (eth:0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xc531e0368dc3928E11987D096558dEE7A22ECEE4\"\n values.$members.1:\n- \"eth:0x7f781194ACF0d3Ae519A5aB0D0597e3831d62237\"\n }\n```\n\n```diff\n contract Unichain Multisig 1 (eth:0xb0c4C487C5cf6d67807Bc2008c66fa7e2cE744EC) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xAC68D69dC0FE6E00BcdABEe391b06d09098804bb\"\n values.$members.1:\n- \"eth:0x19b175a56C52e14944a3D37b33C0Bcb7A2091779\"\n }\n```"
}
]
},
{
"id": "db899f84",
"date": "Mon, 18 Aug 2025 14:06:46 GMT",
"timestamp": 1755525939,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "ababb0b2",
"date": "Fri, 25 Jul 2025 17:48:26 GMT",
"timestamp": 1753465706,
"description": "Check optimism diffhistory for [the upgrade 16 breakdown](https://gov.optimism.io/t/upgrade-16-proposal-interop-contracts-stage-1-and-go-1-23-support-in-cannon/10037).",
"isHighSeverity": true,
"changeCount": 139,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\n template:\n- \"opstack/OptimismPortal2\"\n+ \"opstack/OptimismPortal2_post13\"\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n+ \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:12:11.000Z\",\"0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959\",[\"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.respectedGameTypeUpdatedAt:\n- 1737658703\n+ 1753380731\n values.version:\n- \"3.14.0\"\n+ \"4.6.0\"\n values.anchorStateRegistry:\n+ \"eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9\"\n values.ethLockbox:\n+ \"eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"\n values.proxyAdminOwner:\n+ \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n values.superRootsActive:\n+ false\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n- \"OptimismPortal2\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n contract DisputeGameFactory (0x2F12d621a16e2d3285929C9996f478508951dFe4) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2025-07-24T18:12:11.000Z\",\"0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x57a3B42698DC1e4Fb905c9ab970154e178296991\"\n+ \"eth:0x4F0f6B7877A174A4fd41DF80dB80DeF8883bc772\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x485272c0703020e1354328A1aBa3ca767997BEd3\"\n+ \"eth:0xC56EF9c3F3e9fD6713055b4577AC4AF8303E63e1\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"\n values.proxyAdminOwner:\n+ \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5\",\"role\":\"admin\"}\n directlyReceivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9\",\"role\":\"admin\"}\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x84B268A4101A8c8e3CcB33004F81eD08202bA124\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xa0157F0730Dea8d1a5c358Dc1d340a05D8796C23\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xBcEA39a1F75D7AC8004982efBA85F92A693386CB\",\"role\":\"admin\"}\n directlyReceivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xc9edb4E340f4E9683B4557bD9db8f9d932177C86\",\"role\":\"admin\"}\n directlyReceivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD5D0e176be44E61eaB3Cf1FA8153758dF603376f\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x485272c0703020e1354328A1aBa3ca767997BEd3)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x57a3B42698DC1e4Fb905c9ab970154e178296991)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract UnichainProxyAdminOwner (0x6d5B183F538ABB8572F5cD17109c617b994D5833) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x84B268A4101A8c8e3CcB33004F81eD08202bA124\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.2.via:\n+ [{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]\n receivedPermissions.2.role:\n- \".owner\"\n+ \"admin\"\n receivedPermissions.2.description:\n- \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.2.from:\n- \"eth:0xc9edb4E340f4E9683B4557bD9db8f9d932177C86\"\n+ \"eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5\"\n receivedPermissions.2.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x84B268A4101A8c8e3CcB33004F81eD08202bA124\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xa0157F0730Dea8d1a5c358Dc1d340a05D8796C23\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xBcEA39a1F75D7AC8004982efBA85F92A693386CB\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xc9edb4E340f4E9683B4557bD9db8f9d932177C86\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD5D0e176be44E61eaB3Cf1FA8153758dF603376f\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n }\n```\n\n```diff\n contract L1StandardBridge (0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n values.version:\n- \"2.3.0\"\n+ \"2.6.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"\n values.proxyAdminOwner:\n+ \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n values.systemConfig:\n+ \"eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x84B268A4101A8c8e3CcB33004F81eD08202bA124)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:12:11.000Z\",\"0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959\",[\"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.6.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"\n values.proxyAdminOwner:\n+ \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n values.systemConfig:\n+ \"eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions:\n- [{\"permission\":\"guard\",\"from\":\"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}]\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"role\":\".deputyGuardian\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n contract SystemConfig (0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig\"\n+ \"opstack/SystemConfig_pauseId\"\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n values.$pastUpgrades.5:\n+ [\"2025-07-24T18:12:11.000Z\",\"0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959\",[\"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0x2F12d621a16e2d3285929C9996f478508951dFe4\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.4.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 2\n values.l2ChainId:\n+ 130\n+++ description: `superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\n+++ severity: HIGH\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"\n values.proxyAdminOwner:\n+ \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n fieldMeta.paused:\n+ {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0xc9edb4E340f4E9683B4557bD9db8f9d932177C86)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract L1ERC721Bridge (0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:12:11.000Z\",\"0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959\",[\"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"\n values.proxyAdminOwner:\n+ \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n values.systemConfig:\n+ \"eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0xD5D0e176be44E61eaB3Cf1FA8153758dF603376f)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract ETHLockbox (0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5)\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x4F0f6B7877A174A4fd41DF80dB80DeF8883bc772)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xa0157F0730Dea8d1a5c358Dc1d340a05D8796C23)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xBcEA39a1F75D7AC8004982efBA85F92A693386CB)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xC56EF9c3F3e9fD6713055b4577AC4AF8303E63e1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "cb63c74f",
"date": "Mon, 14 Jul 2025 12:47:14 GMT",
"timestamp": 1752497234,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 20,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract DeployerWhitelist (0x4200000000000000000000000000000000000002)\n +++ description: Legacy contract that was originally used to act as a whitelist of addresses allowed to the Optimism network. Fully unused and deprecated since the Bedrock upgrade.\n```\n\n```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: Provides the current gas price for L2 transactions.\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: Simple contract that returns the latest L1 block number.\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: Administration contract for other contract proxies.\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract L1FeeVault (0x420000000000000000000000000000000000001A)\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract FeeSplitter (0x4300c0D3c0d3c0d3c0d3c0d3C0D3c0d3c0d30001)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1Splitter (0x4300C0D3C0D3C0D3C0d3C0d3c0d3C0d3C0d30002)\n +++ description: Automatically collects ETH on L2 and periodically bridges it back to Ethereum Layer 1 to a specified recipient address (unichain:0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa).\n```\n\n```diff\n+ Status: CREATED\n contract L1Splitter (0x4300c0d3c0d3c0D3c0d3C0D3c0d3C0D3C0D30003)\n +++ description: Automatically collects ETH on L2 and periodically bridges it back to Ethereum Layer 1 to a specified recipient address (unichain:0x2F60A5184c63ca94f82a27100643DbAbe4F3f7Fd).\n```\n\n```diff\n+ Status: CREATED\n contract NetFeeSplitter (0x4300c0D3c0D3c0D3c0D3c0D3C0D3c0d3c0D30004)\n +++ description: None\n```"
}
]
},
{
"id": "e835b630",
"date": "Mon, 14 Jul 2025 12:47:14 GMT",
"timestamp": 1752497234,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 36,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract Escrow (0x1196F688C585D3E5C895Ef8954FFB0dCDAfc566A)\n +++ description: Simple escrow that accepts tokens and allows to configure permissioned addresses that can access the tokens.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x2F12d621a16e2d3285929C9996f478508951dFe4)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x485272c0703020e1354328A1aBa3ca767997BEd3)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x4B4F1aF8d43C8c140D2355Fea663fC9f762067C2)\n +++ description: used to remove members inactive for 70d while making sure that the threshold remains above 60%. If the number of members falls below 1, the eth:0x0000000000000000000000000000000000000000 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x57a3B42698DC1e4Fb905c9ab970154e178296991)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract UnichainProxyAdminOwner (0x6d5B183F538ABB8572F5cD17109c617b994D5833)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC20TokenBridge (0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877)\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x8098F676033A377b9Defe302e9fE6877cD63D575)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x84B268A4101A8c8e3CcB33004F81eD08202bA124)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract Unichain Multisig 2 (0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x9343c452dec3251fe99D9Fd29b74c5b9CD1751a6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract Unichain Multisig 1 (0xb0c4C487C5cf6d67807Bc2008c66fa7e2cE744EC)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xc407398d063f942feBbcC6F80a156b47F3f1BDA6)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xc9edb4E340f4E9683B4557bD9db8f9d932177C86)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xD5D0e176be44E61eaB3Cf1FA8153758dF603376f)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "2ec4fb61",
"date": "Fri, 06 Jun 2025 12:27:14 GMT",
"timestamp": 1749212834,
"description": "config: silent maker/sky escrow template added.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract Escrow (0x1196F688C585D3E5C895Ef8954FFB0dCDAfc566A)\n +++ description: Simple escrow that accepts tokens and allows to configure permissioned addresses that can access the tokens.\n```"
}
]
},
{
"id": "8ad4a96b",
"date": "Fri, 30 May 2025 07:18:15 GMT",
"timestamp": 1748589495,
"description": "config: change comment about eip1559 fee val",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n values.$pastUpgrades.0:\n+ [\"2025-05-09T16:00:01.000Z\",\"0xb6560306ccb0e772b132a8a6dd78244c0d7ac270c80baba40f95006184926c30\",[\"0x93e57A196454CB919193fa9946f14943cf733845\"]]\n values.$upgradeCount:\n- 0\n+ 1\n }\n```\n\n```diff\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011) {\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n values.$pastUpgrades.0:\n- [\"2024-12-05T19:19:37.000Z\",\"0x535fc15c66b384bf5f53847b4f1d5666a8a3a24f9e43f66854b1643b641312a8\",[\"0x95Fc06E1F6330F2829f0622d6158F5b1E21597B0\"]]\n values.$upgradeCount:\n- 1\n+ 0\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n values.$pastUpgrades.0:\n+ [\"2025-05-09T16:00:01.000Z\",\"0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd\",[\"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"]]\n values.$upgradeCount:\n- 0\n+ 1\n }\n```\n\n```diff\n contract BaseFeeVault (0x4200000000000000000000000000000000000019) {\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n values.$pastUpgrades.0:\n- [\"2024-12-05T19:19:37.000Z\",\"0xb16f95118e9269c5d7e0ee3a58e4cf22cb5a7e74c2ae7446b4419fd6855aa761\",[\"0xeb82050BB91e4879E256E0cF9a7C4bD58916aa6e\"]]\n values.$upgradeCount:\n- 1\n+ 0\n }\n```\n\n```diff\n contract L1FeeVault (0x420000000000000000000000000000000000001A) {\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n values.$pastUpgrades.0:\n- [\"2024-12-05T19:19:37.000Z\",\"0x66332072346a29a118b78491d791cb2abb2cea8f16e343b492e25f1ba9785406\",[\"0xc1fB143b9dF08eB0612ABCA237Dfe3726da2ED15\"]]\n values.$upgradeCount:\n- 1\n+ 0\n }\n```"
}
]
},
{
"id": "e62062ce",
"date": "Mon, 12 May 2025 08:22:46 GMT",
"timestamp": 1747038166,
"description": "Isthmus L2 contract upgrades, mainly focusing on support for the new operator fee (standard contracts).",
"isHighSeverity": true,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0x6e5bd465cdf07c7fc7de194833be336109be5aceaeb509643962096c772ec26a\"\n+ \"0x926a45849c8c68704718056d544ac26d7683a6b44a90a9590dda1a9bdd495962\"\n values.$implementation:\n- \"0xc0d3C0d3C0d3c0D3C0D3C0d3C0d3C0D3C0D3000f\"\n+ \"0x93e57A196454CB919193fa9946f14943cf733845\"\n values.version:\n- \"1.3.1-beta.1\"\n+ \"1.4.0\"\n values.isIsthmus:\n+ true\n implementationNames.0xc0d3C0d3C0d3c0D3C0D3C0d3C0d3C0D3C0D3000f:\n- \"GasPriceOracle\"\n implementationNames.0x93e57A196454CB919193fa9946f14943cf733845:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0x936b7b7eb2a88a64e3eceaf897abfa2dc6e48b4c75eba2da34ff927b98413b6b\"\n+ \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n values.$implementation:\n- \"0xc0d3C0D3C0D3c0D3C0D3C0d3C0D3c0D3c0d30015\"\n+ \"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n values.version:\n- \"1.5.1-beta.1\"\n+ \"1.6.0\"\n implementationNames.0xc0d3C0D3C0D3c0D3C0D3C0d3C0D3c0D3c0d30015:\n- \"L1Block\"\n implementationNames.0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n+ \"L1Block\"\n }\n```"
}
]
},
{
"id": "2a2d7a74",
"date": "Thu, 08 May 2025 10:05:28 GMT",
"timestamp": 1746698728,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x2F12d621a16e2d3285929C9996f478508951dFe4) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x56ebb9eaE4f33ceaED3672446E3812D77F8a8A2c\"\n+ \"0x57a3B42698DC1e4Fb905c9ab970154e178296991\"\n values.gameImpls.3:\n- \"0x67d59AC1166bA17612BE0Edf275187E38Cbf9B99\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.gameImpls.0:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x485272c0703020e1354328A1aBa3ca767997BEd3\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x56ebb9eaE4f33ceaED3672446E3812D77F8a8A2c)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x67d59AC1166bA17612BE0Edf275187E38Cbf9B99)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x485272c0703020e1354328A1aBa3ca767997BEd3)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x57a3B42698DC1e4Fb905c9ab970154e178296991)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "290b6c6d",
"date": "Fri, 25 Apr 2025 13:15:30 GMT",
"timestamp": 1745586930,
"description": "[Isthmus upgrade](https://vote.optimism.io/proposals/8705916809146420472067303211131851783087744913535435360574720946039078686841):\n- upgraded proof system VM: MIPS (MT-Cannon MIPS64)\n- operator fee (fee mechanism to improve fee config for zk proven and alt-DA systems)\n- pectra readiness",
"isHighSeverity": true,
"changeCount": 55,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n values.$implementation:\n- \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.2:\n+ [\"2024-11-04T19:25:47.000Z\",\"0x1623e586faeda506c832de15a948fd9c9d34da18c0ed5bbfc095dc1c0621f936\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.1.2.0:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.1.1:\n- \"2024-11-04T19:25:47.000Z\"\n+ \"0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20\"\n values.$pastUpgrades.1.0:\n- \"0x1623e586faeda506c832de15a948fd9c9d34da18c0ed5bbfc095dc1c0621f936\"\n+ \"2025-04-25T01:12:11.000Z\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.13.0\"\n+ \"3.14.0\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0x2F12d621a16e2d3285929C9996f478508951dFe4) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x5FE2BECc3dec340d3df04351DB8E728CbE4c7450\"\n+ \"0x56ebb9eaE4f33ceaED3672446E3812D77F8a8A2c\"\n values.gameImpls.3:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x67d59AC1166bA17612BE0Edf275187E38Cbf9B99\"\n values.gameImpls.0:\n- \"0xd2C3C6f4A4c5AA777bD6c476AEa58439Db0dD844\"\n+ \"0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x5FE2BECc3dec340d3df04351DB8E728CbE4c7450)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1StandardBridge (0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n sourceHashes.0:\n- \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"2.2.2\"\n+ \"2.3.0\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.2:\n+ [\"2024-11-04T19:27:35.000Z\",\"0x9efd53c7ecef0094ea6cd3a05d346daaee4a6c71c0dc69758bcdbac26b9ca9ef\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.1.2:\n- \"0x9efd53c7ecef0094ea6cd3a05d346daaee4a6c71c0dc69758bcdbac26b9ca9ef\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.1.1:\n- \"2024-11-04T19:27:35.000Z\"\n+ \"2025-04-12T19:18:59.000Z\"\n values.$pastUpgrades.1.0:\n- [\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]\n+ \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n values.$pastUpgrades.0.2.0:\n- \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.0.1:\n- \"2025-04-12T19:18:59.000Z\"\n+ \"0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20\"\n values.$pastUpgrades.0.0:\n- \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n+ \"2025-04-25T01:12:11.000Z\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.5.0\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SystemConfig (0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.4:\n+ [\"2025-03-19T15:24:11.000Z\",\"0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.3.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"2025-03-19T15:24:11.000Z\"\n values.$pastUpgrades.3.0:\n- \"2025-03-19T15:24:11.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.2.2:\n- \"0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16\"\n+ \"2024-11-04T19:25:59.000Z\"\n values.$pastUpgrades.2.1:\n- \"2025-03-19T15:24:11.000Z\"\n+ [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n values.$pastUpgrades.2.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0xb9a9cca69cc08ba53aeb94e99695bbaec8c54a6431b258d2bca5d73a51663df9\"\n values.$pastUpgrades.1.2:\n- \"2024-11-04T19:25:59.000Z\"\n+ \"0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20\"\n values.$pastUpgrades.1.1:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"2025-04-25T01:12:11.000Z\"\n values.$pastUpgrades.1.0:\n- \"0xb9a9cca69cc08ba53aeb94e99695bbaec8c54a6431b258d2bca5d73a51663df9\"\n+ [\"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]\n values.$upgradeCount:\n- 4\n+ 5\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n }\n```\n\n```diff\n contract L1ERC721Bridge (0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.2:\n+ [\"2025-04-25T01:12:11.000Z\",\"0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20\",[\"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.3.1\"\n+ \"2.4.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0xd2C3C6f4A4c5AA777bD6c476AEa58439Db0dD844)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x56ebb9eaE4f33ceaED3672446E3812D77F8a8A2c)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x67d59AC1166bA17612BE0Edf275187E38Cbf9B99)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "f5d3d3f4",
"date": "Mon, 14 Apr 2025 07:27:32 GMT",
"timestamp": 1744615652,
"description": "Upgrade to 1.4.0-unichain with known contracts. Add wstETH in canonical custom escrow.",
"isHighSeverity": true,
"changeCount": 90,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract FaultDisputeGame (0x08f0F8F4E792d21E16289dB7a80759323C446F61)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OptimismPortal2 (0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n values.$implementation:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.1:\n+ [\"2024-11-04T19:25:47.000Z\",\"0x1623e586faeda506c832de15a948fd9c9d34da18c0ed5bbfc095dc1c0621f936\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.0.2:\n- [\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]\n+ \"2025-04-12T19:18:59.000Z\"\n values.$pastUpgrades.0.1:\n- \"2024-11-04T19:25:47.000Z\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$pastUpgrades.0.0:\n- \"0x1623e586faeda506c832de15a948fd9c9d34da18c0ed5bbfc095dc1c0621f936\"\n+ \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0x2F12d621a16e2d3285929C9996f478508951dFe4) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2024-11-04T19:27:47.000Z\",\"0x742808a336fb214d362e781aae88a3f818ba00a363900e7ca1915f0996b2060a\",[\"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"]]\n values.$pastUpgrades.0.2:\n- \"2024-11-04T19:27:47.000Z\"\n+ [\"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]\n values.$pastUpgrades.0.1:\n- [\"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"]\n+ \"2025-04-12T19:18:59.000Z\"\n values.$pastUpgrades.0.0:\n- \"0x742808a336fb214d362e781aae88a3f818ba00a363900e7ca1915f0996b2060a\"\n+ \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.4:\n- \"0x08f0F8F4E792d21E16289dB7a80759323C446F61\"\n+ \"0x5FE2BECc3dec340d3df04351DB8E728CbE4c7450\"\n values.gameImpls.3:\n- \"0xC457172937fFa9306099ec4F2317903254Bf7223\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.gameImpls.0:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0xd2C3C6f4A4c5AA777bD6c476AEa58439Db0dD844\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x318A642db9e24A85318B8BF18eFd5287BA38643B)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract ProxyAdmin (0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4) {\n +++ description: None\n directlyReceivedPermissions.7.from:\n- \"0x318A642db9e24A85318B8BF18eFd5287BA38643B\"\n+ \"0xD5D0e176be44E61eaB3Cf1FA8153758dF603376f\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract UnichainProxyAdminOwner (0x6d5B183F538ABB8572F5cD17109c617b994D5833) {\n +++ description: None\n receivedPermissions.8.from:\n- \"0x318A642db9e24A85318B8BF18eFd5287BA38643B\"\n+ \"0xD5D0e176be44E61eaB3Cf1FA8153758dF603376f\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n }\n```\n\n```diff\n contract DelayedWETH (0x84B268A4101A8c8e3CcB33004F81eD08202bA124) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-12T19:18:59.000Z\",\"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n sourceHashes.0:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n values.$implementation:\n- \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.1:\n+ [\"2024-11-04T19:27:35.000Z\",\"0x9efd53c7ecef0094ea6cd3a05d346daaee4a6c71c0dc69758bcdbac26b9ca9ef\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.0.2:\n- \"0x9efd53c7ecef0094ea6cd3a05d346daaee4a6c71c0dc69758bcdbac26b9ca9ef\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.0.1:\n- \"2024-11-04T19:27:35.000Z\"\n+ \"2025-04-12T19:18:59.000Z\"\n values.$pastUpgrades.0.0:\n- [\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]\n+ \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract OptimismMintableERC20Factory (0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.1:\n+ [\"2024-11-04T19:26:59.000Z\",\"0x14bd9cb3f3d081f9b569dfeccac4821a21e4fe65b0c1a1b1b80f0369cca63695\",[\"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$pastUpgrades.0.2:\n- \"2024-11-04T19:26:59.000Z\"\n+ \"2025-04-12T19:18:59.000Z\"\n values.$pastUpgrades.0.1.0:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.0.0:\n- \"0x14bd9cb3f3d081f9b569dfeccac4821a21e4fe65b0c1a1b1b80f0369cca63695\"\n+ \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n }\n```\n\n```diff\n contract SystemConfig (0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.3:\n+ [\"2025-03-19T15:24:11.000Z\",\"0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.2.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"2025-03-19T15:24:11.000Z\"\n values.$pastUpgrades.2.0:\n- \"2025-03-19T15:24:11.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.1.2:\n- \"0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16\"\n+ \"2024-11-04T19:25:59.000Z\"\n values.$pastUpgrades.1.1:\n- \"2025-03-19T15:24:11.000Z\"\n+ [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n values.$pastUpgrades.1.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0xb9a9cca69cc08ba53aeb94e99695bbaec8c54a6431b258d2bca5d73a51663df9\"\n values.$pastUpgrades.0.2:\n- \"2024-11-04T19:25:59.000Z\"\n+ \"2025-04-12T19:18:59.000Z\"\n values.$pastUpgrades.0.1:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n values.$pastUpgrades.0.0:\n- \"0xb9a9cca69cc08ba53aeb94e99695bbaec8c54a6431b258d2bca5d73a51663df9\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$upgradeCount:\n- 3\n+ 4\n values.gasPayingToken:\n- {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6\",\"l1ERC721Bridge\":\"0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf\",\"l1StandardBridge\":\"0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA\",\"disputeGameFactory\":\"0x2F12d621a16e2d3285929C9996f478508951dFe4\",\"optimismPortal\":\"0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2\",\"optimismMintableERC20Factory\":\"0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xC457172937fFa9306099ec4F2317903254Bf7223)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DelayedWETH (0xc9edb4E340f4E9683B4557bD9db8f9d932177C86) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-12T19:18:59.000Z\",\"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.1:\n+ [\"2024-11-04T19:26:47.000Z\",\"0xb432a9b2f5b368a884c3a0d0708bf6949d38d8102b35bba9fa4d21c12865e601\",[\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$pastUpgrades.0.2:\n- [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n+ \"2025-04-12T19:18:59.000Z\"\n values.$pastUpgrades.0.1:\n- \"2024-11-04T19:26:47.000Z\"\n+ [\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]\n values.$pastUpgrades.0.0:\n- \"0xb432a9b2f5b368a884c3a0d0708bf6949d38d8102b35bba9fa4d21c12865e601\"\n+ \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x5FE2BECc3dec340d3df04351DB8E728CbE4c7450)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xd2C3C6f4A4c5AA777bD6c476AEa58439Db0dD844)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xD5D0e176be44E61eaB3Cf1FA8153758dF603376f)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L1ERC20TokenBridge (0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877)\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n```"
}
]
},
{
"id": "394f53c5",
"date": "Fri, 04 Apr 2025 09:41:45 GMT",
"timestamp": 1743759705,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```"
}
]
},
{
"id": "e9affcfd",
"date": "Fri, 21 Mar 2025 10:29:19 GMT",
"timestamp": 1742552959,
"description": "Standard SystemConfig upgrade to v2.3.0.",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.2:\n+ [\"2025-03-19T15:24:11.000Z\",\"0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.1:\n+ [\"2025-03-19T15:24:11.000Z\",\"0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 2000\n values.blobbasefeeScalar:\n+ 900000\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n }\n```"
}
]
},
{
"id": "0a877b4a",
"date": "Thu, 27 Feb 2025 13:53:22 GMT",
"timestamp": 1740664402,
"description": "Config related: Add L2 contracts as templates with source.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011) {\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n values.$pastUpgrades.0:\n+ [\"2024-12-05T19:19:37.000Z\",\"0x535fc15c66b384bf5f53847b4f1d5666a8a3a24f9e43f66854b1643b641312a8\",[\"0x95Fc06E1F6330F2829f0622d6158F5b1E21597B0\"]]\n values.$upgradeCount:\n- 0\n+ 1\n }\n```\n\n```diff\n contract BaseFeeVault (0x4200000000000000000000000000000000000019) {\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n values.$pastUpgrades.0:\n+ [\"2024-12-05T19:19:37.000Z\",\"0xb16f95118e9269c5d7e0ee3a58e4cf22cb5a7e74c2ae7446b4419fd6855aa761\",[\"0xeb82050BB91e4879E256E0cF9a7C4bD58916aa6e\"]]\n values.$upgradeCount:\n- 0\n+ 1\n }\n```\n\n```diff\n contract L1FeeVault (0x420000000000000000000000000000000000001A) {\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n values.$pastUpgrades.0:\n+ [\"2024-12-05T19:19:37.000Z\",\"0x66332072346a29a118b78491d791cb2abb2cea8f16e343b492e25f1ba9785406\",[\"0xc1fB143b9dF08eB0612ABCA237Dfe3726da2ED15\"]]\n values.$upgradeCount:\n- 0\n+ 1\n }\n```"
}
]
},
{
"id": "0715ce32",
"date": "Tue, 11 Feb 2025 14:21:47 GMT",
"timestamp": 1739283707,
"description": "Initial discovery.",
"isHighSeverity": false,
"changeCount": 20,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract DeployerWhitelist (0x4200000000000000000000000000000000000002)\n +++ description: Legacy contract that was originally used to act as a whitelist of addresses allowed to the Optimism network. Fully unused and deprecated since the Bedrock upgrade.\n```\n\n```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: Provides the current gas price for L2 transactions.\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: Simple contract that returns the latest L1 block number.\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract L1FeeVault (0x420000000000000000000000000000000000001A)\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract FeeSplitter (0x4300c0D3c0d3c0d3c0d3c0d3C0D3c0d3c0d30001)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1Splitter (0x4300C0D3C0D3C0D3C0d3C0d3c0d3C0d3C0d30002)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1Splitter (0x4300c0d3c0d3c0D3c0d3C0D3c0d3C0D3C0D30003)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract NetFeeSplitter (0x4300c0D3c0D3c0D3c0D3c0D3C0D3c0d3c0D30004)\n +++ description: None\n```"
}
]
},
{
"id": "c3d3f314",
"date": "Tue, 11 Feb 2025 10:58:49 GMT",
"timestamp": 1739271529,
"description": "Initial discovery.",
"isHighSeverity": false,
"changeCount": 33,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x08f0F8F4E792d21E16289dB7a80759323C446F61)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainGuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x2F12d621a16e2d3285929C9996f478508951dFe4)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x318A642db9e24A85318B8BF18eFd5287BA38643B)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x4B4F1aF8d43C8c140D2355Fea663fC9f762067C2)\n +++ description: used to remove members inactive for 70d while making sure that the threshold remains above 60%. If the number of members falls below 1, the 0x0000000000000000000000000000000000000000 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract UnichainProxyAdminOwner (0x6d5B183F538ABB8572F5cD17109c617b994D5833)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x8098F676033A377b9Defe302e9fE6877cD63D575)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x84B268A4101A8c8e3CcB33004F81eD08202bA124)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract UnichainMultisig2 (0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x9343c452dec3251fe99D9Fd29b74c5b9CD1751a6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract UnichainMultisig1 (0xb0c4C487C5cf6d67807Bc2008c66fa7e2cE744EC)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xc407398d063f942feBbcC6F80a156b47F3f1BDA6)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xC457172937fFa9306099ec4F2317903254Bf7223)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xc9edb4E340f4E9683B4557bD9db8f9d932177C86)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
}
]
+18 -4
+3 -3
{
"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 * DisputeGameFactory [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * OptimismPortal2 [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]",
"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": "EOA 1",
"url": "#EOA-1"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"address": "eth:0xa564C83958f7F9fA5a255a540EF5e49445873104",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
"name": "0xa564…3104",
"url": "https://etherscan.io/address/0xa564C83958f7F9fA5a255a540EF5e49445873104"
},
{
"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:0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d",
"type": "EOA",
"isVerified": true,
"name": "0xB2aa…1a9d",
"url": "https://etherscan.io/address/0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "Member of Alchemy Multisig 1.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xdBBE3D8c2d2b22A2611c5A94A9a12C2fCD49Eb29",
"type": "EOA",
"isVerified": true,
"name": "0xdBBE…Eb29",
"url": "https://etherscan.io/address/0xdBBE3D8c2d2b22A2611c5A94A9a12C2fCD49Eb29",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1790808280,
"baseTimestamp": 1792587967,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "9a3e53da",
"date": "Wed, 21 Oct 2026 13:50:47 GMT",
"timestamp": 1792587967,
"description": "OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n+ \"eth:0xa564C83958f7F9fA5a255a540EF5e49445873104\"\n }\n```"
}
]
},
{
"id": "053b50ea",
"date": "Wed, 30 Sep 2026 22:47:42 GMT",
"timestamp": 1790808280,
"description": "OP Contracts Upgrade 20 (op-contracts/v8.0.0-rc.3): the shared SuperchainConfig implementation was upgraded v2.4.2 → v2.4.3 on 2026-09-24. Version bump only; no chain-specific contract changed. ([diff](https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504))",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n+ \"0xb74ed3aa109bd981b095c02d6e3bda2b2467d40e9d1060b4c89b01de32ebad3a\"\n values.$implementation:\n- \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n+ \"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$upgradeCount:\n- 8\n+ 12\n values.version:\n- \"2.4.2\"\n+ \"2.4.3\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n- \"SuperchainConfig\"\n implementationNames.eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "598634a3",
"date": "Wed, 23 Sep 2026 05:50:17 GMT",
"timestamp": 1789571490,
"description": "Refresh config-derived discovery metadata at the main-branch block.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "425aa639",
"date": "Wed, 16 Sep 2026 15:12:49 GMT",
"timestamp": 1789571490,
"description": "Alchemy Multisig 1: threshold lowered from `5 of 8` to `3 of 8`. Same change on settlus, shape and worldchain.\n\nUpgrade 19b \"Karst\" (op-contracts/v7.0.0): core L1 contracts upgraded to their v7 implementations (OptimismPortal2, SystemConfig, DisputeGameFactory, AnchorStateRegistry, bridges, etc.), executed on 2026-08-25 by Alchemy Multisig 1 via the shared OPContractsManagerV2 (v7.1.17). The chain remains on permissioned fault proofs (respected game type 1); it did not move to CANNON_KONA. SystemConfig `batchInbox()` was re-initialized to the OPCM-derived `0x0000…21f6` (`0x00` ++ `keccak256(chainId)[0:19]`); batches are still posted to `0xff00…0480`.\n\nVersion changes and implementation diffs:\n\n- OptimismPortal2 5.2.0 -> 5.6.1: https://disco.l2beat.com/diff/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B/eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\n- SystemConfig 3.13.1 -> 3.14.2: https://disco.l2beat.com/diff/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\n- DisputeGameFactory 1.4.0 -> 1.6.1: https://disco.l2beat.com/diff/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c/eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\n- AnchorStateRegistry 3.7.0 -> 3.9.0: https://disco.l2beat.com/diff/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5/eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\n- L1StandardBridge 2.8.0 -> 2.8.2: https://disco.l2beat.com/diff/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A/eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\n- L1CrossDomainMessenger 2.11.0 -> 2.11.1: https://disco.l2beat.com/diff/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0/eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\n- L1ERC721Bridge 2.9.0 -> 2.9.1: https://disco.l2beat.com/diff/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9/eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\n- OptimismMintableERC20Factory 1.10.2 -> 1.11.0: https://disco.l2beat.com/diff/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB/eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\n- PermissionedDisputeGame 2.2.0 -> 2.4.0 (new game implementation `0xe1dF…b87e`): https://disco.l2beat.com/diff/eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A/eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\n- DelayedWETH 1.5.0 -> 1.5.1 (new proxy `0x19f4…9498`): https://disco.l2beat.com/diff/eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998/eth:0xE440CC08A71694C8229323803F59024E3144630e\n\nOptimism Security Council: Member rotated.",
"isHighSeverity": true,
"changeCount": 118,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x069c4c579671f8c120b1327a73217D01Ea2EC5ea) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.5:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 5\n+ 7\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [0,0,0,0,0]\n values.permissionedGameArgs:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb90890bb48fe3310499db36437dcae642f721e32d094b705030703bf8ff4300bd6fbd8de63ce8492f57500000000000000000000000000000000000000000000000000000000000001e02307278fc8ab0005974a6ded2fa6d1187333a223a4fb12d15eb85dc9284a7df0adbc8b696edbbf1d\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6eacc005dcd857b401e4732e6f7837135a22825cfa90bb48fe3310499db36437dcae642f721e32d09419f4ef9dde39a50a2ef948b7d55aa19f60d9949800000000000000000000000000000000000000000000000000000000000001e02307278fc8ab0005974a6ded2fa6d1187333a223a4fb12d15eb85dc9284a7df0adbc8b696edbbf1d\"\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575\"\n+ \"eth:0x19f4eF9dDE39a50a2EF948B7d55AA19F60d99498\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.game8Args:\n+ \"0x\"\n values.game8Vm:\n+ \"UNRESOLVED\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ 0\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ 0\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.8:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract L1StandardBridge (eth:0x470458C91978D2d929704489Ad730DC3E3001113) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.10:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 10\n+ 12\n values.batchInbox:\n- \"eth:0xff00000000000000000000000000000000000480\"\n+ \"eth:0x00005761DEE20A44BAAf17dcbE34055177c421f6\"\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x19f4eF9dDE39a50a2EF948B7d55AA19F60d99498\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x19f4eF9dDE39a50a2EF948B7d55AA19F60d99498\"\n values.getAddresses.opcm:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x82Cb528466cF22412d89bdBE9bCF04856790dD0e) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.5:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 5\n+ 7\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x90BB48fe3310499Db36437dCAE642F721e32d094) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.2:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 2\n+ 4\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) [GnosisSafe] {\n +++ description: None\n values.$threshold:\n- 5\n+ 3\n values.multisigThreshold:\n- \"5 of 8 (63%)\"\n+ \"3 of 8 (38%)\"\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x19f4eF9dDE39a50a2EF948B7d55AA19F60d99498\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.8:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x19f4eF9dDE39a50a2EF948B7d55AA19F60d99498\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xf931a81D18B1766d15695ffc7c1920a62b7e710a) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.8:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x19f4eF9dDE39a50a2EF948B7d55AA19F60d99498) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "30e05778",
"date": "Fri, 17 Jul 2026 10:17:35 GMT",
"timestamp": 1784283341,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "630be762",
"date": "Mon, 06 Jul 2026 07:56:03 GMT",
"timestamp": 1783324481,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling).",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "eb24dfbf",
"date": "Tue, 23 Jun 2026 10:18:22 GMT",
"timestamp": 1782209813,
"description": "Increased 1559 elasticity.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Elasticity:\n- 16\n+ 22\n }\n```"
}
]
},
{
"id": "08796448",
"date": "Mon, 08 Jun 2026 13:32:42 GMT",
"timestamp": 1780925494,
"description": "SystemConfig `eip1559Denominator` 250 → 100 and `eip1559Elasticity` 2 → 16 — faster L2 base-fee response, higher per-block gas elasticity.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n- 250\n+ 100\n values.eip1559Elasticity:\n- 2\n+ 16\n }\n```"
}
]
},
{
"id": "9c2ab739",
"date": "Mon, 25 May 2026 08:57:59 GMT",
"timestamp": 1779699385,
"description": "**OP Contracts v5.2 upgrade**: `PermissionedDisputeGame` migrated to a shared implementation via CWIA clones. No permissions change.\n\nExecuted 2026-05-18 by Alchemy Multisig 1 (chain operator); same upgrade applied to `settlus` and `shape`.\n\nImplementation rotations:\n- **OptimismPortal2** `5.1.1` → `5.2.0` — [diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B)\n- **SystemConfig** `3.11.0` → `3.13.1` — [diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2) — adds `DELAYED_WETH_SLOT` (zero, not active) and `isCustomGasToken()` getter.\n- **DisputeGameFactory** `1.3.0` → `1.4.0` — [diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c) — clone bytecode now embeds gameType + chain-specific args; `*FromDGF` getters expose existing challenger/proposer/weth (new visibility, not new permissions).\n- **AnchorStateRegistry** `3.5.0` → `3.7.0` — [diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5) — adds `getStartingAnchorRoot`.\n\n`gameImpls[1]` now points to shared **PermissionedDisputeGameV2** `eth:0x58bf355C…` (deployed 2025-12-22). Shared **MIPS** FPVM `eth:0x6463dEE3…` appears in discovery because the new V2 references it.\n\n`L1CrossDomainMessenger`, `L1StandardBridge`, `L1ERC721Bridge`, `OptimismMintableERC20Factory`, `DelayedWETH`: `upgradeToAndCall` re-init only, no rotation.",
"isHighSeverity": true,
"changeCount": 46,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x069c4c579671f8c120b1327a73217D01Ea2EC5ea) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7daf6049672fd2ab7dc8dd3b6287e1d0a40958346c5e2857c4616a73dcac4da6\"\n+ \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.4:\n+ [\"2026-05-18T17:45:23.000Z\",\"0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xb42Dc014FD85994eCeD29430a5eFe887f4228398\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb90890bb48fe3310499db36437dcae642f721e32d094b705030703bf8ff4300bd6fbd8de63ce8492f57500000000000000000000000000000000000000000000000000000000000001e02307278fc8ab0005974a6ded2fa6d1187333a223a4fb12d15eb85dc9284a7df0adbc8b696edbbf1d\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x2307278fC8aB0005974A6DeD2FA6d1187333a223\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.7:\n+ [\"2026-05-18T17:45:23.000Z\",\"0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 7\n+ 8\n }\n```\n\n```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xaa1b3bedab4e63198240e9dea4503f0e615e4d18a545961c9f11b72143279fbc\"\n+ \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.9:\n+ [\"2026-05-18T17:45:23.000Z\",\"0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x82Cb528466cF22412d89bdBE9bCF04856790dD0e) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.4:\n+ [\"2026-05-18T17:45:23.000Z\",\"0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 4\n+ 5\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x90BB48fe3310499Db36437dCAE642F721e32d094) [opstack/AnchorStateRegistry_post13] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0xf808a203af41f7932eb8e39985e56a7c75c940a260fb17d76d1003a3793281b5\"\n+ \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.1:\n+ [\"2026-05-18T17:45:23.000Z\",\"0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x38aaaf5c7910fd15e77a8e4ba903896b55bf5562770ca1268b666a01ba5cfb6b\",\"l2SequenceNumber\":22046345}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xb42Dc014FD85994eCeD29430a5eFe887f4228398) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x3e7e2cb08ba995795937c9c2e8ea9d0e4d2e2de852f389055073384d5f79c59d\"\n+ \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.7:\n+ [\"2026-05-18T17:45:23.000Z\",\"0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xf931a81D18B1766d15695ffc7c1920a62b7e710a) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.7:\n+ [\"2026-05-18T17:45:23.000Z\",\"0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 7\n+ 8\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "bc137cee",
"date": "Fri, 15 May 2026 13:11:07 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "4e5f9a33",
"date": "Fri, 08 May 2026 09:38:32 GMT",
"timestamp": 1778233046,
"description": "SystemConfig (`eth:0x6ab0777f...`) — `minBaseFee` doubled from 250,000 → 500,000 wei (0.00025 → 0.0005 gwei). Continued ramp from the 0 → 250,000 wei increase seen on 2026-05-05.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.minBaseFee:\n- 250000\n+ 500000\n }\n```"
}
]
},
{
"id": "2d1f4c22",
"date": "Tue, 05 May 2026 15:19:50 GMT",
"timestamp": 1777994321,
"description": "Two changes:\n\n1. SystemConfig (`eth:0x6ab0777f...`) — `minBaseFee` raised from 0 to 250,000 wei (0.00025 gwei).\n2. Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb` (shared multisig).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.minBaseFee:\n- 0\n+ 250000\n }\n```\n\n```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "b0a44be3",
"date": "Fri, 24 Apr 2026 14:59:22 GMT",
"timestamp": 1777042663,
"description": "Standard OP-contracts v5.1.1 upgrade (same pattern as Celo's v5 hop merged previously). All implementations moved to the canonical Optimism v5.1.1 deployments:\n\n- SystemConfig v3.7.0 → v3.11.0 (impl 0x2fA28989)\n- OptimismPortal2 v5.0.0 → v5.1.1 (impl 0x7Cf80329)\n- L1CrossDomainMessenger v2.10.0 → v2.11.0 (impl 0xb686F13A)\n- L1ERC721Bridge v2.8.0 → v2.9.0 (impl 0x74f1aC50)\n- L1StandardBridge v2.7.0 → v2.8.0 (impl 0x61525EaA)\n- DisputeGameFactory v1.2.0 → v1.3.0 (impl 0x74Fac1D4)\n- OptimismMintableERC20Factory v1.10.1 → v1.10.2\n- New MIPS (0x6463dEE3) + new PermissionedDisputeGame (0xb42Dc014) redeployed. Old MIPS + PermissionedDisputeGame deleted.\n\nAll 27 contracts remain templatized. SystemConfig gains `daFootprintGasScalar` and `minBaseFee` fields (both zero).\n\nOptimismPortal2: [diff](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202)\nSystemConfig: [diff](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\nL1CrossDomainMessenger: [diff](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0)\nL1StandardBridge: [diff](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A)\nL1ERC721Bridge: [diff](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9)\nDisputeGameFactory: [diff](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50)",
"isHighSeverity": true,
"changeCount": 57,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x069c4c579671f8c120b1327a73217D01Ea2EC5ea) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.3:\n+ [\"2026-04-24T07:23:23.000Z\",\"0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033\"\n+ \"eth:0xb42Dc014FD85994eCeD29430a5eFe887f4228398\"\n values.permissionedGameArgs:\n- \"EXPECT_REVERT\"\n+ \"0x\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.6:\n+ [\"2026-04-24T07:23:23.000Z\",\"0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n EOA (eth:0x2307278fC8aB0005974A6DeD2FA6d1187333a223) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1StandardBridge (eth:0x470458C91978D2d929704489Ad730DC3E3001113) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.8:\n+ [\"2026-04-24T07:23:23.000Z\",\"0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x82Cb528466cF22412d89bdBE9bCF04856790dD0e) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.3:\n+ [\"2026-04-24T07:23:23.000Z\",\"0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033\",\"role\":\".challenger\"}\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.6:\n+ [\"2026-04-24T07:23:23.000Z\",\"0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xf931a81D18B1766d15695ffc7c1920a62b7e710a) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.6:\n+ [\"2026-04-24T07:23:23.000Z\",\"0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xb42Dc014FD85994eCeD29430a5eFe887f4228398)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "1c65c34d",
"date": "Wed, 25 Mar 2026 10:08:27 GMT",
"timestamp": 1774433236,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "9f9f2d68",
"date": "Mon, 09 Mar 2026 10:47:26 GMT",
"timestamp": 1773053150,
"description": "Increase L2 gas limit from 200M to 280M on SystemConfig.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 200000000\n+ 280000000\n }\n```"
}
]
},
{
"id": "67a7793d",
"date": "Wed, 04 Mar 2026 20:37:52 GMT",
"timestamp": 1772656605,
"description": "One member of the Alchemy Multisig 1 (5/8 threshold) was rotated: 0xA351...700a replaced by 0x04a2...7Bd.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.4:\n- \"eth:0xA351A874b48dCEdf1883dD4F4049bE3d9923700a\"\n+ \"eth:0x04a25F65200E56EAd142652b7E5eF372E169F2Bd\"\n }\n```"
}
]
},
{
"id": "a552dac3",
"date": "Fri, 27 Feb 2026 13:25:17 GMT",
"timestamp": 1772198395,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "55bbaed8",
"date": "Thu, 19 Feb 2026 10:12:53 GMT",
"timestamp": 1771495907,
"description": "L2 gas limit increased from 175M to 200M.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 175000000\n+ 200000000\n }\n```"
}
]
},
{
"id": "4131b6c2",
"date": "Tue, 10 Feb 2026 15:08:42 GMT",
"timestamp": 1770736053,
"description": "SystemConfig gas limit increased from 150M to 175M.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 150000000\n+ 175000000\n }\n```"
}
]
},
{
"id": "170cce4b",
"date": "Thu, 05 Feb 2026 22:18:57 GMT",
"timestamp": 1770329871,
"description": "SystemConfig gas limit increase from 130M to 150M (+15%), raising the maximum gas available per L2 block.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 130000000\n+ 150000000\n }\n```"
}
]
},
{
"id": "3b91c6c7",
"date": "Tue, 27 Jan 2026 11:38:10 GMT",
"timestamp": 1769513822,
"description": "Gas limit increased from 100M to 130M on L2.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 100000000\n+ 130000000\n }\n```"
}
]
},
{
"id": "88dab759",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272413,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "e7c16e8d",
"date": "Thu, 18 Dec 2025 09:02:23 GMT",
"timestamp": 1766048460,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "eb4d59e8",
"date": "Fri, 28 Nov 2025 10:20:36 GMT",
"timestamp": 1764325163,
"description": "Jovian SuperchainConfig upgrade.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "c8be3945",
"date": "Tue, 25 Nov 2025 08:01:24 GMT",
"timestamp": 1764057561,
"description": "Upgrade to standard contracts, permissioned disputes.\n\nnew cannon absolute prestate: https://github.com/ethereum-optimism/superchain-registry/blob/ccd0b9a6967e7b50b4a0d7a0cea7a73836968897/validation/standard/standard-prestates.toml#L78",
"isHighSeverity": true,
"changeCount": 116,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x069c4c579671f8c120b1327a73217D01Ea2EC5ea) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.1:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 1\n+ 3\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9\"\n+ \"eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033\"\n values.version:\n- \"1.0.0\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.3:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.4:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]]\n values.$pastUpgrades.5:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 3\n+ 6\n values.version:\n- \"2.1.0\"\n+ \"2.8.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n EOA (eth:0x2307278fC8aB0005974A6DeD2FA6d1187333a223) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9\"\n+ \"eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x470458C91978D2d929704489Ad730DC3E3001113) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.version:\n- \"2.1.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xf2ca03f1fb80fdb3c1281ea41b46245c8e6811a03a9ad7129f60cfedaac0e231\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.5:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$pastUpgrades.6:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]]\n values.$pastUpgrades.7:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 5\n+ 8\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.gasPayingToken:\n- {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.3.0\"\n+ \"3.7.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"eth:0xf931a81D18B1766d15695ffc7c1920a62b7e710a\",\"l1ERC721Bridge\":\"eth:0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9\",\"l1StandardBridge\":\"eth:0x470458C91978D2d929704489Ad730DC3E3001113\",\"optimismPortal\":\"eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C\",\"optimismMintableERC20Factory\":\"eth:0x82Cb528466cF22412d89bdBE9bCF04856790dD0e\"}\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 3\n values.l2ChainId:\n+ 480\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x82Cb528466cF22412d89bdBE9bCF04856790dD0e) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.2:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9\"\n+ \"eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033\"\n receivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x90BB48fe3310499Db36437dCAE642F721e32d094\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]}\n receivedPermissions.8.from:\n- \"eth:0xD4D7A57DCC563756DeD99e224E144A6Bf0327099\"\n+ \"eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575\"\n }\n```\n\n```diff\n EOA (eth:0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0xD4D7A57DCC563756DeD99e224E144A6Bf0327099)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n values.$implementation:\n- \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.3:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$pastUpgrades.4:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]]\n values.$pastUpgrades.5:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 3\n+ 6\n values.respectedGameTypeUpdatedAt:\n- 1737641243\n+ 1763733803\n values.version:\n- \"3.10.0\"\n+ \"5.0.0\"\n values.anchorStateRegistry:\n+ \"eth:0x90BB48fe3310499Db36437dCAE642F721e32d094\"\n values.ethLockbox:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D) {\n +++ description: None\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x90BB48fe3310499Db36437dCAE642F721e32d094\",\"role\":\"admin\"}\n directlyReceivedPermissions.7.from:\n- \"eth:0xD4D7A57DCC563756DeD99e224E144A6Bf0327099\"\n+ \"eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xf931a81D18B1766d15695ffc7c1920a62b7e710a) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.3:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$pastUpgrades.4:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]]\n values.$pastUpgrades.5:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 3\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.10.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0x90BB48fe3310499Db36437dCAE642F721e32d094)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "8906b7c6",
"date": "Mon, 17 Nov 2025 11:36:35 GMT",
"timestamp": 1763379307,
"description": "Gas limit increase.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 95000000\n+ 100000000\n }\n```"
}
]
},
{
"id": "0a5009d5",
"date": "Fri, 07 Nov 2025 12:12:19 GMT",
"timestamp": 1762517461,
"description": "gas limit change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 90000000\n+ 95000000\n }\n```"
}
]
},
{
"id": "b70dfff9",
"date": "Tue, 04 Nov 2025 17:13:54 GMT",
"timestamp": 1762276356,
"description": "gas limit changes.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 85000000\n+ 90000000\n }\n```"
}
]
},
{
"id": "77ad1565",
"date": "Thu, 23 Oct 2025 12:44:48 GMT",
"timestamp": 1761223334,
"description": "msig change and higher gas limit.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 80000000\n+ 85000000\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "45a77f5d",
"date": "Mon, 29 Sep 2025 14:58:54 GMT",
"timestamp": 1759157870,
"description": "Gas limit increase.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 70000000\n+ 80000000\n }\n```"
}
]
},
{
"id": "7ccc1a06",
"date": "Fri, 19 Sep 2025 13:07:59 GMT",
"timestamp": 1758287214,
"description": "Multisig key rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.0:\n- \"eth:0xCA730AFfb87935E70E5889418C731eb196237476\"\n+ \"eth:0xa3353Ae4458F663f1F888705b044269bd30cd110\"\n }\n```"
}
]
},
{
"id": "5c9f45e9",
"date": "Mon, 15 Sep 2025 12:32:21 GMT",
"timestamp": 1757939471,
"description": "Gas limit increase.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 50000000\n+ 70000000\n }\n```"
}
]
},
{
"id": "a11e3e3e",
"date": "Mon, 08 Sep 2025 14:40:31 GMT",
"timestamp": 1757342364,
"description": "gas limit increase.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 48000000\n+ 50000000\n }\n```"
}
]
},
{
"id": "f5a89412",
"date": "Fri, 29 Aug 2025 07:39:38 GMT",
"timestamp": 1756453110,
"description": "Increased gas limit.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 46000000\n+ 48000000\n }\n```"
}
]
},
{
"id": "6473de75",
"date": "Fri, 22 Aug 2025 07:19:22 GMT",
"timestamp": 1755847065,
"description": "Gas limit increase.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 44000000\n+ 46000000\n }\n```"
}
]
},
{
"id": "981f2076",
"date": "Mon, 18 Aug 2025 09:04:16 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "7c1ed944",
"date": "Thu, 14 Aug 2025 09:10:53 GMT",
"timestamp": 1755162644,
"description": "gas limit 42M->44M.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 42000000\n+ 44000000\n }\n```"
}
]
},
{
"id": "785e3b5d",
"date": "Mon, 28 Jul 2025 05:49:59 GMT",
"timestamp": 1753681799,
"description": "Op stack gov upgrade: SuperchainConfig with pause expiry and DeputyPausModule. See optimism diffHistory for details.\n\nlil gas limit increase.",
"isHighSeverity": true,
"changeCount": 27,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 39000000\n+ 42000000\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```"
}
]
},
{
"id": "1be062d1",
"date": "Thu, 24 Jul 2025 11:38:51 GMT",
"timestamp": 1753357131,
"description": "block gas limit increase.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 36000000\n+ 39000000\n }\n```"
}
]
},
{
"id": "f12247e6",
"date": "Mon, 14 Jul 2025 12:46:42 GMT",
"timestamp": 1752497202,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 29,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x069c4c579671f8c120b1327a73217D01Ea2EC5ea)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0x153A69e4bb6fEDBbAaF463CB982416316c84B2dB)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x470458C91978D2d929704489Ad730DC3E3001113)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x5891090d5085679714cb0e62f74950a3c19146a8)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x82Cb528466cF22412d89bdBE9bCF04856790dD0e)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xD4D7A57DCC563756DeD99e224E144A6Bf0327099)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0xf931a81D18B1766d15695ffc7c1920a62b7e710a)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```"
}
]
},
{
"id": "d8afcc5a",
"date": "Wed, 18 Jun 2025 11:38:22 GMT",
"timestamp": 1750246702,
"description": "MS signer changed.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.4:\n- \"0x0a214444613E3970049BD74a8d72d5bF9EF0094c\"\n+ \"0xCA730AFfb87935E70E5889418C731eb196237476\"\n }\n```"
}
]
},
{
"id": "e23626c4",
"date": "Fri, 30 May 2025 05:49:21 GMT",
"timestamp": 1748584161,
"description": "burncaller burns all USDC and is then removed. USDC is now native (adjusted tvs conf).\n\nhttps://world.org/blog/announcements/world-integrates-circles-usdc-and-cctp",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1OpUSDCBridgeAdapter (0x153A69e4bb6fEDBbAaF463CB982416316c84B2dB) {\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n values.burnCaller:\n- \"0x2ba529D229FDc1DA08e67F536588aE45932d030A\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.messengerStatus:\n- 2\n+ 3\n }\n```\n\n```diff\n- Status: DELETED\n contract Burn Caller (0x2ba529D229FDc1DA08e67F536588aE45932d030A)\n +++ description: None\n```\n\n```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 33000000\n+ 36000000\n }\n```"
}
]
},
{
"id": "649781a9",
"date": "Mon, 26 May 2025 16:02:09 GMT",
"timestamp": 1748275329,
"description": "Burncaller (unverified contract) added to external usdc escrow.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1OpUSDCBridgeAdapter (0x153A69e4bb6fEDBbAaF463CB982416316c84B2dB) {\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n values.burnCaller:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x2ba529D229FDc1DA08e67F536588aE45932d030A\"\n values.messengerStatus:\n- 0\n+ 2\n }\n```\n\n```diff\n+ Status: CREATED\n contract Burn Caller (0x2ba529D229FDc1DA08e67F536588aE45932d030A)\n +++ description: None\n```"
}
]
},
{
"id": "f0efcf1d",
"date": "Wed, 14 May 2025 14:05:07 GMT",
"timestamp": 1747231507,
"description": "gas limit bumped.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 30000000\n+ 33000000\n }\n```"
}
]
},
{
"id": "8f78595f",
"date": "Thu, 08 May 2025 08:51:52 GMT",
"timestamp": 1746694312,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```"
}
]
},
{
"id": "4bb34896",
"date": "Fri, 04 Apr 2025 09:39:36 GMT",
"timestamp": 1743759576,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```"
}
]
},
{
"id": "4694c4cb",
"date": "Mon, 31 Mar 2025 11:27:29 GMT",
"timestamp": 1743420449,
"description": "ms signer changes.",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.7:\n+ \"0x001271c57AeC639952B5201D052767c316755512\"\n values.$members.6:\n+ \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n values.$members.5:\n- \"0x5EABE7f6673311EdD1Ad17A76ce148c2Bb56aF01\"\n+ \"0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca\"\n values.$members.4:\n- \"0x39CF304731099e756204219BF0a8cCc4738dE9dD\"\n+ \"0x0a214444613E3970049BD74a8d72d5bF9EF0094c\"\n values.$members.3:\n- \"0xaCEF7482b54a57F50b1CD8c99d1dC1964202A063\"\n+ \"0xA351A874b48dCEdf1883dD4F4049bE3d9923700a\"\n values.$members.2:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xeD9919D57162D518014C391a687AA8fb9DB55654\"\n values.$members.1:\n- \"0x3f0030b9Ca695Abd41b2B619F3298e172e4FCAD6\"\n+ \"0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7\"\n values.$members.0:\n- \"0x2e42cEfC761e64Bf4442694220d31C2464a6EE21\"\n+ \"0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670\"\n values.$threshold:\n- 3\n+ 5\n values.multisigThreshold:\n- \"3 of 6 (50%)\"\n+ \"5 of 8 (63%)\"\n }\n```"
}
]
},
{
"id": "a6dfa75c",
"date": "Fri, 21 Feb 2025 13:28:43 GMT",
"timestamp": 1740144523,
"description": "Worldchain does what is assumed to be a switch to the latest config. gasLimit per block should be the same.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Denominator:\n- 0\n+ 250\n values.eip1559Elasticity:\n- 0\n+ 2\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 150000000\n+ 30000000\n }\n```"
}
]
},
{
"id": "6d27ab7e",
"date": "Wed, 12 Feb 2025 10:01:28 GMT",
"timestamp": 1739354488,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "75eff7b6",
"date": "Sat, 08 Feb 2025 15:58:48 GMT",
"timestamp": 1739030328,
"description": "Single SC member rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "6fd3dd8d",
"date": "Thu, 06 Feb 2025 09:17:48 GMT",
"timestamp": 1738833468,
"description": "OP Stack SC signer rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "c8de902d",
"date": "Wed, 05 Feb 2025 06:39:38 GMT",
"timestamp": 1738737578,
"description": "Upgrade to new SystemConfig (known implementation).",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.4:\n+ [\"2025-02-04T20:03:11.000Z\",\"0x9da5a8b8130dc6307e94823d5f4f372f09c39073c3c73d6639e5f00761e6f045\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.3:\n+ [\"2025-02-04T20:03:11.000Z\",\"0x9da5a8b8130dc6307e94823d5f4f372f09c39073c3c73d6639e5f00761e6f045\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 8697\n values.blobbasefeeScalar:\n+ 906223\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n }\n```"
}
]
},
{
"id": "a2032468",
"date": "Thu, 30 Jan 2025 10:52:50 GMT",
"timestamp": 1738234370,
"description": "Permissioned dispute game upgraded to known contracts.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x069c4c579671f8c120b1327a73217D01Ea2EC5ea) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.1:\n- \"0x48cf980849a7eEA03180f7dea4E21C112097b03E\"\n+ \"0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x48cf980849a7eEA03180f7dea4E21C112097b03E)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x8Ec1111f67Dad6b6A93B3F42DfBC92D81c98449A)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract AlchemyMultisig1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.6.from:\n- \"0x8Ec1111f67Dad6b6A93B3F42DfBC92D81c98449A\"\n+ \"0x82Cb528466cF22412d89bdBE9bCF04856790dD0e\"\n receivedPermissions.5.from:\n- \"0x82Cb528466cF22412d89bdBE9bCF04856790dD0e\"\n+ \"0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\"\n receivedPermissions.4.from:\n- \"0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\"\n+ \"0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53\"\n }\n```\n\n```diff\n contract ProxyAdmin (0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D) {\n +++ description: None\n directlyReceivedPermissions.6.from:\n- \"0x8Ec1111f67Dad6b6A93B3F42DfBC92D81c98449A\"\n+ \"0x82Cb528466cF22412d89bdBE9bCF04856790dD0e\"\n directlyReceivedPermissions.5.from:\n- \"0x82Cb528466cF22412d89bdBE9bCF04856790dD0e\"\n+ \"0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\"\n directlyReceivedPermissions.4.from:\n- \"0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\"\n+ \"0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "cd7a2e57",
"date": "Thu, 23 Jan 2025 15:30:29 GMT",
"timestamp": 1737646229,
"description": "Upgrade to known op stack contracts post-OPFP. Permissioned games are the respected gameType.",
"isHighSeverity": true,
"changeCount": 79,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract L2OutputOracle (0x19A6d1E9034596196295CF148509796978343c5D)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract L1ERC721Bridge (0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$implementation:\n- \"0x3c5bC88Fad9D35072213cD1FB5e83f9D150B3144\"\n+ \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.$pastUpgrades.2:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$pastUpgrades.1:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"0xa231f8be37e583f276f93dF516D88a043bfe47E3\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x470458C91978D2d929704489Ad730DC3E3001113) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n values.$implementation:\n- \"0xf1b86d4ec73E17AeD218153278653D0f53220776\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.superchainConfig:\n- \"0xa231f8be37e583f276f93dF516D88a043bfe47E3\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xdf9a11b46747139bfe0135df8a65a2728a2dbd60a689e2398c45627915cdd752\"\n+ \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n values.$implementation:\n- \"0x18fffcb31850795D919B6aDD4b16bEB3a5f5ECFB\"\n+ \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n values.$pastUpgrades.2:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]]\n values.$pastUpgrades.1:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"0x19A6d1E9034596196295CF148509796978343c5D\"\n values.version:\n- \"1.12.0\"\n+ \"2.2.0\"\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"0x069c4c579671f8c120b1327a73217D01Ea2EC5ea\"\n values.maximumGasLimit:\n+ 200000000\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x82Cb528466cF22412d89bdBE9bCF04856790dD0e) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$implementation:\n- \"0x73A793CdcF6F0f20e14e1835Eb1462b0376727cF\"\n+ \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.$pastUpgrades.1:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n- Status: DELETED\n contract SuperchainConfig (0xa231f8be37e583f276f93dF516D88a043bfe47E3)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n contract AlchemyMultisig (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]}\n receivedPermissions.7.from:\n- \"0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C\"\n+ \"0xD4D7A57DCC563756DeD99e224E144A6Bf0327099\"\n receivedPermissions.6.from:\n- \"0xa231f8be37e583f276f93dF516D88a043bfe47E3\"\n+ \"0x8Ec1111f67Dad6b6A93B3F42DfBC92D81c98449A\"\n receivedPermissions.1.from:\n- \"0x19A6d1E9034596196295CF148509796978343c5D\"\n+ \"0x069c4c579671f8c120b1327a73217D01Ea2EC5ea\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x90ab8a3636fafa5cb0ab4305b2d912546ceb47ebc3abed324bfa1727a9c74acc\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n issuedPermissions.1:\n- {\"permission\":\"upgrade\",\"to\":\"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]}\n issuedPermissions.0.permission:\n- \"guard\"\n+ \"upgrade\"\n issuedPermissions.0.to:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.0:\n+ {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}\n values.$implementation:\n- \"0xB4BA75C87A48a233BC22678EfDa7d49CfD89ea5F\"\n+ \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.2:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.1:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.l2Oracle:\n- \"0x19A6d1E9034596196295CF148509796978343c5D\"\n values.superchainConfig:\n- \"0xa231f8be37e583f276f93dF516D88a043bfe47E3\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.version:\n- \"2.6.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"0x069c4c579671f8c120b1327a73217D01Ea2EC5ea\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1737641243\n displayName:\n+ \"OptimismPortal\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\"}}]\n }\n```\n\n```diff\n contract ProxyAdmin (0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D) {\n +++ description: None\n directlyReceivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C\"}\n directlyReceivedPermissions.7.from:\n- \"0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C\"\n+ \"0xD4D7A57DCC563756DeD99e224E144A6Bf0327099\"\n directlyReceivedPermissions.6.from:\n- \"0xa231f8be37e583f276f93dF516D88a043bfe47E3\"\n+ \"0x8Ec1111f67Dad6b6A93B3F42DfBC92D81c98449A\"\n directlyReceivedPermissions.1.from:\n- \"0x19A6d1E9034596196295CF148509796978343c5D\"\n+ \"0x069c4c579671f8c120b1327a73217D01Ea2EC5ea\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0xf931a81D18B1766d15695ffc7c1920a62b7e710a) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$implementation:\n- \"0xE187FEF3AAe13137e6062B2634cCE43B599156F6\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.$pastUpgrades.2:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.1:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"0xa231f8be37e583f276f93dF516D88a043bfe47E3\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x069c4c579671f8c120b1327a73217D01Ea2EC5ea)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainGuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x48cf980849a7eEA03180f7dea4E21C112097b03E)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x8Ec1111f67Dad6b6A93B3F42DfBC92D81c98449A)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xD4D7A57DCC563756DeD99e224E144A6Bf0327099)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "e90a705e",
"date": "Fri, 08 Nov 2024 08:27:24 GMT",
"timestamp": 1731054444,
"description": "Worldchain raises gasLimit to 150M. With 10x elasticity the block gas target is 15M. Current *daily* gas use on Worldchain is 160B, making the average block about 25% of the target.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 100000000\n+ 150000000\n }\n```"
}
]
},
{
"id": "7d7e554f",
"date": "Fri, 18 Oct 2024 21:53:59 GMT",
"timestamp": 1729288439,
"description": "Discovery refresh, multisig updated.",
"isHighSeverity": false,
"changeCount": 35,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2OutputOracle (0x19A6d1E9034596196295CF148509796978343c5D) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n issuedPermissions.2.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.2.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0}\n issuedPermissions.2.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n issuedPermissions.0.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0}\n issuedPermissions.0.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x470458C91978D2d929704489Ad730DC3E3001113) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain. This contract can store any token.\n issuedPermissions.0.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0,\"description\":\"upgrading bridge implementation allows to access all funds and change every system component.\"}\n issuedPermissions.0.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n issuedPermissions.0.via.0.description:\n+ \"upgrading bridge implementation allows to access all funds and change every system component.\"\n }\n```\n\n```diff\n contract AddressManager (0x5891090d5085679714cb0e62f74950a3c19146a8) {\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n issuedPermissions.0.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0,\"description\":\"set and change address mappings.\"}\n issuedPermissions.0.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n issuedPermissions.0.via.0.description:\n+ \"set and change address mappings.\"\n }\n```\n\n```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n issuedPermissions.2.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.2.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0}\n issuedPermissions.2.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x82Cb528466cF22412d89bdBE9bCF04856790dD0e) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n issuedPermissions.0.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0}\n issuedPermissions.0.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n }\n```\n\n```diff\n contract SuperchainConfig (0xa231f8be37e583f276f93dF516D88a043bfe47E3) {\n +++ description: This is NOT the shared SuperchainConfig of the OP stack Superchain. This SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n issuedPermissions.1.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0}\n issuedPermissions.1.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n }\n```\n\n```diff\n contract WorldchainMultisig (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.5:\n+ \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n values.$members.4:\n+ \"0x39CF304731099e756204219BF0a8cCc4738dE9dD\"\n values.$members.3:\n+ \"0x3f0030b9Ca695Abd41b2B619F3298e172e4FCAD6\"\n values.$members.2:\n+ \"0x2e42cEfC761e64Bf4442694220d31C2464a6EE21\"\n values.$members.1:\n+ \"0x5EABE7f6673311EdD1Ad17A76ce148c2Bb56aF01\"\n values.$members.0:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xaCEF7482b54a57F50b1CD8c99d1dC1964202A063\"\n values.$threshold:\n- 1\n+ 3\n values.multisigThreshold:\n- \"1 of 1 (100%)\"\n+ \"3 of 6 (50%)\"\n receivedPermissions:\n+ [{\"permission\":\"configure\",\"target\":\"0x5891090d5085679714cb0e62f74950a3c19146a8\",\"description\":\"set and change address mappings.\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]},{\"permission\":\"upgrade\",\"target\":\"0x19A6d1E9034596196295CF148509796978343c5D\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]},{\"permission\":\"upgrade\",\"target\":\"0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]},{\"permission\":\"upgrade\",\"target\":\"0x470458C91978D2d929704489Ad730DC3E3001113\",\"description\":\"upgrading bridge implementation allows to access all funds and change every system component.\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]},{\"permission\":\"upgrade\",\"target\":\"0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]},{\"permission\":\"upgrade\",\"target\":\"0x82Cb528466cF22412d89bdBE9bCF04856790dD0e\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]},{\"permission\":\"upgrade\",\"target\":\"0xa231f8be37e583f276f93dF516D88a043bfe47E3\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]},{\"permission\":\"upgrade\",\"target\":\"0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]}]\n }\n```\n\n```diff\n contract OptimismPortal (0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C) {\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n issuedPermissions.1.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0}\n issuedPermissions.1.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n }\n```"
}
]
},
{
"id": "23f7e7b6",
"date": "Thu, 17 Oct 2024 18:07:57 GMT",
"timestamp": 1729188477,
"description": "Initial discovery: OP stack with old L2OutputOracle and unused, but deployed DisputeGame contracts. Two EOA admins: One for the USDC bridge, one for the Rollup.",
"isHighSeverity": false,
"changeCount": 12,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0x153A69e4bb6fEDBbAaF463CB982416316c84B2dB)\n +++ description: Custom external escrow for USDC bridged to Worldchain.\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0x19A6d1E9034596196295CF148509796978343c5D)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x470458C91978D2d929704489Ad730DC3E3001113)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x5891090d5085679714cb0e62f74950a3c19146a8)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x82Cb528466cF22412d89bdBE9bCF04856790dD0e)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0xa231f8be37e583f276f93dF516D88a043bfe47E3)\n +++ description: This is NOT the shared SuperchainConfig of the OP stack Superchain. This SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract WorldchainMultisig (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0xf931a81D18B1766d15695ffc7c1920a62b7e710a)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```"
}
]
}
]