{
"architectureImage": "opstack-rollup-superchain-opfp-aggverifier",
"dataAvailability": [
{
"name": "All data required for proofs is published on chain",
"description": "All the data that is used to construct the system state is published on chain in the form of cheap blobs or calldata. This ensures that it will be available for enough time.",
"risks": [],
"references": [
{
"title": "Derivation: Batch submission - OP Mainnet specs",
"url": "https://github.com/ethereum-optimism/specs/blob/main/specs/protocol/derivation.md#batch-submission"
},
{
"title": "BatchInbox - address",
"url": "https://etherscan.io/address/0xFf00000000000000000000000000000000008453#code"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0xcA5ca23502eFf4254bc11Ac0bEC4Dbb7495Bd06C#code"
"url": "https://etherscan.io/address/0x03863Ab7F64B733cFF85C8fF44a86601C568Ca70#code"
}
]
}
],
"exitMechanisms": [
{
"name": "Forced messaging",
"description": "If the user experiences censorship from the operator with regular L2->L1 messaging they can submit their messages directly on L1. The system is then obliged to service this request or halt all messages, including forced withdrawals from L1 and regular messages initiated on L2. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular message.",
"risks": [],
"references": [
{
"title": "Forced withdrawal from an OP Stack blockchain",
"url": "https://docs.optimism.io/stack/transactions/forced-transaction"
}
]
}
],
"forceTransactions": {
"name": "Users can force any transaction",
"description": "Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly.",
"risks": [],
"references": [
{
"title": "Sequencing Window - OP Mainnet Specs",
"url": "https://github.com/ethereum-optimism/optimism/blob/51eeb76efeb32b3df3e978f311188aa29f5e3e94/specs/glossary.md#sequencing-window"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0xcA5ca23502eFf4254bc11Ac0bEC4Dbb7495Bd06C#code"
"url": "https://etherscan.io/address/0x03863Ab7F64B733cFF85C8fF44a86601C568Ca70#code"
}
]
},
"otherConsiderations": [
{
"name": "EVM compatible smart contracts are supported",
"description": "OP stack chains are pursuing the EVM Equivalence model. No changes to smart contracts are required regardless of the language they are written in, i.e. anything deployed on L1 can be deployed on L2.",
"risks": [],
"references": [
{
"title": "Introducing EVM Equivalence",
"url": "https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306"
}
]
}
],
"sequencing": {
"name": "Transactions are ordered by a centralized sequencer",
"description": "Base uses a single centralized sequencer for fast confirmations. Users can bypass it with one Ethereum transaction to the OptimismPortal. Base nodes derive the deposited transaction from Ethereum, including it after at most one sequencing window.",
"sequencingSpec": {
"type": "centralized",
"trustedPreconfirmation": {
"value": "200 ms",
"secondLine": "2 s L2 block time",
"description": "The centralized builder streams cumulative Flashblock preconfirmations about every 200 ms while sealing regular L2 blocks every 2 seconds. Flashblocks are out of protocol: the promise has no protocol enforcement or slashing, and a preconfirmation can be absent or reorged.",
"orderHint": 0.2
},
"trustedOrdering": {
"value": "Dynamic priority auction",
"secondLine": "Fee order per Flashblock",
"description": "For each 200 ms build loop, the centralized builder selects available transactions by priority fee. Transactions committed to an earlier Flashblock are not reordered when a higher-fee transaction arrives later, so arrival time also affects ordering. This policy is not enforced by the derivation rules."
},
"sequencer": {
"value": "Centralized",
"secondLine": "5-instance Raft HA",
"sentiment": "bad",
"description": "The Base operator controls real-time ordering. They document five sequencer instances coordinated by op-conductor using Raft leader election, with only the leader producing blocks. The replicas improve availability but do not create independent operators or censorship resistance.",
"orderHint": 1
},
"realtimeCensorshipResistance": {
"value": "No",
"sentiment": "bad",
"description": "The centralized sequencer can censor transactions submitted through the normal L2 path."
},
"forcedInclusion": {
"value": "Automatic derivation",
"secondLine": "1 L1 tx: portal deposit",
"sentiment": "good",
"description": "The user submits one Ethereum transaction to the OptimismPortal which is automatically derived by conforming nodes."
},
"inclusionDelay": {
"value": "12 hours",
"secondLine": "3,600 L1 blocks",
"sentiment": "good",
"description": "The static sequencing window is measured in Ethereum blocks.",
"orderHint": 3600
},
"inclusionMechanics": {
"value": "1 L1 Tx",
"secondLine": "Address alias",
"description": "Forced inclusion creates an L1-originated deposit transaction rather than submitting the original signed L2 transaction. Its calldata is capped at 120,000 bytes, its minimum L2 gas limit is 21,000 plus 40 gas per calldata byte, and deposits share a metered 20,000,000 gas resource limit per Ethereum block. L1 contract callers use an aliased address on L2."
},
"exitDelay": {
"value": "5 days 12 hours",
"secondLine": "12h inclusion + 20m + 5d state",
"description": "After successful L2 inclusion (forced or sequencer), a permissionless ZK proof is needed to finalize the state and exit on L1. Without the centralized TEE proof, the game waits 5 days, followed by the currently 0 seconds finality air gap. The 1 day withdrawal-proof maturity period runs concurrently.",
"orderHint": 476400
},
"exitEconomics": {
"value": "0.05 ETH",
"secondLine": "ZK proof required",
"description": "Self-proposing the state needed for an exit requires a valid ZK proof and a 0.05 ETH bond for one 600-block checkpoint."
}
},
"censorshipResistance": "The centralized sequencer provides no real-time censorship resistance. The Ethereum deposit path provides eventual censorship resistance, assuming the deposit is included on Ethereum.",
"references": [
{
"title": "Base documentation - Flashblocks",
"url": "https://docs.base.org/base-chain/flashblocks/faq"
},
{
"title": "Base engineering - Sequencer architecture",
"url": "https://blog.base.dev/flashblocks-deep-dive"
},
{
"title": "Base source code - Mainnet chain configuration",
"url": "https://github.com/base/base/blob/5761d838af8ae52e4904a74af2f3d8b490f56fec/crates/common/chains/src/config.rs#L402-L409"
},
{
"title": "Base Beryl - Reduced withdrawal delay",
"url": "https://blog.base.dev/introducing-base-beryl"
},
{
"title": "OptimismPortal2 - source code",
"url": "https://etherscan.io/address/0xcA5ca23502eFf4254bc11Ac0bEC4Dbb7495Bd06C#code"
"url": "https://etherscan.io/address/0x03863Ab7F64B733cFF85C8fF44a86601C568Ca70#code"
},
{
"title": "AggregateVerifier - source code",
"url": "https://etherscan.io/address/0xeF9eCeA15265321753047EBF7D54C858D53cB94f#code"
}
],
"risks": []
},
"stateDerivation": {
"nodeSoftware": "The rollup node is composed of two software components: [op-node](https://github.com/ethereum-optimism/optimism/tree/develop/op-node), implementing consensus related logic, and [op-geth](https://github.com/ethereum-optimism/op-geth), implementing execution logic. The configuration file can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/mainnet/base.toml).",
"compressionScheme": "Data batches are compressed using the [zlib](https://github.com/madler/zlib) algorithm with best compression level.",
"genesisState": "The genesis file can be found [here](https://raw.githubusercontent.com/base-org/node/refs/tags/v0.8.4/mainnet/genesis-l2.json).",
"dataFormat": "The format specification of Sequencer's data batches can be found [here](https://optimism.io/blog/here-s-how-you-can-reproduce-op-mainnet-s-migration-to-bedrock)."
},
"stateValidation": {
"categories": [
{
"title": "State root proposals",
"description": "State roots are proposed by calling `DisputeGameFactory.create` with the AggregateVerifier game type, posting a bond of 0.05 ETH. Each proposal must include an initial proof (TEE attestation or ZK proof) over the range of 600 L2 blocks split into sub-ranges of 30 blocks. With a single proof, the game resolves after 5d; if both proof arms commit, the window collapses to 1d.",
"references": []
},
{
"title": "Challenges",
"description": "Any party that produces a valid ZK proof of an incorrect intermediate root can call `AggregateVerifier.challenge`, contradicting a TEE-only proposal. The challenger's proof is verified onchain via the SP1 verifier gateway. If the challenge stands until the resolution window closes, the original proposer's bond is awarded to the challenger and the game resolves CHALLENGER_WINS. Soundness contradictions within a single proof arm are caught by `AggregateVerifier.nullify`, which permanently disables that arm's verifier contract for all games.",
"references": []
}
]
},
"stateValidationImage": "aggverifier",
"upgradesAndGovernance": {
"content": "All contracts are upgradable by a `ProxyAdmin` contract controlled by a nested 2/2 `Base Governance Multisig` composed of the `Base Coordinator Multisig` and the `Base Security Council`. Upgrades require approval from both parties. There is no delay on upgrades. The Guardian role for the SuperchainConfig is assigned to the Base Governance Multisig, which can pause and unpause withdrawals. `Base Multisig 1` serves as Incident Responder and can pause withdrawals but cannot unpause or extend pauses. Each pause automatically expires after 3 months if not extended by the Guardian. The single Sequencer actor can be modified by `Base Multisig 1` via the SystemConfig contract. The Base Governance multisig can also recover dispute bonds in case of bugs that would distribute them incorrectly.\n\nState validation runs through the `AggregateVerifier` game type (621), which accepts either an AWS Nitro TEE attestation or an SP1 ZK proof. The TEE prover allowlist in the `TEEProverRegistry` is managed solely by the `Base Coordinator Multisig` (without Base Security Council approval), and a separate Manager EOA can register or deregister enclave signers. The ZK arm routes through a Base-owned SP1 verifier gateway; the Base Governance Multisig can add or freeze verifier routes. The Base Governance Multisig can swap the AggregateVerifier implementation, change the respected game type, blacklist individual games, or retire all in-flight games via the AnchorStateRegistry.",
"governanceInfo": {
"securityCouncil": {
"Composition": "**8/11**, nested as one of two signers in the 2/2 `Base Governance Multisig` alongside Coinbase's 3/6 `Base Coordinator Multisig`. Base counts this as 9 of 12 entities, or 75%; the Council Safe on its own is 72.7%. Members serve staggered cohort terms and are appointed against published criteria, not elected.",
"Members public": "**Mapped (10 of 11)** — [Base publishes](https://docs.base.org/base-chain/security/security-council) Aerodrome (JP), Moonwell (BR), Blackbird (US), ChainSafe (CA), Talent Protocol (PT) and Moshicam (US) as entities, plus Seneca (US), Juan Suarez (US), Toady Hawk (CA), Roberto Bayardo (US) and Yele Bademosi (UK) as individuals. One address is unpublished, as are the people who sign for each entity. Five of the six entities are Base-ecosystem projects and two of the individuals are former Coinbase or Base contributors.",
"Charter": "**None** — the [docs page](https://docs.base.org/base-chain/security/security-council) sets out selection criteria, cohort terms and member duties, but no removal procedure, quorum-loss fallback or conflict-of-interest enforcement. Coinbase's [Neutrality Principles](https://www.coinbase.com/blog/coinbases-neutrality-principles-for-base) cover transaction ordering, user assets and exit rights, and do not bind the Council.",
"Can Coinbase bypass the Council?": "**Not for upgrades** — every `ProxyAdmin` action needs the 2/2. Elsewhere Coinbase acts alone: the 3/12 `Base Multisig 1` owns `SystemConfig` (sequencer, gas configuration) and is Incident Responder, and the Coordinator Multisig owns `TEEProverRegistry` and `CertManager`, so it can change the TEE prover allowlist, one of the two proof arms, without the Council.",
"Who can override the Council?": "**Nobody — it administers itself.** Seats are changed by the Council Safe calling itself, so 8 of the 11 sitting members decide who joins or leaves. There is no token, DAO or veto body. The 2/2 blocks both ways: neither side can upgrade alone. Below 8 available signers upgrades stall, and there is no liveness module handing control to a fallback."
},
"upgrades": {
"Normal upgrade path": "Task published in [base/contract-deployments](https://github.com/base/contract-deployments) → **8/11 Security Council approval** → **3/6 Coordinator Multisig approval** → execution through the 2/2 `Base Governance Multisig`. No timelock, and no Safe carries a delay module. Beryl verifier-hash update, June 2026: Council approved 22 Jun, Coinbase 23 Jun, executed 43 minutes later.",
"Emergency upgrade path": "**None** — the normal path executes as soon as both Safes sign, so there is no lower emergency threshold. The fastest lever is a pause: the 3/12 `Base Multisig 1` can pause withdrawals alone as Incident Responder, but only once per identifier, since the pause expires after 3mo 1d and it cannot pause again until the Guardian unpauses. The Guardian is the 2/2 `Base Governance Multisig` itself, which can also blacklist dispute games, set the respected game type and retire all in-flight games.",
"Exit window": "**None** — nothing separates the second signature from the upgrade taking effect, so users cannot withdraw ahead of an unwanted change. Tasks are published before signing and Base targets six hard forks a year, but neither is enforced onchain."
},
"tokenGovernance": {
"Governance token": "**None** — Base has no token, so no token-weighted vote enters the upgrade path. Coinbase has said it is exploring one.",
"Voting venue": "**None** — no DAO, governor contract, Snapshot space or forum vote gates an upgrade. Coordination happens in [base/contract-deployments](https://github.com/base/contract-deployments).",
"Proposal rights": "**Coinbase only** — upgrade tasks are Coinbase-authored, and no route exists for a third party to put an upgrade to the Council.",
"Execution model": "**Two Safes sign, a facilitator executes.** No permissionless `execute()`, and no delay for the public to act inside."
}
}
}
}
contracts+16-2
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x94eab8f73fd83407D26C006D159923760D483029"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728308027,
"transactionHash": "0x60eca85990bf426b85e3f3db9d9215e7fb229dce201a62401ad3d8a08ee5613c",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
{
"timestamp": 1779825599,
"transactionHash": "0x75b1c9b2090ba2b311d6be08c319340b87dc1aabfae2505d126e7a0f1fc6b11c",
"implementations": [
"eth:0x468C2345D1d409d5b0F2f8bE4aE2082150cC1a0c"
]
},
{
"timestamp": 1790627891,
"transactionHash": "0x356e1dd97cb22e3d6129ec91557b1bec8971f0c2e0b4d6c1fb54e8b014dd659b",
"implementations": [
"eth:0x94eab8f73fd83407D26C006D159923760D483029"
]
}
],
"description": "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig\n * **owner**: Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0xcA5ca23502eFf4254bc11Ac0bEC4Dbb7495Bd06C"
"eth:0x03863Ab7F64B733cFF85C8fF44a86601C568Ca70"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793919,
"transactionHash": "0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e",
"implementations": [
"eth:0x5FB30336A8d0841cf15d452afA297cB6D10877D7"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1745512871,
"transactionHash": "0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1779825599,
"transactionHash": "0x75b1c9b2090ba2b311d6be08c319340b87dc1aabfae2505d126e7a0f1fc6b11c",
"implementations": [
"eth:0x66d94eE8F529b683ED6013729784e8bb44697A64"
]
},
{
"timestamp": 1790627891,
"transactionHash": "0x356e1dd97cb22e3d6129ec91557b1bec8971f0c2e0b4d6c1fb54e8b014dd659b",
"implementations": [
"eth:0xcA5ca23502eFf4254bc11Ac0bEC4Dbb7495Bd06C"
]
},
{
"timestamp": 1791395087,
"transactionHash": "0x12b3bf5bb0a8f921321f9a91303240ce01fde9f99ba9f97234f89d114c077bf6",
"implementations": [
"eth:0x03863Ab7F64B733cFF85C8fF44a86601C568Ca70"
]
}
],
"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 AggregateVerifier.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x49048044D57e1C92A77f79988d21Fa8fAF74E97e#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x56ca4f4F5Ba9B42d360B48429e8C4a60C5A0795D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793907,
"transactionHash": "0x0a7442e325dac626d8c16a7a052e9a2ee8cd08a5b8c9796228b4d297e20ea3cc",
"implementations": [
"eth:0x6481ff79597Fe4F77E1063f615ec5BDaDDEFfd4B"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1733958059,
"transactionHash": "0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294",
"implementations": [
"eth:0x45C4e267aE21E90f72C8AbF43ddB5941c953482F"
]
},
{
"timestamp": 1738700927,
"transactionHash": "0x765a2eb3c7eecea5722b120037123eaec9e6ef4b6a53ba2bcfb88ef08fae074b",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738700927,
"transactionHash": "0x765a2eb3c7eecea5722b120037123eaec9e6ef4b6a53ba2bcfb88ef08fae074b",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1745512871,
"transactionHash": "0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1750797287,
"transactionHash": "0x289aeed24a156bbb3b03cbbe0ef4e5fc873436d41cf50c746cdd380ff26be89b",
"implementations": [
"eth:0x78FFE9209dFF6Fe1c9B6F3EFdF996BeE60346D0e"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
{
"timestamp": 1772559059,
"transactionHash": "0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb",
"implementations": [
"eth:0x0507Aaa21c678976FCdC7e804836ACd6ebc17a44"
]
},
{
"timestamp": 1790627891,
"transactionHash": "0x356e1dd97cb22e3d6129ec91557b1bec8971f0c2e0b4d6c1fb54e8b014dd659b",
"implementations": [
"eth:0x56ca4f4F5Ba9B42d360B48429e8C4a60C5A0795D"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig\n * **batcherHash**: EOA 1\n * **owner**: Base Multisig 1",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x73a79Fab69143498Ed3712e519A88a918e1f4072#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0xc4ceeB264Fa35a022e470aCc3C6A522308f3ec02"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771973279,
"transactionHash": "0x29d51cf032651b7bedba5af1030eff2c43e40b676d4fe2cdf6c970a8a01e3a43",
"implementations": [
"eth:0xc4ceeB264Fa35a022e470aCc3C6A522308f3ec02"
]
}
],
"description": "Base's own SuperchainConfig, used to manage pause states for the Base chain. The guardian and incident responder roles are immutable and set at construction time. Each pause automatically expires after 3mo 1d.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig\n * **guardian**: Base Governance Multisig\n * **incident_responder**: Base Multisig 1",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb535ff7F118260a952CE65e7fF41B1743De8EE6c#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x3154Cf16ccdb4C6d922629664174b904d80F2C35",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3154Cf16ccdb4C6d922629664174b904d80F2C35#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x608d94945A64503E642E6370Ec598e519a2C1E53",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793919,
"transactionHash": "0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e",
"implementations": [
"eth:0x3311aC7F72bb4108d9f4D5d50E7623B1498A9eC0"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1745512871,
"transactionHash": "0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x608d94945A64503E642E6370Ec598e519a2C1E53#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x866E82a600A1414e583f7F13623F1aC5d58b0Afa",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793907,
"transactionHash": "0x8869b94ddd0ba84b41d937708db7b8aa64948e85b3a11e970f22887a56b0b1d7",
"implementations": [
"eth:0x0000000000000000000000000000000000000000"
]
},
{
"timestamp": 1686793919,
"transactionHash": "0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e",
"implementations": [
"eth:0x81C4Bd600793EBd1C0323604E1F455fE50A951F8"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1745512871,
"transactionHash": "0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x866E82a600A1414e583f7F13623F1aC5d58b0Afa#code"
},
{
"name": "HistoryStorage",
"isVerified": true,
"address": "eth:0x0000F90827F1C53a10cb7A02335B175320002935",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"references": [
{
"title": "Source Code",
"url": "https://eips.ethereum.org/EIPS/eip-2935"
}
],
"description": "EIP-2935 system contract storing the last 8191 L1 blockhashes. Bytecode is canonical to the EIP, deployed at the same address across networks.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0000F90827F1C53a10cb7A02335B175320002935#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Base Governance Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793919,
"transactionHash": "0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e",
"implementations": [
"eth:0x3d2c2f8f95CAba644eA25319c4c08594b8DC0359"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84#code"
},
{
"name": "TEEProverRegistry",
"isVerified": true,
"address": "eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x1d8728CabC8BC022005dd08D02a749B8a32Af440"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1779394811,
"transactionHash": "0xa94f74e29a92b8875b27a53a90195adba0f46b381f8c6bb5d6a51c98080da52b",
"implementations": [
"eth:0xeaB9b34BDD26Ad451B381B0934a30fAa6ED5E316"
]
},
{
"timestamp": 1790627891,
"transactionHash": "0x356e1dd97cb22e3d6129ec91557b1bec8971f0c2e0b4d6c1fb54e8b014dd659b",
"implementations": [
"eth:0x1d8728CabC8BC022005dd08D02a749B8a32Af440"
]
}
],
"description": "Registry of authorized TEE enclave signers and proposer addresses. Signer registration requires a valid AWS Nitro attestation document.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig\n * **manager**: EOA 3\n * **owner**: Base Coordinator Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3#code"
},
{
"name": "TEEVerifier",
"isVerified": true,
"address": "eth:0x1FbA0C57b07Af804A9717e51dec9CC27FBC12228",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Stateless verifier of TEE proofs. Recovers an ECDSA signature over the journal and checks that the signer is registered in the TEEProverRegistry with the expected enclave image hash. Can be permanently nullified.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1FbA0C57b07Af804A9717e51dec9CC27FBC12228#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec#code"
},
{
"name": "NitroValidator",
"isVerified": true,
"address": "eth:0x47C1ab20fac92c789d9e5708D06641c79b03C460",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Onchain validator of AWS Nitro Enclave attestation documents.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47C1ab20fac92c789d9e5708D06641c79b03C460#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x58bf355C5d4EdFc723eF89d99582ECCfd143266A#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6463dEE3828677F6270d83d45408044fc5eDB908#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D#code"
},
{
"name": "FaultDisputeGame",
"isVerified": true,
"address": "eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499#code"
},
{
"name": "CertManager",
"isVerified": true,
"address": "eth:0x7227d8C477CD0A9EC1446A19b1FCf940Ba3Fba17",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies and caches AWS Nitro certificate chains against a pinned root certificate.\n* Roles:\n * **owner**: Base Coordinator Multisig\n * **revoker**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7227d8C477CD0A9EC1446A19b1FCf940Ba3Fba17#code"
},
{
"name": "ProtocolVersions",
"isVerified": true,
"address": "eth:0x7480Afc8D99a5c645c247dB5A1e4a4f440e6e095",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0xE01aF68e2cb6c4335b17279393E0D60f6F0406f2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1790011607,
"transactionHash": "0x25737194eebf46a4419e4a8255323082370622305a5747e2ba00cd0fe4490011",
"implementations": [
"eth:0xE01aF68e2cb6c4335b17279393E0D60f6F0406f2"
]
}
],
"description": "Registry of L2 upgrade activation timestamps. Dispute games commit to the upgrades active at their ending L2 block and proofs must match that commitment.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig\n * **incidentResponder**: Base Multisig 1\n * **proxyAdminOwner**: Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7480Afc8D99a5c645c247dB5A1e4a4f440e6e095#code"
},
{
"name": "Escrow",
"isVerified": true,
"address": "eth:0x7F311a4D48377030bD810395f4CCfC03bdbe9Ef3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple escrow that accepts tokens and allows to configure permissioned addresses that can access the tokens.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7F311a4D48377030bD810395f4CCfC03bdbe9Ef3#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x909f6cf47ed12f010A796527f562bFc26C7F4E72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x4483F964F6711Cb55f633820ED174E780369b99D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
{
"timestamp": 1779825599,
"transactionHash": "0x75b1c9b2090ba2b311d6be08c319340b87dc1aabfae2505d126e7a0f1fc6b11c",
"implementations": [
"eth:0x4483F964F6711Cb55f633820ED174E780369b99D"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x909f6cf47ed12f010A796527f562bFc26C7F4E72#code"
},
{
"name": "wstETHEscrow",
"isVerified": true,
"address": "eth:0x9de443AdC5A411E83F1878Ef24C3F52C61571e72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x313819736457910aC1Dd21a712a37f3d7595645A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1695935315,
"transactionHash": "0xac8580fdfdbb35af667cf9c5c5fa9d10c793486d10fcbea538efd9386b04c106",
"implementations": [
"eth:0x313819736457910aC1Dd21a712a37f3d7595645A"
]
}
],
"description": "Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9de443AdC5A411E83F1878Ef24C3F52C61571e72#code"
},
{
"name": "SkyLink Bridge",
"isVerified": true,
"address": "eth:0xA5874756416Fa632257eEA380CAbd2E87cED352A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xaeFd31c2e593Dc971f9Cb42cBbD5d4AD7F1970b6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728571151,
"transactionHash": "0xde7d483c73060001a6d0ee88b5b9848bdb8a830a93a9579e956350b80296db83",
"implementations": [
"eth:0xaeFd31c2e593Dc971f9Cb42cBbD5d4AD7F1970b6"
]
}
],
"description": "Custom bridge for USDS and sUSDS managed by Sky governance.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA5874756416Fa632257eEA380CAbd2E87cED352A#code"
},
{
"name": "ZkVerifier",
"isVerified": true,
"address": "eth:0xB88D95bDf6972508942d184866890c1834219B75",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Thin router that forwards SP1 ZK proof verification to the SP1VerifierGateway. Can be permanently nullified.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB88D95bDf6972508942d184866890c1834219B75#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v6.1.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xd0D07924AdD740a87e41Ca8A0d4CBBf6b074EF71",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x437c42d7927fe396E54da837d6aC57756cD868e3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1779394835,
"transactionHash": "0xdd0a92f8c5c98e49332f4d4349b9cf72f9da59dbfb9154ce6c532083072a6403",
"implementations": [
"eth:0x437c42d7927fe396E54da837d6aC57756cD868e3"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd0D07924AdD740a87e41Ca8A0d4CBBf6b074EF71#code"
},
{
"name": "SP1VerifierGateway",
"isVerified": true,
"address": "eth:0xdc32E228636273285Befa5F001dBB5142517C106",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"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* Roles:\n * **owner**: Base Governance Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdc32E228636273285Befa5F001dBB5142517C106#code"
},
{
"name": "P384Verifier",
"isVerified": true,
"address": "eth:0xe0aa6868e14300355001130C6DC29f2f4467D86c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Stateless verifier of P-384 ECDSA signatures.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe0aa6868e14300355001130C6DC29f2f4467D86c#code"
},
{
"name": "AggregateVerifier",
"isVerified": true,
"address": "eth:0xeF9eCeA15265321753047EBF7D54C858D53cB94f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Game type implementation that combines a TEE attestation arm and a ZK proof arm. A single un-nullified proof of either type can resolve a game (PROOF_THRESHOLD = 1). When both arms commit, the finalization window collapses from SLOW_FINALIZATION_DELAY (5d) to FAST_FINALIZATION_DELAY (1d).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeF9eCeA15265321753047EBF7D54C858D53cB94f#code"
}
],
"base": [
{
"name": "FeeDisburser",
"isVerified": true,
"address": "base:0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xa966054731540a48b28990b63Dcf4f33d8aE57B2"
],
"implementations": [
"base:0x72984FeF9c2123eBB66912CeAB9e47C5E9B738e6"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1693609603,
"transactionHash": "0x49e50b94dd7c45505380b0015b912b001354b9103fc5549d05a2b4bb7e433278",
"implementations": [
"base:0x45969D00739d518f0Dde41920B67cE30395135A0"
]
},
{
"timestamp": 1772559377,
"transactionHash": "0x055b31e8fb8689e5e72d9c41c1c38b5a165fd145aa76bf118194f86a066d0650",
"implementations": [
"base:0xDa70b4cd0Cd8193f665A7D49CeFD5f79F11FCc75"
]
},
{
"timestamp": 1773435991,
"transactionHash": "0x68c2a1b66361dcb9ec2f8b1fe26ae275021b6d78751d0577fc0bd410dfd47518",
"implementations": [
"base:0x72984FeF9c2123eBB66912CeAB9e47C5E9B738e6"
]
}
],
"description": "Contract used to disburse funds from system FeeVault contracts, shares revenue with Optimism and bridges the rest of funds to L1.\n* Roles:\n * **admin**: EOA 2",
"upgradableBy": [
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA#code"
},
{
"name": "L2CrossDomainMessenger",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000007",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000007#code"
},
{
"name": "L2StandardBridge",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000010",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000010#code"
},
{
"name": "SequencerFeeVault",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000011",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xd53210eE20948eCFF8B6B8180E29657e0ce8492d"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0x54d194FaAe439fc3f8024801B0b9EBc91Ebd39f5"
]
},
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0xd53210eE20948eCFF8B6B8180E29657e0ce8492d"
]
}
],
"description": "Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000011#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000012",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0x6922ac4DbDfEdEa3a1E5535f12c3171f2b964C91"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1716225807,
"transactionHash": "0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0",
"implementations": [
"base:0x6922ac4DbDfEdEa3a1E5535f12c3171f2b964C91"
]
}
],
"description": "Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000012#code"
},
{
"name": "L1BlockNumber",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000013",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0D3C0d3C0D3c0D3C0d3c0D3C0d3c0d3C0d30013"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "Simple contract that returns the latest L1 block number.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000013#code"
},
{
"name": "L2ERC721Bridge",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000014",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000014#code"
},
{
"name": "L1Block",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000015",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710374401,
"transactionHash": "0x9f2b2d34dfa2cb55cceb9860cade0cb03cfbd7ff1dd07d48b4708b29a46b4a24",
"implementations": [
"base:0x07dbe8500fc591d1852B76feE44d5a05e13097Ff"
]
},
{
"timestamp": 1746806401,
"transactionHash": "0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd",
"implementations": [
"base:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12"
]
},
{
"timestamp": 1764691201,
"transactionHash": "0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a",
"implementations": [
"base:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
}
],
"description": "Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000015#code"
},
{
"name": "L2ToL1MessagePasser",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000016",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000016#code"
},
{
"name": "OptimismMintableERC721Factory",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000017",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000017#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000018",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias\n * **owner**: Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000018#code"
},
{
"name": "BaseFeeVault",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000019",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0x4E207bDF8aece56de86821f5370b2b993D08C9E9"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0xB0B77878bBc76E29aBE7584Bda27ae3CE1A9059a"
]
},
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0x4E207bDF8aece56de86821f5370b2b993D08C9E9"
]
}
],
"description": "Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000019#code"
},
{
"name": "L1FeeVault",
"isVerified": true,
"address": "base:0x420000000000000000000000000000000000001A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0x0c9034b92351cF8f067379a1fFA4fa35f5AF9dCC"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0xD36F11023188134d0f4610fF0C6e01c1B11488f8"
]
},
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0x0c9034b92351cF8f067379a1fFA4fa35f5AF9dCC"
]
}
],
"description": "Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x420000000000000000000000000000000000001A#code"
},
{
"name": "SchemaRegistry",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000020",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0x75505a97BD334E7BD3C476893285569C4136Fa0F"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1694184179,
"transactionHash": "0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27",
"implementations": [
"base:0x75505a97BD334E7BD3C476893285569C4136Fa0F"
]
}
],
"description": "Contracts to register schemas for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000020#code"
},
{
"name": "EAS",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000021",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1694184179,
"transactionHash": "0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27",
"implementations": [
"base:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"
]
}
],
"description": "Contract containing the main logic for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000021#code"
}
]
},
"escrows": [
{
"address": "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",
"sinceTimestamp": 1686793895,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0xcA5ca23502eFf4254bc11Ac0bEC4Dbb7495Bd06C"
"eth:0x03863Ab7F64B733cFF85C8fF44a86601C568Ca70"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793919,
"transactionHash": "0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e",
"implementations": [
"eth:0x5FB30336A8d0841cf15d452afA297cB6D10877D7"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1745512871,
"transactionHash": "0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1779825599,
"transactionHash": "0x75b1c9b2090ba2b311d6be08c319340b87dc1aabfae2505d126e7a0f1fc6b11c",
"implementations": [
"eth:0x66d94eE8F529b683ED6013729784e8bb44697A64"
]
},
{
"timestamp": 1790627891,
"transactionHash": "0x356e1dd97cb22e3d6129ec91557b1bec8971f0c2e0b4d6c1fb54e8b014dd659b",
"implementations": [
"eth:0xcA5ca23502eFf4254bc11Ac0bEC4Dbb7495Bd06C"
]
},
{
"timestamp": 1791395087,
"transactionHash": "0x12b3bf5bb0a8f921321f9a91303240ce01fde9f99ba9f97234f89d114c077bf6",
"implementations": [
"eth:0x03863Ab7F64B733cFF85C8fF44a86601C568Ca70"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x49048044D57e1C92A77f79988d21Fa8fAF74E97e#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x3154Cf16ccdb4C6d922629664174b904d80F2C35",
"sinceTimestamp": 1686793895,
"tokens": "*",
"excludedTokens": [
"SolvBTC",
"SolvBTC.BBN",
"rsETH"
],
"premintedTokens": [
"ICNT"
],
"contract": {
"isVerified": true,
"address": "eth:0x3154Cf16ccdb4C6d922629664174b904d80F2C35",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x3154Cf16ccdb4C6d922629664174b904d80F2C35#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x9de443AdC5A411E83F1878Ef24C3F52C61571e72",
"sinceTimestamp": 1695935315,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x9de443AdC5A411E83F1878Ef24C3F52C61571e72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x313819736457910aC1Dd21a712a37f3d7595645A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1695935315,
"transactionHash": "0xac8580fdfdbb35af667cf9c5c5fa9d10c793486d10fcbea538efd9386b04c106",
"implementations": [
"eth:0x313819736457910aC1Dd21a712a37f3d7595645A"
]
}
],
"description": "wstETH Vault for custom wstETH Gateway. Fully controlled by Lido governance.",
"url": "https://etherscan.io/address/0x9de443AdC5A411E83F1878Ef24C3F52C61571e72#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Aggregation program of Base AggregateVerifier",
"programUrl": "https://github.com/base/base/tree/v1.4.2/crates/proof/zk/programs/succinct/aggregation",
"description": "Aggregates range proofs of correct execution for several consecutive sub-ranges of Base L2 blocks.",
"proverSystemProject": "sp1hypercube",
"verificationStatus": "successful",
"verificationSteps": "Prepare:\n\n1. Install `just`: \n2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`.\n3. Install docker \n\nVerify:\n\n1. Checkout the correct tag in [base/base](https://github.com/base/base) repo: `git checkout v1.4.2`. Commit hash should be `5034ef80bc90261ff6c4841fdf4baed34283abad`.\n2. Make sure docker is running: `docker ps`.\n3. From the repo root: `just succinct vkeys --build` to build the range and aggregation SP1 ELFs (reproducible docker build, SP1 toolchain tag `v6.4.0` pinned in `etc/just/succinct.just`) and print their verification key hashes.",
"hash": "0x00f500229b99db6a14c508c444e4527793f2f178168847acf3f755118614568a"
},
{
"title": "Range program of Base AggregateVerifier",
"programUrl": "https://github.com/base/base/tree/v1.4.2/crates/proof/zk/programs/succinct/range/ethereum",
"description": "Proves correct state transition function of the Base rollup over a sub-range of L2 blocks.",
"proverSystemProject": "sp1hypercube",
"verificationStatus": "successful",
"verificationSteps": "Prepare:\n\n1. Install `just`: \n2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`.\n3. Install docker \n\nVerify:\n\n1. Checkout the correct tag in [base/base](https://github.com/base/base) repo: `git checkout v1.4.2`. Commit hash should be `5034ef80bc90261ff6c4841fdf4baed34283abad`.\n2. Make sure docker is running: `docker ps`.\n3. From the repo root: `just succinct vkeys --build` to build the range and aggregation SP1 ELFs (reproducible docker build, SP1 toolchain tag `v6.4.0` pinned in `etc/just/succinct.just`) and print their verification key hashes.",
"hash": "0x25e035df08601f4b0b862be24c4bd08b1ee0524623fe737e7e8e378458ec7c21"
},
{
"title": "TEE enclave image hash of Base client",
"programUrl": "https://github.com/base/base/tree/v1.4.2/crates/proof/tee/nitro-enclave",
"description": "TEE image hash of Base L2 node program. AWS Nitro Enclave attestations guarantee that exactly this program was run within a TEE.",
"verificationStatus": "successful",
"verificationSteps": "Regeneration steps below require Linux OS, they will produce a different hash on MacOS.\n\nPrepare:\n\n1. Install docker \n2. Install `just` version `>=1.31.0`: \n\nVerify:\n\n1. Checkout the correct tag in [base/base](https://github.com/base/base) repo: `git checkout v1.4.2`. Commit hash should be `5034ef80bc90261ff6c4841fdf4baed34283abad`.\n2. In `etc/docker/Dockerfile.nitro-enclave` append ` -C link-arg=-fuse-ld=mold` to `CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS` and add `mold=2.34.1-r1` to the `apk add` list. The unmodified Dockerfile links with the default linker and produces a different image.\n3. Make sure docker is running: `docker ps`.\n4. From the repo root: `just tee build-eif` to build the TEE image in a docker container.\n5. Extract `PCR0` from the build EIF: `just tee describe-eif`\n6. Compute image hash as keccak256 of the PCR0: `cast keccak \"0x\"`, where `PCR0_hex` is taken from the output of the previous step.",
"hash": "0x45c538bc396fe4a01b3f9ddc999494c3b993480ecac0a917e2f1af230d78b0e0"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Upgrades must be approved by 2 parties: the Base Coordinator Multisig and the Base Security Council. There is no delay on upgrades."
}
],
"zkVerifiers": [
"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A"
]
}
[
{
"id": "6a0aeb99",
"date": "Fri, 09 Oct 2026 09:39:26 GMT",
"timestamp": 1791538610,
"description": "OptimismPortal2 6.0.0 → 6.0.1: a failed withdrawal call to a 7702-delegated EOA now reverts instead of finalizing, upgraded by the Base Governance Multisig.\nhttps://disco.l2beat.com/diff/eth:0xcA5ca23502eFf4254bc11Ac0bEC4Dbb7495Bd06C/eth:0x03863Ab7F64B733cFF85C8fF44a86601C568Ca70",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (eth:0x49048044D57e1C92A77f79988d21Fa8fAF74E97e) [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 AggregateVerifier.\n sourceHashes.1:\n- \"0xe19e03ee1eceea55b82f2982dcbf9d11d2a194352be04181edc1b6cfe1e9dcb3\"\n+ \"0xa3692169a2d67b0edeeee11f2dd643e4bebd7d1178b87d899f03ff7c580d5dc2\"\n values.$implementation:\n- \"eth:0xcA5ca23502eFf4254bc11Ac0bEC4Dbb7495Bd06C\"\n+ \"eth:0x03863Ab7F64B733cFF85C8fF44a86601C568Ca70\"\n values.$pastUpgrades.12:\n+ [\"2026-10-07T17:44:47.000Z\",\"0x12b3bf5bb0a8f921321f9a91303240ce01fde9f99ba9f97234f89d114c077bf6\",[\"eth:0x03863Ab7F64B733cFF85C8fF44a86601C568Ca70\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.version:\n- \"6.0.0\"\n+ \"6.0.1\"\n implementationNames.eth:0xcA5ca23502eFf4254bc11Ac0bEC4Dbb7495Bd06C:\n- \"OptimismPortal2\"\n implementationNames.eth:0x03863Ab7F64B733cFF85C8fF44a86601C568Ca70:\n+ \"OptimismPortal2\"\n }\n```"
}
]
},
{
"id": "71d476ea",
"date": "Mon, 05 Oct 2026 12:06:35 GMT",
"timestamp": 1790951049,
"description": "Base [Cobalt upgrade](https://github.com/base/contract-deployments/tree/main/archive/evm/2026-09-14-cobalt-upgrade).\n\nVersion changes and implementation diffs:\n\n- OptimismPortal2 5.2.0 -> 6.0.0: https://disco.l2beat.com/diff/eth:0x66d94eE8F529b683ED6013729784e8bb44697A64/eth:0xcA5ca23502eFf4254bc11Ac0bEC4Dbb7495Bd06C\n- SystemConfig 3.13.2 -> 3.14.0: https://disco.l2beat.com/diff/eth:0x0507Aaa21c678976FCdC7e804836ACd6ebc17a44/eth:0x56ca4f4F5Ba9B42d360B48429e8C4a60C5A0795D\n- DisputeGameFactory 1.4.0 -> 1.5.0: https://disco.l2beat.com/diff/eth:0x468C2345D1d409d5b0F2f8bE4aE2082150cC1a0c/eth:0x94eab8f73fd83407D26C006D159923760D483029\n- TEEProverRegistry 0.5.0 -> 0.6.1: https://disco.l2beat.com/diff/eth:0xeaB9b34BDD26Ad451B381B0934a30fAa6ED5E316/eth:0x1d8728CabC8BC022005dd08D02a749B8a32Af440\n- AggregateVerifier 0.1.0 -> 0.2.0 (new game type 621 implementation): https://disco.l2beat.com/diff/eth:0xeE303bA054c5F1E14A8EF87f1C7E285af45A1ba2/eth:0xeF9eCeA15265321753047EBF7D54C858D53cB94f\n\nOptimismPortal2 and SystemConfig drop ETHLockbox support. DisputeGameFactory deploys games with CREATE2.\n\nAggregateVerifier: new TEE image hash, ZK range hash and ZK aggregation hash. Games commit to the upgrade schedule in the new ProtocolVersions contract (admin ProxyAdmin, incident responder Base Multisig 1).\n\nTEEProverRegistry: signer attestations are validated by the new NitroValidator, CertManager (owner Base Coordinator Multisig, revoker the TEEProverRegistry manager) and P384Verifier. NitroEnclaveVerifier and the RISC Zero verifier contracts with their TimelockController and Safe are removed.",
"isHighSeverity": true,
"changeCount": 61,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x7480Afc8D99a5c645c247dB5A1e4a4f440e6e095\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) [global/TimelockController]\n +++ description: A timelock with access control. The current minimum delay is 3d.\n```\n\n```diff\n contract Base Multisig 1 (eth:0x14536667Cd30e52C0b458BaACcB9faDA7046E056) [GnosisSafe] {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x7480Afc8D99a5c645c247dB5A1e4a4f440e6e095\",\"description\":\"delay the activation of a scheduled upgrade.\",\"role\":\".incidentResponder\"}\n }\n```\n\n```diff\n contract TEEProverRegistry (eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA) [base/TEEProverRegistry] {\n +++ description: Registry of authorized TEE enclave signers and proposer addresses. Signer registration requires a valid AWS Nitro attestation document.\n sourceHashes.1:\n- \"0x9831f0365a1629899a27a5e77f1445d6b78de4d90376053079da107921dda3a2\"\n+ \"0xede8082a5b614fbd752ea8f214321a92d5c97db36aac1070675b57e45a775d5d\"\n values.$implementation:\n- \"eth:0xeaB9b34BDD26Ad451B381B0934a30fAa6ED5E316\"\n+ \"eth:0x1d8728CabC8BC022005dd08D02a749B8a32Af440\"\n values.$pastUpgrades.1:\n+ [\"2026-09-28T20:38:11.000Z\",\"0x356e1dd97cb22e3d6129ec91557b1bec8971f0c2e0b4d6c1fb54e8b014dd659b\",[\"eth:0x1d8728CabC8BC022005dd08D02a749B8a32Af440\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ description: TEE image hash (PCR0) of the AggregateVerifier registered in the DisputeGameFactory for gameType. Derived, not stored in this contract.\n values.getExpectedImageHash:\n- \"0x58557c709e93357a135041297107aecc4bc6ba616509098a4aa8dbef774d212a\"\n+ \"0x45c538bc396fe4a01b3f9ddc999494c3b993480ecac0a917e2f1af230d78b0e0\"\n values.NITRO_VERIFIER:\n- \"eth:0x7F3a16E1fe6Fda64c5AC4296E13ECB9F7B44F6fb\"\n values.version:\n- \"0.5.0\"\n+ \"0.6.1\"\n values.NITRO_VALIDATOR:\n+ \"eth:0x47C1ab20fac92c789d9e5708D06641c79b03C460\"\n implementationNames.eth:0xeaB9b34BDD26Ad451B381B0934a30fAa6ED5E316:\n- \"TEEProverRegistry\"\n implementationNames.eth:0x1d8728CabC8BC022005dd08D02a749B8a32Af440:\n+ \"TEEProverRegistry\"\n }\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroVerifierEmergencyStop (eth:0x1efDd13f831ceeEa14940806705A53D3211CD698) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroGroth16Verifier (eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroGroth16Verifier (eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 3.0.0).\n```\n\n```diff\n- Status: DELETED\n contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract DisputeGameFactory (eth:0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e) [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 sourceHashes.1:\n- \"0x780eaf9d8daa77c3325b79e5f3467c1bd8eec57b5d7e84651bdf2d24754d6838\"\n+ \"0x580049b41f9d831de51dfb5920cb1d45c4c229d3eb702b5422231a00759af5a1\"\n values.$implementation:\n- \"eth:0x468C2345D1d409d5b0F2f8bE4aE2082150cC1a0c\"\n+ \"eth:0x94eab8f73fd83407D26C006D159923760D483029\"\n values.$pastUpgrades.6:\n+ [\"2026-09-28T20:38:11.000Z\",\"0x356e1dd97cb22e3d6129ec91557b1bec8971f0c2e0b4d6c1fb54e8b014dd659b\",[\"eth:0x94eab8f73fd83407D26C006D159923760D483029\"]]\n values.$upgradeCount:\n- 6\n+ 7\n+++ severity: HIGH\n values.game621:\n- \"eth:0xeE303bA054c5F1E14A8EF87f1C7E285af45A1ba2\"\n+ \"eth:0xeF9eCeA15265321753047EBF7D54C858D53cB94f\"\n values.version:\n- \"1.4.0\"\n+ \"1.5.0\"\n implementationNames.eth:0x468C2345D1d409d5b0F2f8bE4aE2082150cC1a0c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x94eab8f73fd83407D26C006D159923760D483029:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroVerifierEmergencyStop (eth:0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x49048044D57e1C92A77f79988d21Fa8fAF74E97e) [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 AggregateVerifier.\n sourceHashes.1:\n- \"0x247eac30dea3a06b4a7142ac53d0b9ad882952c87406f165ec8721b0d97bd6da\"\n+ \"0xe19e03ee1eceea55b82f2982dcbf9d11d2a194352be04181edc1b6cfe1e9dcb3\"\n values.$implementation:\n- \"eth:0x66d94eE8F529b683ED6013729784e8bb44697A64\"\n+ \"eth:0xcA5ca23502eFf4254bc11Ac0bEC4Dbb7495Bd06C\"\n values.$pastUpgrades.11:\n+ [\"2026-09-28T20:38:11.000Z\",\"0x356e1dd97cb22e3d6129ec91557b1bec8971f0c2e0b4d6c1fb54e8b014dd659b\",[\"eth:0xcA5ca23502eFf4254bc11Ac0bEC4Dbb7495Bd06C\"]]\n values.$upgradeCount:\n- 11\n+ 12\n+++ severity: HIGH\n values.ethLockbox:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"5.2.0\"\n+ \"6.0.0\"\n implementationNames.eth:0x66d94eE8F529b683ED6013729784e8bb44697A64:\n- \"OptimismPortal2\"\n implementationNames.eth:0xcA5ca23502eFf4254bc11Ac0bEC4Dbb7495Bd06C:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroSetVerifier (eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85) [risc0/RiscZeroSetVerifier]\n +++ description: Set verifier contract for RISC Zero proofs (version 0.9.0). It allows verifying a whole set of proofs identified with a Merkle root at once, afterwards each individual proof could be efficiently verified just by checking Merkle inclusion against the verified root.\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroGroth16Verifier (eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.0.3).\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroVerifierEmergencyStop (eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n contract SystemConfig (eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072) [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- \"0x05f19560cc64e41a40dcb3e2efd7011156ab03192fcc0bfadffccd4019c99e8e\"\n+ \"0x8ee185d15557b411e4a37287ec10583b4c685af295ff63b63c09edf12c6dbe9a\"\n values.$implementation:\n- \"eth:0x0507Aaa21c678976FCdC7e804836ACd6ebc17a44\"\n+ \"eth:0x56ca4f4F5Ba9B42d360B48429e8C4a60C5A0795D\"\n values.$pastUpgrades.15:\n+ [\"2026-09-28T20:38:11.000Z\",\"0x356e1dd97cb22e3d6129ec91557b1bec8971f0c2e0b4d6c1fb54e8b014dd659b\",[\"eth:0x56ca4f4F5Ba9B42d360B48429e8C4a60C5A0795D\"]]\n values.$upgradeCount:\n- 15\n+ 16\n values.version:\n- \"3.13.2\"\n+ \"3.14.0\"\n implementationNames.eth:0x0507Aaa21c678976FCdC7e804836ACd6ebc17a44:\n- \"SystemConfig\"\n implementationNames.eth:0x56ca4f4F5Ba9B42d360B48429e8C4a60C5A0795D:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract Base Governance Multisig (eth:0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c) [GnosisSafe] {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x7480Afc8D99a5c645c247dB5A1e4a4f440e6e095\",\"description\":\"register upgrades, set their activation timestamps and the minimum protocol version, and appoint the incident responder.\",\"role\":\".proxyAdminOwner\"}\n receivedPermissions.14:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x7480Afc8D99a5c645c247dB5A1e4a4f440e6e095\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract NitroEnclaveVerifier (eth:0x7F3a16E1fe6Fda64c5AC4296E13ECB9F7B44F6fb) [base/NitroEnclaveVerifier]\n +++ description: ZK-based verifier of AWS Nitro Enclave attestation documents. Used by TEEProverRegistry to validate new enclave signer registrations against the AWS Nitro PKI.\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroVerifierEmergencyStop (eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroVerifierRouter (eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319) [risc0/RiscZeroVerifierRouter]\n +++ description: A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711).\n```\n\n```diff\n contract Base Coordinator Multisig (eth:0x9855054731540A48b28990B63DcF4f33d8AE46A1) [GnosisSafe] {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x7227d8C477CD0A9EC1446A19b1FCf940Ba3Fba17\",\"description\":\"revoke the root certificate, unrevoke certificates and set the revoker.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroVerifierEmergencyStop (eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroGroth16Verifier (eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n```\n\n```diff\n EOA (eth:0xd87488Dbb5b6F47cc6c15Dd95Bb60c83D3031b04) {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x7227d8C477CD0A9EC1446A19b1FCf940Ba3Fba17\",\"description\":\"revoke non-root certificates.\",\"role\":\".revoker\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroVerifierEmergencyStop (eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n- Status: DELETED\n contract AggregateVerifier (eth:0xeE303bA054c5F1E14A8EF87f1C7E285af45A1ba2) [opstack/AggregateVerifier]\n +++ description: Game type implementation that combines a TEE attestation arm and a ZK proof arm. A single un-nullified proof of either type can resolve a game (PROOF_THRESHOLD = 1). When both arms commit, the finalization window collapses from SLOW_FINALIZATION_DELAY (5d) to FAST_FINALIZATION_DELAY (1d).\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroGroth16Verifier (eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C) [taiko/RiscZeroGroth16VerifierLegacy]\n +++ description: Verifier contract for RISC Zero Groth16 proofs. This older implementation exposes control-root and selector constants but does not expose a VERSION getter.\n```\n\n```diff\n+ Status: CREATED\n contract NitroValidator (eth:0x47C1ab20fac92c789d9e5708D06641c79b03C460) [base/NitroValidator]\n +++ description: Onchain validator of AWS Nitro Enclave attestation documents.\n```\n\n```diff\n+ Status: CREATED\n contract CertManager (eth:0x7227d8C477CD0A9EC1446A19b1FCf940Ba3Fba17) [base/CertManager]\n +++ description: Verifies and caches AWS Nitro certificate chains against a pinned root certificate.\n```\n\n```diff\n+ Status: CREATED\n contract ProtocolVersions (eth:0x7480Afc8D99a5c645c247dB5A1e4a4f440e6e095) [base/ProtocolVersions]\n +++ description: Registry of L2 upgrade activation timestamps. Dispute games commit to the upgrades active at their ending L2 block and proofs must match that commitment.\n```\n\n```diff\n+ Status: CREATED\n contract P384Verifier (eth:0xe0aa6868e14300355001130C6DC29f2f4467D86c) [base/P384Verifier]\n +++ description: Stateless verifier of P-384 ECDSA signatures.\n```\n\n```diff\n+ Status: CREATED\n contract AggregateVerifier (eth:0xeF9eCeA15265321753047EBF7D54C858D53cB94f) [opstack/AggregateVerifier]\n +++ description: Game type implementation that combines a TEE attestation arm and a ZK proof arm. A single un-nullified proof of either type can resolve a game (PROOF_THRESHOLD = 1). When both arms commit, the finalization window collapses from SLOW_FINALIZATION_DELAY (5d) to FAST_FINALIZATION_DELAY (1d).\n```"
}
]
},
{
"id": "495df849",
"date": "Wed, 23 Sep 2026 05:45:28 GMT",
"timestamp": 1785226129,
"description": "Refresh config-derived discovery metadata at the main-branch block.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec) [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```"
}
]
},
{
"id": "310f6e25",
"date": "Tue, 28 Jul 2026 08:10:06 GMT",
"timestamp": 1785226129,
"description": "Redeployed aggregate verifier with different range and aggregation prog hashes and no code changes: https://disco.l2beat.com/diff/eth:0x1bd8db5139Ba7aC9277684650c15e6E341761919/eth:0xeE303bA054c5F1E14A8EF87f1C7E285af45A1ba2. Both programs are regenreated from sources.\n\nDisabled Groth16 SP1 verifier and enabled Plonk v6.1.0 SP1 verifier. It is an already known contract, regenerated from sources.",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract AggregateVerifier (eth:0x1bd8db5139Ba7aC9277684650c15e6E341761919) [opstack/AggregateVerifier]\n +++ description: Game type implementation that combines a TEE attestation arm and a ZK proof arm. A single un-nullified proof of either type can resolve a game (PROOF_THRESHOLD = 1). When both arms commit, the finalization window collapses from SLOW_FINALIZATION_DELAY (5d) to FAST_FINALIZATION_DELAY (1d).\n```\n\n```diff\n contract DisputeGameFactory (eth:0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e) [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+++ severity: HIGH\n values.game621:\n- \"eth:0x1bd8db5139Ba7aC9277684650c15e6E341761919\"\n+ \"eth:0xeE303bA054c5F1E14A8EF87f1C7E285af45A1ba2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SP1Verifier (eth:0xb69f2584CBcFf99a58C4e7002E8b89Af54a6f4e2) [succinct/SP1Verifier]\n +++ description: Verifier contract for SP1 proofs (v6.1.0).\n```\n\n```diff\n contract SP1VerifierGateway (eth:0xdc32E228636273285Befa5F001dBB5142517C106) [succinct/SP1VerifierGateway] {\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 values.activeVerifiers.0.verifier:\n- \"eth:0xb69f2584CBcFf99a58C4e7002E8b89Af54a6f4e2\"\n+ \"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A\"\n values.activeVerifiers.0.selector:\n- \"0x4388a21c\"\n+ \"0x5a093a2f\"\n+++ description: All verifiers that were ever routed to by this gateway.\n values.allVerifiers.1:\n+ {\"selector\":\"0x5a093a2f\",\"verifier\":\"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A) [shared-sp1/SP1Verifier]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AggregateVerifier (eth:0xeE303bA054c5F1E14A8EF87f1C7E285af45A1ba2) [opstack/AggregateVerifier]\n +++ description: Game type implementation that combines a TEE attestation arm and a ZK proof arm. A single un-nullified proof of either type can resolve a game (PROOF_THRESHOLD = 1). When both arms commit, the finalization window collapses from SLOW_FINALIZATION_DELAY (5d) to FAST_FINALIZATION_DELAY (1d).\n```"
}
]
},
{
"id": "34b7d9b7",
"date": "Tue, 21 Jul 2026 15:40:09 GMT",
"timestamp": 1784648327,
"description": "TEEProverRegistry: both registered enclave signers rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TEEProverRegistry (eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA) [base/TEEProverRegistry] {\n +++ description: Registry of authorized TEE enclave signers and proposer addresses used by the TEEVerifier. Owner can add or remove allowlisted proposers via setProposer (onlyOwner) and set the AggregateVerifier game type lookup. Owner and Manager can register or deregister enclave signers via registerSigner / deregisterSigner. Registration requires a Risc0 ZK proof of a valid AWS Nitro attestation document verified by the NITRO_VERIFIER.\n+++ severity: LOW\n values.getRegisteredSigners.0:\n- \"eth:0x3354226FDDD041367AE68F7245Cd5166e11013f3\"\n+ \"eth:0x9a73d6848BBe8562CBb6BF1c92B33610B80a98cC\"\n+++ severity: LOW\n values.getRegisteredSigners.1:\n- \"eth:0xE32f95a9c06159c3cB3DC39f7573215ddAB86E59\"\n+ \"eth:0xd7D60ED09A8069DedA10d721bDF2F04F0F80F69d\"\n }\n```"
}
]
},
{
"id": "1b40688d",
"date": "Mon, 20 Jul 2026 15:35:42 GMT",
"timestamp": 1784561613,
"description": "Base Multisig 1: one member added, two removed. Threshold 3/13 → 3/12.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Base Multisig 1 (eth:0x14536667Cd30e52C0b458BaACcB9faDA7046E056) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0x7eA56fBD8320F032014C8889C4F6cDC86796Db04\"\n values.$members.11:\n- \"eth:0xa3D3c103442F162856163d564b983ae538c6202D\"\n values.$members.12:\n- \"eth:0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839\"\n values.multisigThreshold:\n- \"3 of 13 (23%)\"\n+ \"3 of 12 (25%)\"\n }\n```"
}
]
},
{
"id": "f3d5478d",
"date": "Wed, 15 Jul 2026 13:37:55 GMT",
"timestamp": 1784122559,
"description": "TEEProverRegistry: both registered enclave signers rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TEEProverRegistry (eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA) [base/TEEProverRegistry] {\n +++ description: Registry of authorized TEE enclave signers and proposer addresses used by the TEEVerifier. Owner can add or remove allowlisted proposers via setProposer (onlyOwner) and set the AggregateVerifier game type lookup. Owner and Manager can register or deregister enclave signers via registerSigner / deregisterSigner. Registration requires a Risc0 ZK proof of a valid AWS Nitro attestation document verified by the NITRO_VERIFIER.\n+++ severity: LOW\n values.getRegisteredSigners.0:\n- \"eth:0xCD5C52b857A8E4B3883997b856b730D76938B38C\"\n+ \"eth:0x3354226FDDD041367AE68F7245Cd5166e11013f3\"\n+++ severity: LOW\n values.getRegisteredSigners.1:\n- \"eth:0x0BcBdab1Adf24461682e9DE37AFc0548C462ca10\"\n+ \"eth:0xE32f95a9c06159c3cB3DC39f7573215ddAB86E59\"\n }\n```"
}
]
},
{
"id": "5b9cc2d9",
"date": "Tue, 14 Jul 2026 14:38:08 GMT",
"timestamp": 1784039760,
"description": "TEEProverRegistry: both registered enclave signers rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TEEProverRegistry (eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA) [base/TEEProverRegistry] {\n +++ description: Registry of authorized TEE enclave signers and proposer addresses used by the TEEVerifier. Owner can add or remove allowlisted proposers via setProposer (onlyOwner) and set the AggregateVerifier game type lookup. Owner and Manager can register or deregister enclave signers via registerSigner / deregisterSigner. Registration requires a Risc0 ZK proof of a valid AWS Nitro attestation document verified by the NITRO_VERIFIER.\n+++ severity: LOW\n values.getRegisteredSigners.0:\n- \"eth:0xCD5C52b857A8E4B3883997b856b730D76938B38C\"\n+ \"eth:0xDbec3b8c62A04f6C4e35BDc0Dac5Ee3c6C1Ce846\"\n+++ severity: LOW\n values.getRegisteredSigners.1:\n- \"eth:0x0BcBdab1Adf24461682e9DE37AFc0548C462ca10\"\n+ \"eth:0xEa459F445D2675027E30E3ebF3AD8716D64DD384\"\n }\n```"
}
]
},
{
"id": "0b7ee741",
"date": "Tue, 30 Jun 2026 20:17:25 GMT",
"timestamp": 1782850575,
"description": "Rotated TEE signers.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TEEProverRegistry (eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA) [base/TEEProverRegistry] {\n +++ description: Registry of authorized TEE enclave signers and proposer addresses used by the TEEVerifier. Owner can add or remove allowlisted proposers via setProposer (onlyOwner) and set the AggregateVerifier game type lookup. Owner and Manager can register or deregister enclave signers via registerSigner / deregisterSigner. Registration requires a Risc0 ZK proof of a valid AWS Nitro attestation document verified by the NITRO_VERIFIER.\n+++ severity: LOW\n values.getRegisteredSigners.0:\n- \"eth:0xBb82fe2b294F7a9F74aF2ad32DF3B2d61abd4BEC\"\n+ \"eth:0xCD5C52b857A8E4B3883997b856b730D76938B38C\"\n+++ severity: LOW\n values.getRegisteredSigners.1:\n- \"eth:0x1A095fE4895D142955c36F958be2a9e53c41224f\"\n+ \"eth:0x0BcBdab1Adf24461682e9DE37AFc0548C462ca10\"\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract 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```"
}
]
},
{
"id": "b1cb7b1f",
"date": "Thu, 25 Jun 2026 10:11:05 GMT",
"timestamp": 1782377394,
"description": "Base Beryll upgrade: https://x.com/buildonbase/status/2067693904909189141.\n\nReduced optimistic path finalization 7d -> 5d: https://disco.l2beat.com/diff/eth:0xeEcb8A5944B217585817E802702b1262a049D259/eth:0x1bd8db5139Ba7aC9277684650c15e6E341761919.\n\nAlso deployed a new AggregateVerifier with new program hashes and upgraded the TEE Image hash. All programs are reproduced.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TEEProverRegistry (eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA) [base/TEEProverRegistry] {\n +++ description: Registry of authorized TEE enclave signers and proposer addresses used by the TEEVerifier. Owner can add or remove allowlisted proposers via setProposer (onlyOwner) and set the AggregateVerifier game type lookup. Owner and Manager can register or deregister enclave signers via registerSigner / deregisterSigner. Registration requires a Risc0 ZK proof of a valid AWS Nitro attestation document verified by the NITRO_VERIFIER.\n+++ severity: HIGH\n values.getExpectedImageHash:\n- \"0xc9536fb5b1387f30d16f6b95a5a26de352f8056866482bca632f7219896ea74c\"\n+ \"0x58557c709e93357a135041297107aecc4bc6ba616509098a4aa8dbef774d212a\"\n+++ severity: LOW\n values.getRegisteredSigners.0:\n- \"eth:0x8a2B99252bad63813e704237Bf2A40A6a4cEBda9\"\n+ \"eth:0xBb82fe2b294F7a9F74aF2ad32DF3B2d61abd4BEC\"\n+++ severity: LOW\n values.getRegisteredSigners.1:\n- \"eth:0xf3aef21F74AD989812D066ad3e51b986ED312875\"\n+ \"eth:0x1A095fE4895D142955c36F958be2a9e53c41224f\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e) [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+++ severity: HIGH\n values.game621:\n- \"eth:0xeEcb8A5944B217585817E802702b1262a049D259\"\n+ \"eth:0x1bd8db5139Ba7aC9277684650c15e6E341761919\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AggregateVerifier (eth:0xeEcb8A5944B217585817E802702b1262a049D259) [opstack/AggregateVerifier]\n +++ description: Game type implementation that combines a TEE attestation arm and a ZK proof arm. A single un-nullified proof of either type can resolve a game (PROOF_THRESHOLD = 1). When both arms commit, the finalization window collapses from SLOW_FINALIZATION_DELAY (7d) to FAST_FINALIZATION_DELAY (1d).\n```\n\n```diff\n+ Status: CREATED\n contract AggregateVerifier (eth:0x1bd8db5139Ba7aC9277684650c15e6E341761919) [opstack/AggregateVerifier]\n +++ description: Game type implementation that combines a TEE attestation arm and a ZK proof arm. A single un-nullified proof of either type can resolve a game (PROOF_THRESHOLD = 1). When both arms commit, the finalization window collapses from SLOW_FINALIZATION_DELAY (5d) to FAST_FINALIZATION_DELAY (1d).\n```"
}
]
},
{
"id": "64fc3ef2",
"date": "Tue, 23 Jun 2026 10:15:42 GMT",
"timestamp": 1782209652,
"description": "FeeDisburser admin rotated. Not security critical.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract FeeDisburser (base:0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA) [opstack/Layer2/FeeDisburser] {\n +++ description: Contract used to disburse funds from system FeeVault contracts, shares revenue with Optimism and bridges the rest of funds to L1.\n values.$admin:\n- \"base:0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221\"\n+ \"base:0xa966054731540a48b28990b63Dcf4f33d8aE57B2\"\n }\n```"
}
]
},
{
"id": "60a6f87b",
"date": "Wed, 10 Jun 2026 15:33:22 GMT",
"timestamp": 1781105531,
"description": "Rotated TEE signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TEEProverRegistry (eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA) [base/TEEProverRegistry] {\n +++ description: Registry of authorized TEE enclave signers and proposer addresses used by the TEEVerifier. Owner can add or remove allowlisted proposers via setProposer (onlyOwner) and set the AggregateVerifier game type lookup. Owner and Manager can register or deregister enclave signers via registerSigner / deregisterSigner. Registration requires a Risc0 ZK proof of a valid AWS Nitro attestation document verified by the NITRO_VERIFIER.\n+++ severity: LOW\n values.getRegisteredSigners.0:\n- \"eth:0xBeF9176fa15489735Cc8B1ddD97E53b4a656287e\"\n+ \"eth:0x8a2B99252bad63813e704237Bf2A40A6a4cEBda9\"\n+++ severity: LOW\n values.getRegisteredSigners.1:\n- \"eth:0xB830004297a91c10ed7428f462FCf0cc5073e9A2\"\n+ \"eth:0xf3aef21F74AD989812D066ad3e51b986ED312875\"\n }\n```"
}
]
},
{
"id": "f29c9c71",
"date": "Mon, 08 Jun 2026 13:24:24 GMT",
"timestamp": 1780924988,
"description": "Rotated TEE signer.",
"isHighSeverity": true,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TEEProverRegistry (eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA) [base/TEEProverRegistry] {\n +++ description: Registry of authorized TEE enclave signers and proposer addresses used by the TEEVerifier. Owner can add or remove allowlisted proposers via setProposer (onlyOwner) and set the AggregateVerifier game type lookup. Owner and Manager can register or deregister enclave signers via registerSigner / deregisterSigner. Registration requires a Risc0 ZK proof of a valid AWS Nitro attestation document verified by the NITRO_VERIFIER.\n+++ severity: HIGH\n values.getRegisteredSigners.0:\n- \"eth:0xA200e289262F76dD422f688e65C453F5aeF7709B\"\n+++ severity: HIGH\n values.getRegisteredSigners.1:\n+ \"eth:0xB830004297a91c10ed7428f462FCf0cc5073e9A2\"\n }\n```"
}
]
},
{
"id": "fbd3a7a8",
"date": "Fri, 05 Jun 2026 13:55:04 GMT",
"timestamp": 1780667635,
"description": "Rotated TEE signer.",
"isHighSeverity": true,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TEEProverRegistry (eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA) [base/TEEProverRegistry] {\n +++ description: Registry of authorized TEE enclave signers and proposer addresses used by the TEEVerifier. Owner can add or remove allowlisted proposers via setProposer (onlyOwner) and set the AggregateVerifier game type lookup. Owner and Manager can register or deregister enclave signers via registerSigner / deregisterSigner. Registration requires a Risc0 ZK proof of a valid AWS Nitro attestation document verified by the NITRO_VERIFIER.\n+++ severity: HIGH\n values.getRegisteredSigners.0:\n- \"eth:0xA4F50DA2549C7E79C175a1359e7DAa97139Dd611\"\n+++ severity: HIGH\n values.getRegisteredSigners.1:\n+ \"eth:0xBeF9176fa15489735Cc8B1ddD97E53b4a656287e\"\n }\n```"
}
]
},
{
"id": "d1275fe3",
"date": "Fri, 05 Jun 2026 09:21:41 GMT",
"timestamp": 1780473821,
"description": "Azul multiproof activated: state validation now combines a TEE attestation arm and an SP1 ZK proof arm, either un-nullified proof resolves a game.\n\n`OptimismPortal2` impl `0x97cEbbf8` → `0x66d94eE8`. `proofMaturityDelaySeconds` 604800 (7d) → 86400 (1d); `disputeGameFinalityDelaySeconds` 302400 (3.5d) → 0; `respectedGameType` 0 → 621 (now read from AnchorStateRegistry). https://disco.l2beat.com/diff/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B/eth:0x66d94eE8F529b683ED6013729784e8bb44697A64\n\n`DisputeGameFactory` impl `0xc040F392` → `0x468C2345`. https://disco.l2beat.com/diff/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c/eth:0x468C2345D1d409d5b0F2f8bE4aE2082150cC1a0c\n\n`AnchorStateRegistry` (0x909f6cf4) impl `0x36398155` → `0x4483F964`. Now stores `respectedGameType` (621) and `retirementTimestamp` (1779825599); legacy `vmFromGame`, `wethFromGame`, `oracleFromVm`, `challengePeriodFromOracle`, `absolutePrestateFromGame` removed. https://disco.l2beat.com/diff/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5/eth:0x4483F964F6711Cb55f633820ED174E780369b99D\n\nGame type 621 = AggregateVerifier `0xeEcb8A5944…D259` v0.1.0, bond 0.05 ETH. `TEE_VERIFIER=0x1FbA0C57…2228` v0.2.0, `ZK_VERIFIER=0xB88D95bDf…9B75` v0.1.0 → `SP1VerifierGateway=0xdc32E22863…C106` → SP1 v6.1.0 `0xb69f2584…f4e2`. `DELAYED_WETH=0xd0D07924…EF71`, `SLOW_FINALIZATION_DELAY=7d`, `FAST_FINALIZATION_DELAY=1d`, `PROOF_THRESHOLD=1`.\n\nGame types registered on the new factory: 1 = `0x58bf355C` (PermissionedDisputeGame v2.2.0, fallback), 621 = AggregateVerifier (respected). All other types empty.\n\n`ProxyAdmin` upgrade rights moved from deleted DelayedWETHs to new `DelayedWETH_PermissionlessGames` and second ASR. `Base Governance Multisig` gained emergency-withdraw on `DelayedWETH_PermissionlessGames`.",
"isHighSeverity": true,
"changeCount": 90,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.2.from:\n- \"eth:0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec\"\n+ \"eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA\"\n directlyReceivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xd0D07924AdD740a87e41Ca8A0d4CBBf6b074EF71\",\"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- Status: DELETED\n contract DelayedWETH (eth:0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec) [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:0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e) [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+ \"0x780eaf9d8daa77c3325b79e5f3467c1bd8eec57b5d7e84651bdf2d24754d6838\"\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:0x468C2345D1d409d5b0F2f8bE4aE2082150cC1a0c\"\n values.$pastUpgrades.5:\n+ [\"2026-05-26T19:59:59.000Z\",\"0x75b1c9b2090ba2b311d6be08c319340b87dc1aabfae2505d126e7a0f1fc6b11c\",[\"eth:0x468C2345D1d409d5b0F2f8bE4aE2082150cC1a0c\"]]\n values.$upgradeCount:\n- 5\n+ 6\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+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0xeEcb8A5944B217585817E802702b1262a049D259\"\n values.initBondGame0:\n+ \"80000000000000000\"\n values.initBondGame1:\n+ \"80000000000000000\"\n values.initBondGame621:\n+ \"50000000000000000\"\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 implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x468C2345D1d409d5b0F2f8bE4aE2082150cC1a0c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x49048044D57e1C92A77f79988d21Fa8fAF74E97e) [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 AggregateVerifier.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0x247eac30dea3a06b4a7142ac53d0b9ad882952c87406f165ec8721b0d97bd6da\"\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 AggregateVerifier.\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0x66d94eE8F529b683ED6013729784e8bb44697A64\"\n values.$pastUpgrades.10:\n+ [\"2026-05-26T19:59:59.000Z\",\"0x75b1c9b2090ba2b311d6be08c319340b87dc1aabfae2505d126e7a0f1fc6b11c\",[\"eth:0x66d94eE8F529b683ED6013729784e8bb44697A64\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.disputeGameFinalityDelaySeconds:\n- 302400\n+ 0\n values.proofMaturityDelaySeconds:\n- 604800\n+ 86400\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n+ \"AggregateVerifier\"\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 621\n values.respectedGameTypeUpdatedAt:\n- 1759862579\n+ 1779825599\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0x66d94eE8F529b683ED6013729784e8bb44697A64:\n+ \"OptimismPortal2\"\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 Base Governance Multisig (eth:0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c) [GnosisSafe] {\n +++ description: None\n receivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xdc32E228636273285Befa5F001dBB5142517C106\",\"description\":\"affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes.\",\"role\":\".owner\"}\n receivedPermissions.3.from:\n- \"eth:0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec\"\n+ \"eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA\"\n receivedPermissions.14:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xd0D07924AdD740a87e41Ca8A0d4CBBf6b074EF71\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]}\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x909f6cf47ed12f010A796527f562bFc26C7F4E72) [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+ \"0x9340bfba7b4bbba23fe6fc74f5da06cee233a4745de93049330a76ef3ce23972\"\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:0x4483F964F6711Cb55f633820ED174E780369b99D\"\n values.$pastUpgrades.2:\n+ [\"2026-05-26T19:59:59.000Z\",\"0x75b1c9b2090ba2b311d6be08c319340b87dc1aabfae2505d126e7a0f1fc6b11c\",[\"eth:0x4483F964F6711Cb55f633820ED174E780369b99D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n+++ severity: HIGH\n values.disputeGameFinalityDelaySeconds:\n- 302400\n+ 0\n values.getStartingAnchorRoot.root:\n- \"0x9a37fe32cd2b49385bec0236b7b5c2177e71176bb306d19a49a8a77651ce2cd0\"\n+ \"0xc34c9f98b74b2fb85a516e302f86bc9bedcf5623ab078a671d40beac0e120329\"\n values.getStartingAnchorRoot.l2SequenceNumber:\n- 36233266\n+ 46302960\n values.initVersion:\n- 1\n+ 2\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n+ \"AggregateVerifier\"\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 621\n+++ severity: HIGH\n values.retirementTimestamp:\n- 1759862579\n+ 1779825599\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x4483F964F6711Cb55f633820ED174E780369b99D:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract HistoryStorage (eth:0x0000F90827F1C53a10cb7A02335B175320002935) [N/A]\n +++ description: EIP-2935 system contract storing the last 8191 L1 blockhashes. Bytecode is canonical to the EIP, deployed at the same address across networks.\n```\n\n```diff\n+ Status: CREATED\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) [global/TimelockController]\n +++ description: A timelock with access control. The current minimum delay is 3d.\n```\n\n```diff\n+ Status: CREATED\n contract TEEProverRegistry (eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA) [base/TEEProverRegistry]\n +++ description: Registry of authorized TEE enclave signers and proposer addresses used by the TEEVerifier. Owner can add or remove allowlisted proposers via setProposer (onlyOwner) and set the AggregateVerifier game type lookup. Owner and Manager can register or deregister enclave signers via registerSigner / deregisterSigner. Registration requires a Risc0 ZK proof of a valid AWS Nitro attestation document verified by the NITRO_VERIFIER.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x1efDd13f831ceeEa14940806705A53D3211CD698) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract TEEVerifier (eth:0x1FbA0C57b07Af804A9717e51dec9CC27FBC12228) [base/TEEVerifier]\n +++ description: Stateless verifier that validates AggregateVerifier TEE proofs by recovering an ECDSA signature over the journal and checking the recovered signer against TEEProverRegistry. Enforces PCR0 match by comparing the signer's registered image hash to the AggregateVerifier's TEE_IMAGE_HASH. Can be permanently nullified by a successful AggregateVerifier.nullify call.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 3.0.0).\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroSetVerifier (eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85) [risc0/RiscZeroSetVerifier]\n +++ description: Set verifier contract for RISC Zero proofs (version 0.9.0). It allows verifying a whole set of proofs identified with a Merkle root at once, afterwards each individual proof could be efficiently verified just by checking Merkle inclusion against the verified root.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract NitroEnclaveVerifier (eth:0x7F3a16E1fe6Fda64c5AC4296E13ECB9F7B44F6fb) [base/NitroEnclaveVerifier]\n +++ description: ZK-based verifier of AWS Nitro Enclave attestation documents. Used by TEEProverRegistry to validate new enclave signer registrations against the AWS Nitro PKI.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierRouter (eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319) [risc0/RiscZeroVerifierRouter]\n +++ description: A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711).\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0xb69f2584CBcFf99a58C4e7002E8b89Af54a6f4e2) [succinct/SP1Verifier]\n +++ description: Verifier contract for SP1 proofs (v6.1.0).\n```\n\n```diff\n+ Status: CREATED\n contract ZkVerifier (eth:0xB88D95bDf6972508942d184866890c1834219B75) [base/ZkVerifier]\n +++ description: Thin router that forwards SP1 ZK proof verification from the AggregateVerifier game to the SP1 verifier gateway. Can be permanently nullified by a successful AggregateVerifier.nullify call.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xd0D07924AdD740a87e41Ca8A0d4CBBf6b074EF71) [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 RiscZeroVerifierEmergencyStop (eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGateway (eth:0xdc32E228636273285Befa5F001dBB5142517C106) [succinct/SP1VerifierGateway]\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 contract AggregateVerifier (eth:0xeEcb8A5944B217585817E802702b1262a049D259) [opstack/AggregateVerifier]\n +++ description: Game type implementation that combines a TEE attestation arm and a ZK proof arm. A single un-nullified proof of either type can resolve a game (PROOF_THRESHOLD = 1). When both arms commit, the finalization window collapses from SLOW_FINALIZATION_DELAY (7d) to FAST_FINALIZATION_DELAY (1d).\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C) [N/A]\n +++ description: None\n```"
}
]
},
{
"id": "ce0447e6",
"date": "Wed, 20 May 2026 10:24:31 GMT",
"timestamp": 1779198836,
"description": "Base Multisig 1: 4 signers swapped (4 added, 4 removed). Threshold unchanged at 3.",
"isHighSeverity": false,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Base Multisig 1 (eth:0x14536667Cd30e52C0b458BaACcB9faDA7046E056) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xD56C6462DC3A943596c7a54d6B0Dba404490E206\"\n values.$members.1:\n+ \"eth:0x8faB0B6b31A0b50A2c3d1FFBE6C0e1125699aE9d\"\n values.$members.2:\n+ \"eth:0x0c1Ea3aCA9fc2cFa3640fec98a3214A849715b43\"\n values.$members.3:\n+ \"eth:0x082Cc00d1031a57d53496aBf6dAD8A6247159452\"\n values.$members.3:\n- \"eth:0x4427683AA1f0ff25ccDC4a5Db83010c1DE9b5fF4\"\n values.$members.4:\n- \"eth:0xA31E1c38d5c37D8ECd0e94C80C0F7FD624d009A3\"\n values.$members.6:\n- \"eth:0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b\"\n values.$members.9:\n- \"eth:0x5468985B560D966dEDEa2DAF493f5756101137DC\"\n }\n```"
}
]
},
{
"id": "f5eadede",
"date": "Wed, 01 Apr 2026 07:37:03 GMT",
"timestamp": 1775028919,
"description": "Gas parameter changes: daFootprintGasScalar increased, eip1559Denominator lowered from 125 to 100 and eip1559Elasticity from 6 to 5 for quicker L2 fee adjustments.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1Block (base:0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n values.daFootprintGasScalar:\n- 139\n+ 148\n }\n```\n\n```diff\n contract SystemConfig (eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.daFootprintGasScalar:\n- 139\n+ 148\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n- 125\n+ 100\n values.eip1559Elasticity:\n- 6\n+ 5\n }\n```"
}
]
},
{
"id": "6886090c",
"date": "Tue, 24 Mar 2026 21:28:34 GMT",
"timestamp": 1774387648,
"description": "FeeDisburser implementation upgraded (base:0xDa70b4cd0Cd8193f665A7D49CeFD5f79F11FCc75 → base:0x72984FeF9c2123eBB66912CeAB9e47C5E9B738e6). The only code change is the version string from `1.0.0` to `1.0.0+fee-vault-withdraw-compat`, indicating compatibility with a new FeeVault withdrawal interface. No functional changes to the contract logic. [Diff](https://disco.l2beat.com/diff/base:0xDa70b4cd0Cd8193f665A7D49CeFD5f79F11FCc75/base:0x72984FeF9c2123eBB66912CeAB9e47C5E9B738e6)",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract FeeDisburser (base:0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA) {\n +++ description: Contract used to disburse funds from system FeeVault contracts, shares revenue with Optimism and bridges the rest of funds to L1.\n sourceHashes.1:\n- \"0x9e4d8a31512b7aaafcbf23f817cbdc9bbe404a0fa262aaf98220120c52fde7cb\"\n+ \"0x3191b674fc342aed9eded2ad3c79eead2fb38e8a2b0589a8ec5058dadfe2d5be\"\n values.$implementation:\n- \"base:0xDa70b4cd0Cd8193f665A7D49CeFD5f79F11FCc75\"\n+ \"base:0x72984FeF9c2123eBB66912CeAB9e47C5E9B738e6\"\n values.$pastUpgrades.2:\n+ [\"2026-03-13T21:06:31.000Z\",\"0x68c2a1b66361dcb9ec2f8b1fe26ae275021b6d78751d0577fc0bd410dfd47518\",[\"base:0x72984FeF9c2123eBB66912CeAB9e47C5E9B738e6\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.0.0\"\n+ \"1.0.0+fee-vault-withdraw-compat\"\n implementationNames.base:0xDa70b4cd0Cd8193f665A7D49CeFD5f79F11FCc75:\n- \"FeeDisburser\"\n implementationNames.base:0x72984FeF9c2123eBB66912CeAB9e47C5E9B738e6:\n+ \"FeeDisburser\"\n }\n```"
}
]
},
{
"id": "91b4eeeb",
"date": "Wed, 04 Mar 2026 20:35:16 GMT",
"timestamp": 1772656450,
"description": "Base decouples from the shared Optimism SuperchainConfig (`0x95703e...`) and deploys its own SuperchainConfig v2.5.0 at `0xb535ff7F118260a952CE65e7fF41B1743De8EE6c`. Compared to the previous v2.4.0, the new version adds an immutable incident responder role (Base Multisig 1) and makes the guardian immutable in the constructor. All L1 contracts (OptimismPortal2, L1StandardBridge, L1ERC721Bridge, L1CrossDomainMessenger, AnchorStateRegistry, DelayedWETH x2) now reference the new SuperchainConfig.\n\nGuardian changed from Optimism Guardian Multisig (`0x09f7150D...`) to Base Governance Multisig (`0x7bB41C3...`). All Optimism shared governance contracts removed from discovery scope (SuperchainProxyAdmin, SuperchainProxyAdminOwner, OpFoundationUpgradeSafe, OpFoundationOperationsSafe, Optimism Security Council, LivenessModule, LivenessGuard, DeputyPauseModule, SaferSafes).\n\nSystemConfig upgraded from v3.13.1 to v3.13.2 — implementation change is only a ReinitializableBase version bump from 3 to 4. The reinit sets new runtime values (guardian, superchainConfig now point to Base's own contracts). [Diff](https://disco.l2beat.com/diff/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2/eth:0x0507Aaa21c678976FCdC7e804836ACd6ebc17a44)\n\nFeeDisburser upgraded (impl `0x45969D...` → `0xDa70b4...`), removing on-chain Optimism revenue sharing (previously 2.5% gross / 15% net to OPTIMISM_WALLET). Now bridges 100% of collected fees to L1_WALLET. Revenue sharing likely moved off-chain or to a different mechanism. [Diff](https://disco.l2beat.com/diff/base:0x45969D00739d518f0Dde41920B67cE30395135A0/base:0xDa70b4cd0Cd8193f665A7D49CeFD5f79F11FCc75)\n\nPause mechanics: the Incident Responder (Base Multisig 1, 3/13) can trigger a single pause lasting up to 3 months. It cannot unpause, extend, or re-pause after expiry — only the Guardian (Base Governance Multisig, 2/2) can do that. The Guardian can extend pauses indefinitely. This prevents the operator from permanently censoring withdrawals without Security Council approval.\n\nBase Security Council threshold increased from 7/10 to 8/11 (new member added). The upgrade path changed from 3 parties (Coordinator + SC + OP Foundation) to 2 parties (Coordinator 3/6 + SC 8/11), with an effective entity-level quorum of 9/12 (75%). The Coordinator Multisig absorbed the old Base Multisig 2 members directly (same 6 EOAs) and the OP Foundation was removed as a signer on the Governance Multisig.",
"isHighSeverity": true,
"changeCount": 61,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract FeeDisburser (base:0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA) {\n +++ description: Contract used to disburse funds from system FeeVault contracts, shares revenue with Optimism and bridges the rest of funds to L1.\n sourceHashes.1:\n- \"0x62c0410a08a90b339fd9d345a563e2f93aa3afb72082cb32c23ab6dee23706ed\"\n+ \"0x9e4d8a31512b7aaafcbf23f817cbdc9bbe404a0fa262aaf98220120c52fde7cb\"\n values.$implementation:\n- \"base:0x45969D00739d518f0Dde41920B67cE30395135A0\"\n+ \"base:0xDa70b4cd0Cd8193f665A7D49CeFD5f79F11FCc75\"\n values.$pastUpgrades.1:\n+ [\"2026-03-03T17:36:17.000Z\",\"0x055b31e8fb8689e5e72d9c41c1c38b5a165fd145aa76bf118194f86a066d0650\",[\"base:0xDa70b4cd0Cd8193f665A7D49CeFD5f79F11FCc75\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.BASIS_POINT_SCALE:\n- 10000\n values.OPTIMISM_GROSS_REVENUE_SHARE_BASIS_POINTS:\n- 250\n values.OPTIMISM_NET_REVENUE_SHARE_BASIS_POINTS:\n- 1500\n values.OPTIMISM_WALLET:\n- \"base:0x9c3631dDE5c8316bE5B7554B0CcD2631C15a9A05\"\n values.version:\n+ \"1.0.0\"\n implementationNames.base:0x45969D00739d518f0Dde41920B67cE30395135A0:\n- \"FeeDisburser\"\n implementationNames.base:0xDa70b4cd0Cd8193f665A7D49CeFD5f79F11FCc75:\n+ \"FeeDisburser\"\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafeL2 (base:0x9c3631dDE5c8316bE5B7554B0CcD2631C15a9A05)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\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 contract ProxyAdmin (eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E) {\n +++ description: None\n directlyReceivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract Optimism Guardian Multisig (eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n contract Base Multisig 1 (eth:0x14536667Cd30e52C0b458BaACcB9faDA7046E056) {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"guard\",\"from\":\"eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c\",\"role\":\".INCIDENT_RESPONDER\"}\n }\n```\n\n```diff\n contract Base Security Council (eth:0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xbDE1845c879942fC326F247Ad708677733Dd5594\"\n values.$threshold:\n- 7\n+ 8\n values.multisigThreshold:\n- \"7 of 10 (70%)\"\n+ \"8 of 11 (73%)\"\n }\n```\n\n```diff\n- Status: DELETED\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 contract DelayedWETH (eth:0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec) {\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.config:\n- \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x3154Cf16ccdb4C6d922629664174b904d80F2C35) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n values.superchainConfig:\n- \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c\"\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OptimismPortal2 (eth:0x49048044D57e1C92A77f79988d21Fa8fAF74E97e) {\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 values.guardian:\n- \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n+ \"eth:0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\"\n values.superchainConfig:\n- \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SuperchainProxyAdmin (eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x608d94945A64503E642E6370Ec598e519a2C1E53) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.superchainConfig:\n- \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c\"\n }\n```\n\n```diff\n contract DelayedWETH (eth:0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D) {\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.config:\n- \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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- \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n+ \"0xe6e96ed1643d7aa0bde96b58e278bd6716600479c36623c8cbca4da634304c97\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x0507Aaa21c678976FCdC7e804836ACd6ebc17a44\"\n values.$pastUpgrades.14:\n+ [\"2026-03-03T17:30:59.000Z\",\"0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb\",[\"eth:0x0507Aaa21c678976FCdC7e804836ACd6ebc17a44\"]]\n values.$upgradeCount:\n- 14\n+ 15\n values.guardian:\n- \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n+ \"eth:0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\"\n values.initVersion:\n- 3\n+ 4\n values.superchainConfig:\n- \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c\"\n values.version:\n- \"3.13.1\"\n+ \"3.13.2\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x0507Aaa21c678976FCdC7e804836ACd6ebc17a44:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\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 contract Base Governance Multisig (eth:0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c) {\n +++ description: None\n values.$members.1:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"eth:0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd\"\n receivedPermissions.0:\n+ {\"permission\":\"guard\",\"from\":\"eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c\",\"role\":\".guardian\"}\n receivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x866E82a600A1414e583f7F13623F1aC5d58b0Afa) {\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.superchainConfig:\n- \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x909f6cf47ed12f010A796527f562bFc26C7F4E72) {\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.superchainConfig:\n- \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c\"\n }\n```\n\n```diff\n- Status: DELETED\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 contract Base Coordinator Multisig (eth:0x9855054731540A48b28990B63DcF4f33d8AE46A1) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c\"\n values.$members.1:\n+ \"eth:0xB011a32ED8b4F70D9943A2199F539bbeCd7b62F7\"\n values.$members.2:\n+ \"eth:0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E\"\n values.$members.3:\n+ \"eth:0x1c870776B168A9ffAE80c51f050C611eDd246741\"\n values.$members.0:\n- \"eth:0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd\"\n+ \"eth:0x3cd692eCE8b6573A2220ae00d0dEb98f0DfFA9a1\"\n values.$members.1:\n- \"eth:0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110\"\n+ \"eth:0x6CD3850756b7894774Ab715D136F9dD02837De50\"\n values.$threshold:\n- 2\n+ 3\n values.multisigThreshold:\n- \"2 of 2 (100%)\"\n+ \"3 of 6 (50%)\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract Base Multisig 2 (eth:0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\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```\n\n```diff\n- Status: DELETED\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\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```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c)\n +++ description: Base's own SuperchainConfig, used to manage pause states for the Base chain. The guardian and incident responder roles are immutable and set at construction time. The guardian can pause, unpause, and extend pauses, while the incident responder can only pause. Each pause automatically expires after 3 months.\n```"
}
]
},
{
"id": "442ac13e",
"date": "Fri, 27 Feb 2026 13:20:57 GMT",
"timestamp": 1772198381,
"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": "33666871",
"date": "Mon, 23 Feb 2026 14:40:22 GMT",
"timestamp": 1771857552,
"description": "SystemConfig minBaseFee increased from 2,000,000 to 5,000,000 (2.5x increase).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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- 2000000\n+ 5000000\n }\n```"
}
]
},
{
"id": "77392bfd",
"date": "Fri, 13 Feb 2026 14:50:21 GMT",
"timestamp": 1770994155,
"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 OptimismMintableERC20Factory (eth:0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84) {\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.5:\n+ [\"2026-02-10T16:49:59.000Z\",\"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 5\n+ 6\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e) {\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.4:\n+ [\"2026-02-10T16:49:59.000Z\",\"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x8Ca1E12404d16373Aef756179B185F27b2994F3a\"\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x979Cb7E329bA213fB9d6c5F7771eC6a3109BDC93\"\n+ \"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x6f8c1Ea88CB410571739d36EB00811B250574cB2\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x642229f238fb9dE03374Be34B0eD8D9De80752c5\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x49048044D57e1C92A77f79988d21Fa8fAF74E97e) {\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.9:\n+ [\"2026-02-10T16:49:59.000Z\",\"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 9\n+ 10\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 L1ERC721Bridge (eth:0x608d94945A64503E642E6370Ec598e519a2C1E53) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.7:\n+ [\"2026-02-10T16:49:59.000Z\",\"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 7\n+ 8\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x6f8c1Ea88CB410571739d36EB00811B250574cB2)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SystemConfig (eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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.13:\n+ [\"2026-02-10T16:49:59.000Z\",\"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 13\n+ 14\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 L1CrossDomainMessenger (eth:0x866E82a600A1414e583f7F13623F1aC5d58b0Afa) {\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.8:\n+ [\"2026-02-10T16:49:59.000Z\",\"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 8\n+ 9\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x909f6cf47ed12f010A796527f562bFc26C7F4E72) {\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.1:\n+ [\"2026-02-10T16:49:59.000Z\",\"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",[\"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\":\"0x9a37fe32cd2b49385bec0236b7b5c2177e71176bb306d19a49a8a77651ce2cd0\",\"l2SequenceNumber\":36233266}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x979Cb7E329bA213fB9d6c5F7771eC6a3109BDC93)\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: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": "1359343b",
"date": "Thu, 05 Feb 2026 22:18:56 GMT",
"timestamp": 1770329869,
"description": "SystemConfig EIP-1559 parameter update: `eip1559Denominator` increased from 50 to 125 (2.5x) and `minBaseFee` doubled from 1000000 to 2000000. The higher denominator means slower/smoother fee adjustments on L2, while the higher minimum base fee sets a new floor for transaction costs.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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- 50\n+ 125\n values.minBaseFee:\n- 1000000\n+ 2000000\n }\n```"
}
]
},
{
"id": "47a1c68b",
"date": "Mon, 26 Jan 2026 09:08:14 GMT",
"timestamp": 1769272127,
"description": "Gas parameter changes (daFootprintGasScalar, minBaseFee) on SystemConfig. GnosisSafe member rotation in base FeeDisburser admin. SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1Block (base:0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n values.daFootprintGasScalar:\n- 325\n+ 139\n }\n```\n\n```diff\n contract GnosisSafeL2 (base:0x9c3631dDE5c8316bE5B7554B0CcD2631C15a9A05) {\n +++ description: None\n values.$members.1:\n- \"base:0x4d494C5F61b60752D3A10062276a0eFC22596151\"\n+ \"base:0xe4149Acb6F5DA74b760a1007F05FB5514F3351ea\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.daFootprintGasScalar:\n- 325\n+ 139\n values.minBaseFee:\n- 500000\n+ 1000000\n }\n```\n\n```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": "62f028e9",
"date": "Mon, 22 Dec 2025 12:18:06 GMT",
"timestamp": 1766405804,
"description": "fee market config changes.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1Block (base:0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n values.daFootprintGasScalar:\n- 312\n+ 325\n }\n```\n\n```diff\n contract SystemConfig (eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.daFootprintGasScalar:\n- 312\n+ 325\n values.eip1559Elasticity:\n- 5\n+ 6\n values.minBaseFee:\n- 200000\n+ 500000\n }\n```"
}
]
},
{
"id": "1c45bb96",
"date": "Thu, 18 Dec 2025 08:55:12 GMT",
"timestamp": 1766048031,
"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": "3e186ad9",
"date": "Wed, 10 Dec 2025 09:26:38 GMT",
"timestamp": 1765358732,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\nStarting 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\nL1Block - setL1BlockValuesJovian() that introduces daFootprintGasScalar (400 default value)\nhttps://disco.l2beat.com/diff/base:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12/base:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\n\nAlready templatized (minimal diff):\n\nOptimismMintableERC20Factory\nhttps://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\n\nL1StandardBridge\nhttps://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\n\nDisputeGameFactory\nhttps://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\n\nOptimismPortal2\nhttps://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\n\nL1ERC721Bridge\nhttps://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\n\nSystemConfig\nhttps://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\n\nL1CrossDomainMessenger\nhttps://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0",
"isHighSeverity": true,
"changeCount": 67,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1Block (base: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- \"base:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n+ \"base:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n values.$pastUpgrades.2:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a\",[\"base:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.6.0\"\n+ \"1.7.0\"\n values.daFootprintGasScalar:\n+ 312\n implementationNames.base:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n- \"L1Block\"\n implementationNames.base:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n+ \"L1Block\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84) {\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.4:\n+ [\"2025-12-01T15:58:23.000Z\",\"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 4\n+ 5\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- 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 L1StandardBridge (eth:0x3154Cf16ccdb4C6d922629664174b904d80F2C35) {\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 DisputeGameFactory (eth:0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e) {\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+ [\"2025-12-01T15:58:23.000Z\",\"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0xe4066890367BF8A51d58377431808083A01b1E0c\"\n+ \"eth:0x979Cb7E329bA213fB9d6c5F7771eC6a3109BDC93\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec\"\n+ \"eth:0x6f8c1Ea88CB410571739d36EB00811B250574cB2\"\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:0x49048044D57e1C92A77f79988d21Fa8fAF74E97e) {\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.8:\n+ [\"2025-12-01T15:58:23.000Z\",\"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 8\n+ 9\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 L1ERC721Bridge (eth:0x608d94945A64503E642E6370Ec598e519a2C1E53) {\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+ [\"2025-12-01T15:58:23.000Z\",\"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",[\"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:0x642229f238fb9dE03374Be34B0eD8D9De80752c5) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec\"\n+ \"eth:0x6f8c1Ea88CB410571739d36EB00811B250574cB2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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.12:\n+ [\"2025-12-01T15:58:23.000Z\",\"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 312\n values.minBaseFee:\n+ 200000\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x866E82a600A1414e583f7F13623F1aC5d58b0Afa) {\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.7:\n+ [\"2025-12-01T15:58:23.000Z\",\"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 7\n+ 8\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:0x8Ca1E12404d16373Aef756179B185F27b2994F3a) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec\"\n+ \"eth:0x6f8c1Ea88CB410571739d36EB00811B250574cB2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec)\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:0xe4066890367BF8A51d58377431808083A01b1E0c)\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:0x6f8c1Ea88CB410571739d36EB00811B250574cB2)\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:0x979Cb7E329bA213fB9d6c5F7771eC6a3109BDC93)\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": "8db6dd6e",
"date": "Fri, 28 Nov 2025 09:43:20 GMT",
"timestamp": 1764322933,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400 is deployed, but base only upgrades the SuperchainConfi with minimal diff.",
"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": "ac020ee7",
"date": "Mon, 17 Nov 2025 11:23:19 GMT",
"timestamp": 1763378474,
"description": "Increase in EIP-1559 elasticity (from 4 to 5), meaning that in periods of high demand the block can expand up to 5x the block gas target, and block gas target is now gasLimit/5.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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+ 5\n }\n```"
}
]
},
{
"id": "97c66d15",
"date": "Wed, 29 Oct 2025 17:06:08 GMT",
"timestamp": 1761757489,
"description": "msig changes.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Base Multisig 1 (eth:0x14536667Cd30e52C0b458BaACcB9faDA7046E056) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x1841CB3C2ce6870D0417844C817849da64E6e937\"\n values.$members.1:\n+ \"eth:0x5B154B8587168CB984Ff610F5De74289D8f68874\"\n values.$members.3:\n- \"eth:0x9bF96DCf51959915c8c343a3E50820Ad069A1859\"\n values.$members.10:\n- \"eth:0x73565876170a336Fa02fDe34EeD03E3121f70bA6\"\n values.$members.11:\n- \"eth:0x92B79E6C995Ee8B267EC1Ac2743D1c1fBFFFc447\"\n values.multisigThreshold:\n- \"3 of 14 (21%)\"\n+ \"3 of 13 (23%)\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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- 3\n+ 4\n }\n```"
}
]
},
{
"id": "c53336d7",
"date": "Mon, 20 Oct 2025 15:11:35 GMT",
"timestamp": 1760973016,
"description": "Optimism wallet for fee collection changed threshold 67%->60%.\nOp foundation multisig member change.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GnosisSafeL2 (base:0x9c3631dDE5c8316bE5B7554B0CcD2631C15a9A05) {\n +++ description: None\n values.$members.0:\n+ \"base:0x23d85C88792454DcCffD460bC06C349A21aDb102\"\n values.$members.1:\n+ \"base:0x4d494C5F61b60752D3A10062276a0eFC22596151\"\n values.$members.0:\n- \"base:0x1084092Ac2f04c866806CF3d4a385Afa4F6A6C97\"\n+ \"base:0xB2433A0C418Bda24a771489918EF3a7EBC57e24C\"\n values.$threshold:\n- 2\n+ 3\n values.multisigThreshold:\n- \"2 of 3 (67%)\"\n+ \"3 of 5 (60%)\"\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```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "be870638",
"date": "Thu, 09 Oct 2025 07:36:13 GMT",
"timestamp": 1759995304,
"description": "Upgrade to 16/16a contracts.\n\nL1StandardBridge - added SUPERCHAIN_ETH_BRIDGE predeploy address.\nhttps://disco.l2beat.com/diff/eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\n\nDisputeGameFactory - https://disco.l2beat.com/diff/eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\n\ngameImpls 0 - \nhttps://disco.l2beat.com/diff/eth:0xAB91FB6cef84199145133f75cBD96B8a31F184ED/eth:0xe4066890367BF8A51d58377431808083A01b1E0c\n\ngameImpls 1 - https://disco.l2beat.com/diff/eth:0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49/eth:0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec \n\nSystemConfig - https://disco.l2beat.com/diff/eth:0x78FFE9209dFF6Fe1c9B6F3EFdF996BeE60346D0e/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\n\nOptimismPortal2 - https://disco.l2beat.com/diff/eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\n\nL1ERC721Bridge - https://disco.l2beat.com/diff/eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013/eth:0x7f1d12fB2911EB095278085f721e644C1f675696 \n\nL1CrossDomainMessenger - https://disco.l2beat.com/diff/eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6",
"isHighSeverity": true,
"changeCount": 96,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E) {\n +++ description: None\n directlyReceivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec\",\"role\":\"admin\"}\n directlyReceivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x3E8a0B63f57e975c268d610ece93da5f78c01321\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D\",\"role\":\"admin\"}\n directlyReceivedPermissions.10.from:\n- \"eth:0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8\"\n+ \"eth:0x909f6cf47ed12f010A796527f562bFc26C7F4E72\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x3154Cf16ccdb4C6d922629664174b904d80F2C35) {\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:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"\n values.proxyAdminOwner:\n+ \"eth:0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\"\n values.systemConfig:\n+ \"eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH_PermissionedGames (eth:0x3E8a0B63f57e975c268d610ece93da5f78c01321)\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:0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e) {\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-10-07T18:42:59.000Z\",\"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0xAB91FB6cef84199145133f75cBD96B8a31F184ED\"\n+ \"eth:0xe4066890367BF8A51d58377431808083A01b1E0c\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49\"\n+ \"eth:0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"\n values.proxyAdminOwner:\n+ \"eth:0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x49048044D57e1C92A77f79988d21Fa8fAF74E97e) {\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- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n values.$implementation:\n- \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.7:\n+ [\"2025-10-07T18:42:59.000Z\",\"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.respectedGameTypeUpdatedAt:\n- 1730302883\n+ 1759862579\n values.version:\n- \"3.14.0\"\n+ \"5.0.0\"\n values.anchorStateRegistry:\n+ \"eth:0x909f6cf47ed12f010A796527f562bFc26C7F4E72\"\n values.ethLockbox:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"\n values.proxyAdminOwner:\n+ \"eth:0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\"\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7)\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 L1ERC721Bridge (eth:0x608d94945A64503E642E6370Ec598e519a2C1E53) {\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.5:\n+ [\"2025-10-07T18:42:59.000Z\",\"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.4.0\"\n+ \"2.8.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"\n values.proxyAdminOwner:\n+ \"eth:0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\"\n values.systemConfig:\n+ \"eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SystemConfig (eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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- \"0x44a79df61c4e5a48fa30bc46adf51d2a5ac4d98cdd6a6e9a38aef9f6dee96934\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0x78FFE9209dFF6Fe1c9B6F3EFdF996BeE60346D0e\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.11:\n+ [\"2025-10-07T18:42:59.000Z\",\"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 11\n+ 12\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e\"\n values.version:\n- \"2.5.0+max-gas-limit-500M\"\n+ \"3.7.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 3\n values.l2ChainId:\n+ 8453\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"\n values.proxyAdminOwner:\n+ \"eth:0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x78FFE9209dFF6Fe1c9B6F3EFdF996BeE60346D0e:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract Base Governance Multisig (eth:0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x3E8a0B63f57e975c268d610ece93da5f78c01321\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"eth:0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]}\n receivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x3E8a0B63f57e975c268d610ece93da5f78c01321\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]}\n receivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]}\n receivedPermissions.12.from:\n- \"eth:0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8\"\n+ \"eth:0x909f6cf47ed12f010A796527f562bFc26C7F4E72\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x866E82a600A1414e583f7F13623F1aC5d58b0Afa) {\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.6:\n+ [\"2025-10-07T18:42:59.000Z\",\"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"2.6.0\"\n+ \"2.10.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"\n values.proxyAdminOwner:\n+ \"eth:0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\"\n values.systemConfig:\n+ \"eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH_PermissionlessGames (eth:0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8)\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:0xAB91FB6cef84199145133f75cBD96B8a31F184ED)\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 MIPS (eth:0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth: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:0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec)\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:0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D)\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:0x909f6cf47ed12f010A796527f562bFc26C7F4E72)\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 PermissionedDisputeGame (eth:0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec)\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:0xe4066890367BF8A51d58377431808083A01b1E0c)\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": "0b3bf69f",
"date": "Mon, 18 Aug 2025 14:04:38 GMT",
"timestamp": 1755525868,
"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": "36e9aea4",
"date": "Fri, 25 Jul 2025 14:44:38 GMT",
"timestamp": 1753454678,
"description": "Base uses the same SuperchainConfig as OP mainnet, ink, unichain, soneium and swaps the DeputyGuardian Module for the DeputyPauser module in this gov upgrade.\n\nbase is now principally compliant albeit with terrible liveness for the SC.\n\nall other changes from upgrade 16 are not followed by base (see op mainnet diffHistory).",
"isHighSeverity": true,
"changeCount": 29,
"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 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 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": "705fc2c5",
"date": "Tue, 15 Jul 2025 10:05:46 GMT",
"timestamp": 1752573946,
"description": "MS member change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Base Multisig 2 (0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110) {\n +++ description: None\n values.$members.2:\n- \"eth:0x5FbEFA105bbd53b43bf537Cbc5cD30804Dd0c993\"\n+ \"eth:0x1c870776B168A9ffAE80c51f050C611eDd246741\"\n }\n```"
}
]
},
{
"id": "9afb9d68",
"date": "Mon, 14 Jul 2025 12:44:48 GMT",
"timestamp": 1752497088,
"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 FeeDisburser (0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA)\n +++ description: Contract used to disburse funds from system FeeVault contracts, shares revenue with Optimism and bridges the rest of funds to L1.\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 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 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 GnosisSafeL2 (0x9c3631dDE5c8316bE5B7554B0CcD2631C15a9A05)\n +++ description: None\n```"
}
]
},
{
"id": "cc022478",
"date": "Mon, 14 Jul 2025 12:44:48 GMT",
"timestamp": 1752497088,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 37,
"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 ProxyAdmin (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84)\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 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 Base Multisig 1 (0x14536667Cd30e52C0b458BaACcB9faDA7046E056)\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 Base Security Council (0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd)\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 L1StandardBridge (0x3154Cf16ccdb4C6d922629664174b904d80F2C35)\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_PermissionedGames (0x3E8a0B63f57e975c268d610ece93da5f78c01321)\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 DisputeGameFactory (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e)\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 OptimismPortal2 (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e)\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 AnchorStateRegistry (0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7)\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 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 (0x608d94945A64503E642E6370Ec598e519a2C1E53)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49)\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 SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072)\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 Base Governance Multisig (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Escrow (0x7F311a4D48377030bD810395f4CCfC03bdbe9Ef3)\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 OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa)\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 (0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2)\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 (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 Base Coordinator Multisig (0x9855054731540A48b28990B63DcF4f33d8AE46A1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Base Multisig 2 (0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract wstETHEscrow (0x9de443AdC5A411E83F1878Ef24C3F52C61571e72)\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 DelayedWETH_PermissionlessGames (0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8)\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 SkyLink Bridge (0xA5874756416Fa632257eEA380CAbd2E87cED352A)\n +++ description: Custom bridge for USDS and sUSDS managed by Sky governance.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xAB91FB6cef84199145133f75cBD96B8a31F184ED)\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 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 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": "b2e1eb2e",
"date": "Wed, 25 Jun 2025 07:27:27 GMT",
"timestamp": 1750836447,
"description": "Upgrade to new SystemConfig with single line change: maximumGasLimit = 500M (prev 200M, current 150M).",
"isHighSeverity": true,
"changeCount": 22,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0x44a79df61c4e5a48fa30bc46adf51d2a5ac4d98cdd6a6e9a38aef9f6dee96934\"\n values.$implementation:\n- \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"0x78FFE9209dFF6Fe1c9B6F3EFdF996BeE60346D0e\"\n values.$pastUpgrades.10:\n+ [\"2024-12-11T23:00:59.000Z\",\"0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294\",[\"0x45C4e267aE21E90f72C8AbF43ddB5941c953482F\"]]\n values.$pastUpgrades.9.2:\n- \"0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294\"\n+ \"2025-02-04T20:28:47.000Z\"\n values.$pastUpgrades.9.1.0:\n- \"0x45C4e267aE21E90f72C8AbF43ddB5941c953482F\"\n+ \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n values.$pastUpgrades.9.0:\n- \"2024-12-11T23:00:59.000Z\"\n+ \"0x765a2eb3c7eecea5722b120037123eaec9e6ef4b6a53ba2bcfb88ef08fae074b\"\n values.$pastUpgrades.8.2:\n- \"2025-02-04T20:28:47.000Z\"\n+ [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n values.$pastUpgrades.8.1:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2025-02-04T20:28:47.000Z\"\n values.$pastUpgrades.7.2.0:\n- \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"0x6481ff79597Fe4F77E1063f615ec5BDaDDEFfd4B\"\n values.$pastUpgrades.7.1:\n- \"2025-02-04T20:28:47.000Z\"\n+ \"2023-06-15T01:51:47.000Z\"\n values.$pastUpgrades.7.0:\n- \"0x765a2eb3c7eecea5722b120037123eaec9e6ef4b6a53ba2bcfb88ef08fae074b\"\n+ \"0x0a7442e325dac626d8c16a7a052e9a2ee8cd08a5b8c9796228b4d297e20ea3cc\"\n values.$pastUpgrades.6.2.0:\n- \"0x6481ff79597Fe4F77E1063f615ec5BDaDDEFfd4B\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n values.$pastUpgrades.6.1:\n- \"2023-06-15T01:51:47.000Z\"\n+ \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n values.$pastUpgrades.6.0:\n- \"0x0a7442e325dac626d8c16a7a052e9a2ee8cd08a5b8c9796228b4d297e20ea3cc\"\n+ \"2024-06-28T16:32:47.000Z\"\n values.$pastUpgrades.5.2:\n- [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n+ \"0x289aeed24a156bbb3b03cbbe0ef4e5fc873436d41cf50c746cdd380ff26be89b\"\n values.$pastUpgrades.5.1:\n- \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n+ [\"0x78FFE9209dFF6Fe1c9B6F3EFdF996BeE60346D0e\"]\n values.$pastUpgrades.5.0:\n- \"2024-06-28T16:32:47.000Z\"\n+ \"2025-06-24T20:34:47.000Z\"\n values.$upgradeCount:\n- 10\n+ 11\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"2.5.0+max-gas-limit-500M\"\n implementationNames.0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.0x78FFE9209dFF6Fe1c9B6F3EFdF996BeE60346D0e:\n+ \"SystemConfig\"\n }\n```"
}
]
},
{
"id": "20a09d42",
"date": "Fri, 20 Jun 2025 06:58:24 GMT",
"timestamp": 1750402704,
"description": "elasticity +50%.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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- 2\n+ 3\n }\n```"
}
]
},
{
"id": "1bb9fef8",
"date": "Mon, 09 Jun 2025 10:53:58 GMT",
"timestamp": 1749466438,
"description": "FeeDisburser admin moved to EOA.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract FeeDisburser (0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA) {\n +++ description: Contract used to disburse funds from system FeeVault contracts, shares revenue with Optimism and bridges the rest of funds to L1.\n values.$admin:\n- \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\"\n+ \"0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221\"\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafeL2 (0xd94E416cf2c7167608B2515B7e4102B41efff94f)\n +++ description: None\n```"
}
]
},
{
"id": "517c861c",
"date": "Wed, 04 Jun 2025 12:31:49 GMT",
"timestamp": 1749040309,
"description": "Base Multisig 1 signer rotation.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Base Multisig 1 (0x14536667Cd30e52C0b458BaACcB9faDA7046E056) {\n +++ description: None\n values.$members.13:\n- \"0xe32868ec7762650DdE723e945D638A05900974F4\"\n+ \"0x9bF96DCf51959915c8c343a3E50820Ad069A1859\"\n values.$members.12:\n- \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n+ \"0x541a833E4303EB56a45bE7E8E4A908db97568d1e\"\n values.$members.7:\n- \"0x5468985B560D966dEDEa2DAF493f5756101137DC\"\n+ \"0x4427683AA1f0ff25ccDC4a5Db83010c1DE9b5fF4\"\n values.$members.6:\n- \"0x644e3DedB0e4F83Bfcf8F9992964d240224B74dc\"\n+ \"0x5468985B560D966dEDEa2DAF493f5756101137DC\"\n values.$members.5:\n- \"0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b\"\n+ \"0xA31E1c38d5c37D8ECd0e94C80C0F7FD624d009A3\"\n values.$members.4:\n- \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\"\n+ \"0x644e3DedB0e4F83Bfcf8F9992964d240224B74dc\"\n values.$members.3:\n- \"0xa3D3c103442F162856163d564b983ae538c6202D\"\n+ \"0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b\"\n values.$members.2:\n- \"0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04\"\n+ \"0xa3D3c103442F162856163d564b983ae538c6202D\"\n values.$members.1:\n- \"0x969ffD102fbF304d4e401999333FE9397DaC653D\"\n+ \"0xB37B2D42cb0C10ebf96279CcECa2cBFc47C6f236\"\n }\n```"
}
]
},
{
"id": "a64bec0a",
"date": "Fri, 30 May 2025 05:26:00 GMT",
"timestamp": 1748582760,
"description": "eip1559Denominator decrease: fees now react faster to block fill.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n- 250\n+ 50\n }\n```"
}
]
},
{
"id": "f9a08fb1",
"date": "Mon, 12 May 2025 08:32:37 GMT",
"timestamp": 1747038757,
"description": "Isthmus L2 contract upgrades, mainly focusing on support for the new operator fee (standard contracts).",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```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```"
}
]
},
{
"id": "a8dda342",
"date": "Thu, 08 May 2025 10:05:11 GMT",
"timestamp": 1746698711,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e) {\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- \"0xE749aA49c3eDAF1DCb997eA3DAC23dff72bcb826\"\n+ \"0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49\"\n values.gameImpls.3:\n- \"0xE17d670043c3cDd705a3223B3D89A228A1f07F0f\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.gameImpls.0:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0xAB91FB6cef84199145133f75cBD96B8a31F184ED\"\n }\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: DELETED\n contract FaultDisputeGame (0xE17d670043c3cDd705a3223B3D89A228A1f07F0f)\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 (0xE749aA49c3eDAF1DCb997eA3DAC23dff72bcb826)\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 (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 (0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49)\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 (0xAB91FB6cef84199145133f75cBD96B8a31F184ED)\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": "979a0b9d",
"date": "Wed, 30 Apr 2025 09:40:55 GMT",
"timestamp": 1746006055,
"description": "Base l2 initial discovery.",
"isHighSeverity": false,
"changeCount": 17,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract FeeDisburser (0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA)\n +++ description: Contract used to disburse funds from system FeeVault contracts, shares revenue with Optimism and bridges the rest of funds to L1.\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 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 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 GnosisSafeL2 (0x9c3631dDE5c8316bE5B7554B0CcD2631C15a9A05)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafeL2 (0xd94E416cf2c7167608B2515B7e4102B41efff94f)\n +++ description: None\n```"
}
]
},
{
"id": "710999d3",
"date": "Wed, 30 Apr 2025 09:40:55 GMT",
"timestamp": 1746006055,
"description": "Base stage 1 upgrade. System upgrades are now governed by a 3/3 setup where upgrades need to be approved by Base Security Council (7/10), a Base multisig (3/6) and Op Operations multisig (5/7).",
"isHighSeverity": false,
"changeCount": 27,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\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 directlyReceivedPermissions:\n+ [{\"permission\":\"act\",\"from\":\"0xc2819DC788505Aac350142A7A707BF9D03E3Bd03\"}]\n }\n```\n\n```diff\n contract ProxyAdmin (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E) {\n +++ description: None\n directlyReceivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2\",\"description\":\"set and change address mappings.\"},{\"permission\":\"upgrade\",\"from\":\"0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84\"},{\"permission\":\"upgrade\",\"from\":\"0x3154Cf16ccdb4C6d922629664174b904d80F2C35\",\"description\":\"upgrading the bridge implementation can give access to all funds escrowed therein.\"},{\"permission\":\"upgrade\",\"from\":\"0x3E8a0B63f57e975c268d610ece93da5f78c01321\"},{\"permission\":\"upgrade\",\"from\":\"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e\"},{\"permission\":\"upgrade\",\"from\":\"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\"},{\"permission\":\"upgrade\",\"from\":\"0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7\"},{\"permission\":\"upgrade\",\"from\":\"0x608d94945A64503E642E6370Ec598e519a2C1E53\"},{\"permission\":\"upgrade\",\"from\":\"0x73a79Fab69143498Ed3712e519A88a918e1f4072\"},{\"permission\":\"upgrade\",\"from\":\"0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8\"}]\n }\n```\n\n```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n directlyReceivedPermissions:\n+ [{\"permission\":\"guard\",\"from\":\"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"}]\n }\n```\n\n```diff\n contract Base Multisig 1 (0x14536667Cd30e52C0b458BaACcB9faDA7046E056) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\"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 contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"0x0454092516c9A4d636d3CAfA1e82161376C8a748\",\"description\":\"can remove members of 0xc2819DC788505Aac350142A7A707BF9D03E3Bd03 inactive for 98d.\"}]\n }\n```\n\n```diff\n contract undefined (0x5050F69a9786F081509234F1a7F4684b5E5b76C9) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"sequence\",\"from\":\"0x73a79Fab69143498Ed3712e519A88a918e1f4072\"}]\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\",\"description\":\"set and change address mappings.\"},{\"permission\":\"upgrade\",\"from\":\"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"}]\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\",\"description\":\"set and change address mappings.\",\"via\":[{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]},{\"permission\":\"upgrade\",\"from\":\"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"via\":[{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}]\n directlyReceivedPermissions:\n+ [{\"permission\":\"act\",\"from\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]\n }\n```\n\n```diff\n contract Base Governance Multisig (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"0x3E8a0B63f57e975c268d610ece93da5f78c01321\",\"description\":\"can pull funds from the contract in case of emergency.\"},{\"permission\":\"interact\",\"from\":\"0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2\",\"description\":\"set and change address mappings.\",\"via\":[{\"address\":\"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]},{\"permission\":\"interact\",\"from\":\"0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8\",\"description\":\"can pull funds from the contract in case of emergency.\"},{\"permission\":\"upgrade\",\"from\":\"0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84\",\"via\":[{\"address\":\"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]},{\"permission\":\"upgrade\",\"from\":\"0x3154Cf16ccdb4C6d922629664174b904d80F2C35\",\"description\":\"upgrading the bridge implementation can give access to all funds escrowed therein.\",\"via\":[{\"address\":\"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]},{\"permission\":\"upgrade\",\"from\":\"0x3E8a0B63f57e975c268d610ece93da5f78c01321\",\"via\":[{\"address\":\"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]},{\"permission\":\"upgrade\",\"from\":\"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e\",\"via\":[{\"address\":\"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]},{\"permission\":\"upgrade\",\"from\":\"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\",\"via\":[{\"address\":\"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]},{\"permission\":\"upgrade\",\"from\":\"0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7\",\"via\":[{\"address\":\"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]},{\"permission\":\"upgrade\",\"from\":\"0x608d94945A64503E642E6370Ec598e519a2C1E53\",\"via\":[{\"address\":\"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]},{\"permission\":\"upgrade\",\"from\":\"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\"via\":[{\"address\":\"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]},{\"permission\":\"upgrade\",\"from\":\"0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8\",\"via\":[{\"address\":\"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]}]\n directlyReceivedPermissions:\n+ [{\"permission\":\"act\",\"from\":\"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"guard\",\"from\":\"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"via\":[{\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"0xc2819DC788505Aac350142A7A707BF9D03E3Bd03\"},{\"address\":\"0x0454092516c9A4d636d3CAfA1e82161376C8a748\",\"condition\":\"the number of 0xc2819DC788505Aac350142A7A707BF9D03E3Bd03 members falls below 8.\"}]}]\n directlyReceivedPermissions:\n+ [{\"permission\":\"act\",\"from\":\"0x0454092516c9A4d636d3CAfA1e82161376C8a748\",\"description\":\"takes ownership of 0xc2819DC788505Aac350142A7A707BF9D03E3Bd03\",\"condition\":\"the number of 0xc2819DC788505Aac350142A7A707BF9D03E3Bd03 members falls below 8.\"}]\n }\n```\n\n```diff\n contract Base Coordinator Multisig (0x9855054731540A48b28990B63DcF4f33d8AE46A1) {\n +++ description: None\n values.$members.5:\n- \"0x5FbEFA105bbd53b43bf537Cbc5cD30804Dd0c993\"\n values.$members.4:\n- \"0x6CD3850756b7894774Ab715D136F9dD02837De50\"\n values.$members.3:\n- \"0xB011a32ED8b4F70D9943A2199F539bbeCd7b62F7\"\n values.$members.2:\n- \"0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E\"\n values.$members.1:\n- \"0x3cd692eCE8b6573A2220ae00d0dEb98f0DfFA9a1\"\n+ \"0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd\"\n values.$members.0:\n- \"0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c\"\n+ \"0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110\"\n values.$threshold:\n- 3\n+ 2\n values.multisigThreshold:\n- \"3 of 6 (50%)\"\n+ \"2 of 2 (100%)\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"guard\",\"from\":\"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"via\":[{\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"not revoked by the Security Council\"}]}]\n directlyReceivedPermissions:\n+ [{\"permission\":\"act\",\"from\":\"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"not revoked by the Security Council\"}]\n }\n```\n\n```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"guard\",\"from\":\"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"via\":[{\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"}]}]\n }\n```\n\n```diff\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B) {\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n directlyReceivedPermissions:\n+ [{\"permission\":\"act\",\"from\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"}]\n }\n```\n\n```diff\n+ Status: CREATED\n contract Base Security Council (0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Base Multisig 2 (0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110)\n +++ description: None\n```"
}
]
},
{
"id": "9f17fcf4",
"date": "Fri, 25 Apr 2025 13:08:10 GMT",
"timestamp": 1745586490,
"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": 58,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract FaultDisputeGame (0x13FbBDefa7D9B147A1777a8A5B0f30379E007ac3)\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 (0x3154Cf16ccdb4C6d922629664174b904d80F2C35) {\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 DisputeGameFactory (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e) {\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- \"0x13FbBDefa7D9B147A1777a8A5B0f30379E007ac3\"\n+ \"0xE749aA49c3eDAF1DCb997eA3DAC23dff72bcb826\"\n values.gameImpls.3:\n- \"0x8BD2e80e6D1cf1e5C5f0c69972fE2f02B9C046Aa\"\n+ \"0xE17d670043c3cDd705a3223B3D89A228A1f07F0f\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e) {\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.6:\n+ [\"2024-10-30T15:41:23.000Z\",\"0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.5.2.0:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.5.1:\n- \"2024-10-30T15:41:23.000Z\"\n+ \"2025-04-24T16:41:11.000Z\"\n values.$pastUpgrades.5.0:\n- \"0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639\"\n+ \"0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da\"\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"3.13.0\"\n+ \"3.14.0\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x608d94945A64503E642E6370Ec598e519a2C1E53) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n sourceHashes.0:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n values.$implementation:\n- \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.4:\n+ [\"2025-04-24T16:41:11.000Z\",\"0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da\",[\"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.version:\n- \"2.3.1\"\n+ \"2.4.0\"\n }\n```\n\n```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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.9:\n+ [\"2024-12-11T23:00:59.000Z\",\"0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294\",[\"0x45C4e267aE21E90f72C8AbF43ddB5941c953482F\"]]\n values.$pastUpgrades.8.2:\n- \"0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294\"\n+ \"2025-02-04T20:28:47.000Z\"\n values.$pastUpgrades.8.1.0:\n- \"0x45C4e267aE21E90f72C8AbF43ddB5941c953482F\"\n+ \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n values.$pastUpgrades.8.0:\n- \"2024-12-11T23:00:59.000Z\"\n+ \"0x765a2eb3c7eecea5722b120037123eaec9e6ef4b6a53ba2bcfb88ef08fae074b\"\n values.$pastUpgrades.7.2:\n- \"2025-02-04T20:28:47.000Z\"\n+ [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n values.$pastUpgrades.7.1:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2025-02-04T20:28:47.000Z\"\n values.$pastUpgrades.6.2.0:\n- \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"0x6481ff79597Fe4F77E1063f615ec5BDaDDEFfd4B\"\n values.$pastUpgrades.6.1:\n- \"2025-02-04T20:28:47.000Z\"\n+ \"2023-06-15T01:51:47.000Z\"\n values.$pastUpgrades.6.0:\n- \"0x765a2eb3c7eecea5722b120037123eaec9e6ef4b6a53ba2bcfb88ef08fae074b\"\n+ \"0x0a7442e325dac626d8c16a7a052e9a2ee8cd08a5b8c9796228b4d297e20ea3cc\"\n values.$pastUpgrades.5.2.0:\n- \"0x6481ff79597Fe4F77E1063f615ec5BDaDDEFfd4B\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n values.$pastUpgrades.5.1:\n- \"2023-06-15T01:51:47.000Z\"\n+ \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n values.$pastUpgrades.5.0:\n- \"0x0a7442e325dac626d8c16a7a052e9a2ee8cd08a5b8c9796228b4d297e20ea3cc\"\n+ \"2024-06-28T16:32:47.000Z\"\n values.$pastUpgrades.4.2:\n- [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n+ \"2025-04-24T16:41:11.000Z\"\n values.$pastUpgrades.4.1:\n- \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n+ [\"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]\n values.$pastUpgrades.4.0:\n- \"2024-06-28T16:32:47.000Z\"\n+ \"0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da\"\n values.$upgradeCount:\n- 9\n+ 10\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 (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa) {\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.5:\n+ [\"2024-06-28T16:32:47.000Z\",\"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.4.2.0:\n- \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.4.1:\n- \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n+ \"2025-04-24T16:41:11.000Z\"\n values.$pastUpgrades.4.0:\n- \"2024-06-28T16:32:47.000Z\"\n+ \"0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da\"\n values.$upgradeCount:\n- 5\n+ 6\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 PermissionedDisputeGame (0x8BD2e80e6D1cf1e5C5f0c69972fE2f02B9C046Aa)\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 (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 (0xE17d670043c3cDd705a3223B3D89A228A1f07F0f)\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 (0xE749aA49c3eDAF1DCb997eA3DAC23dff72bcb826)\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": "f8cdcaf7",
"date": "Fri, 11 Apr 2025 13:15:32 GMT",
"timestamp": 1744377332,
"description": "Upgrade to known contracts.",
"isHighSeverity": true,
"changeCount": 123,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E) {\n +++ description: None\n directlyReceivedPermissions.9.from:\n- \"0xdB9091e48B1C42992A1213e6916184f9eBDbfEDf\"\n+ \"0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84) {\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.3:\n+ [\"2023-06-15T01:51:59.000Z\",\"0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e\",[\"0x3d2c2f8f95CAba644eA25319c4c08594b8DC0359\"]]\n values.$pastUpgrades.2.2.0:\n- \"0x3d2c2f8f95CAba644eA25319c4c08594b8DC0359\"\n+ \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.$pastUpgrades.2.1:\n- \"0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e\"\n+ \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n values.$pastUpgrades.2.0:\n- \"2023-06-15T01:51:59.000Z\"\n+ \"2024-06-28T16:32:47.000Z\"\n values.$pastUpgrades.1.2.0:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n values.$pastUpgrades.0.2.0:\n- \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.0.1:\n- \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n+ \"2025-04-09T16:07:59.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-06-28T16:32:47.000Z\"\n+ \"0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134\"\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x3154Cf16ccdb4C6d922629664174b904d80F2C35) {\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_PermissionedGames (0x3E8a0B63f57e975c268d610ece93da5f78c01321) {\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-10-07T13:33:47.000Z\",\"0x98ce8ae3a8fe6aa5951eaa841a8fe57bd71a453dd6d60a2690a9886e0e8dfa97\",[\"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"]]\n values.$pastUpgrades.0.2:\n- \"2024-10-07T13:33:47.000Z\"\n+ [\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]\n values.$pastUpgrades.0.1:\n- [\"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"]\n+ \"2025-04-09T16:07:59.000Z\"\n values.$pastUpgrades.0.0:\n- \"0x98ce8ae3a8fe6aa5951eaa841a8fe57bd71a453dd6d60a2690a9886e0e8dfa97\"\n+ \"0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134\"\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 DisputeGameFactory (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e) {\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-10-07T13:33:47.000Z\",\"0x60eca85990bf426b85e3f3db9d9215e7fb229dce201a62401ad3d8a08ee5613c\",[\"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"]]\n values.$pastUpgrades.0.2:\n- \"2024-10-07T13:33:47.000Z\"\n+ [\"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]\n values.$pastUpgrades.0.1:\n- [\"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"]\n+ \"2025-04-09T16:07:59.000Z\"\n values.$pastUpgrades.0.0:\n- \"0x60eca85990bf426b85e3f3db9d9215e7fb229dce201a62401ad3d8a08ee5613c\"\n+ \"0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134\"\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.4:\n- \"0xF62c15e2F99d4869A925B8F57076cD85335832A2\"\n+ \"0x13FbBDefa7D9B147A1777a8A5B0f30379E007ac3\"\n values.gameImpls.3:\n- \"0xc5f3677c3C56DB4031ab005a3C9c98e1B79D438e\"\n+ \"0x8BD2e80e6D1cf1e5C5f0c69972fE2f02B9C046Aa\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n }\n```\n\n```diff\n contract OptimismPortal (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e) {\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.5:\n+ [\"2024-10-30T15:41:23.000Z\",\"0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.4.2:\n- [\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]\n+ \"2024-10-30T15:41:23.000Z\"\n values.$pastUpgrades.4.1:\n- \"2024-10-30T15:41:23.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.3.2:\n- \"2024-10-30T15:41:23.000Z\"\n+ \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n values.$pastUpgrades.3.1.0:\n- \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n+ \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n values.$pastUpgrades.3.0:\n- \"0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639\"\n+ \"2024-06-28T16:32:47.000Z\"\n values.$pastUpgrades.2.2:\n- \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$pastUpgrades.2.1:\n- [\"0x2D778797049FE9259d947D1ED8e5442226dFB589\"]\n+ \"2025-04-09T16:07:59.000Z\"\n values.$pastUpgrades.2.0:\n- \"2024-06-28T16:32:47.000Z\"\n+ \"0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134\"\n values.$upgradeCount:\n- 5\n+ 6\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 L1ERC721Bridge (0x608d94945A64503E642E6370Ec598e519a2C1E53) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.0:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.3:\n+ [\"2023-06-15T01:51:59.000Z\",\"0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e\",[\"0x3311aC7F72bb4108d9f4D5d50E7623B1498A9eC0\"]]\n values.$pastUpgrades.2.2.0:\n- \"0x3311aC7F72bb4108d9f4D5d50E7623B1498A9eC0\"\n+ \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.$pastUpgrades.2.1:\n- \"0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e\"\n+ \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n values.$pastUpgrades.2.0:\n- \"2023-06-15T01:51:59.000Z\"\n+ \"2024-06-28T16:32:47.000Z\"\n values.$pastUpgrades.1.2.0:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n values.$pastUpgrades.0.2.0:\n- \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n+ \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.0.1:\n- \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n+ \"2025-04-09T16:07:59.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-06-28T16:32:47.000Z\"\n+ \"0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134\"\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n }\n```\n\n```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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.8:\n+ [\"2024-12-11T23:00:59.000Z\",\"0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294\",[\"0x45C4e267aE21E90f72C8AbF43ddB5941c953482F\"]]\n values.$pastUpgrades.7.2:\n- \"0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294\"\n+ \"2025-02-04T20:28:47.000Z\"\n values.$pastUpgrades.7.1.0:\n- \"0x45C4e267aE21E90f72C8AbF43ddB5941c953482F\"\n+ \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n values.$pastUpgrades.7.0:\n- \"2024-12-11T23:00:59.000Z\"\n+ \"0x765a2eb3c7eecea5722b120037123eaec9e6ef4b6a53ba2bcfb88ef08fae074b\"\n values.$pastUpgrades.6.2:\n- \"2025-02-04T20:28:47.000Z\"\n+ [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n values.$pastUpgrades.6.1:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2025-02-04T20:28:47.000Z\"\n values.$pastUpgrades.5.2.0:\n- \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"0x6481ff79597Fe4F77E1063f615ec5BDaDDEFfd4B\"\n values.$pastUpgrades.5.1:\n- \"2025-02-04T20:28:47.000Z\"\n+ \"2023-06-15T01:51:47.000Z\"\n values.$pastUpgrades.5.0:\n- \"0x765a2eb3c7eecea5722b120037123eaec9e6ef4b6a53ba2bcfb88ef08fae074b\"\n+ \"0x0a7442e325dac626d8c16a7a052e9a2ee8cd08a5b8c9796228b4d297e20ea3cc\"\n values.$pastUpgrades.4.2.0:\n- \"0x6481ff79597Fe4F77E1063f615ec5BDaDDEFfd4B\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n values.$pastUpgrades.4.1:\n- \"2023-06-15T01:51:47.000Z\"\n+ \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n values.$pastUpgrades.4.0:\n- \"0x0a7442e325dac626d8c16a7a052e9a2ee8cd08a5b8c9796228b4d297e20ea3cc\"\n+ \"2024-06-28T16:32:47.000Z\"\n values.$pastUpgrades.3.2.0:\n- \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n+ \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n values.$pastUpgrades.3.1:\n- \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n+ \"2024-10-30T15:41:23.000Z\"\n values.$pastUpgrades.3.0:\n- \"2024-06-28T16:32:47.000Z\"\n+ \"0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639\"\n values.$pastUpgrades.2.2:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"2024-10-30T15:41:23.000Z\"\n values.$pastUpgrades.2.1:\n- \"2024-10-30T15:41:23.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.1.2:\n- \"2024-10-30T15:41:23.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.1.1:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n values.$pastUpgrades.1.0:\n- \"0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639\"\n+ \"2024-06-28T16:32:47.000Z\"\n values.$pastUpgrades.0.2:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2025-04-09T16:07:59.000Z\"\n values.$pastUpgrades.0.1:\n- \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n+ \"0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134\"\n values.$pastUpgrades.0.0:\n- \"2024-06-28T16:32:47.000Z\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$upgradeCount:\n- 8\n+ 9\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\":\"0x866E82a600A1414e583f7F13623F1aC5d58b0Afa\",\"l1ERC721Bridge\":\"0x608d94945A64503E642E6370Ec598e519a2C1E53\",\"l1StandardBridge\":\"0x3154Cf16ccdb4C6d922629664174b904d80F2C35\",\"disputeGameFactory\":\"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e\",\"optimismPortal\":\"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\",\"optimismMintableERC20Factory\":\"0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84\"}\n }\n```\n\n```diff\n contract Base Multisig 3 (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c) {\n +++ description: None\n receivedPermissions.10.from:\n- \"0xdB9091e48B1C42992A1213e6916184f9eBDbfEDf\"\n+ \"0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa) {\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.4:\n+ [\"2024-06-28T16:32:47.000Z\",\"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.3.2.0:\n- \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.3.1:\n- \"0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817\"\n+ \"2025-04-09T16:07:59.000Z\"\n values.$pastUpgrades.3.0:\n- \"2024-06-28T16:32:47.000Z\"\n+ \"0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134\"\n values.$upgradeCount:\n- 4\n+ 5\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 DelayedWETH_PermissionlessGames (0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8) {\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-10-07T13:33:47.000Z\",\"0xfe935d02346a4d19c5875ab48ddabf3c1391df44114c62c333b79392ea225914\",[\"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"]]\n values.$pastUpgrades.0.2:\n- \"2024-10-07T13:33:47.000Z\"\n+ [\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]\n values.$pastUpgrades.0.1:\n- \"0xfe935d02346a4d19c5875ab48ddabf3c1391df44114c62c333b79392ea225914\"\n+ \"2025-04-09T16:07:59.000Z\"\n values.$pastUpgrades.0.0:\n- [\"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"]\n+ \"0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134\"\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 FaultDisputeGame (0xc5f3677c3C56DB4031ab005a3C9c98e1B79D438e)\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 AnchorStateRegistry (0xdB9091e48B1C42992A1213e6916184f9eBDbfEDf)\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 (0xF62c15e2F99d4869A925B8F57076cD85335832A2)\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 (0x13FbBDefa7D9B147A1777a8A5B0f30379E007ac3)\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 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 (0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7)\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 (0x8BD2e80e6D1cf1e5C5f0c69972fE2f02B9C046Aa)\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```"
}
]
},
{
"id": "3628f487",
"date": "Fri, 04 Apr 2025 09:48:27 GMT",
"timestamp": 1743760107,
"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```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L1TokenBridge (0xA5874756416Fa632257eEA380CAbd2E87cED352A)\n +++ description: None\n```"
}
]
},
{
"id": "c61c2512",
"date": "Wed, 19 Feb 2025 14:15:45 GMT",
"timestamp": 1739974545,
"description": "BaseMultisig2 signer changes.",
"isHighSeverity": false,
"changeCount": 15,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract BaseMultisig2 (0x14536667Cd30e52C0b458BaACcB9faDA7046E056) {\n +++ description: None\n values.$members.13:\n+ \"0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839\"\n values.$members.12:\n- \"0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839\"\n+ \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\"\n values.$members.11:\n- \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\"\n+ \"0x969ffD102fbF304d4e401999333FE9397DaC653D\"\n values.$members.10:\n- \"0x969ffD102fbF304d4e401999333FE9397DaC653D\"\n+ \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n values.$members.9:\n- \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n+ \"0xa3D3c103442F162856163d564b983ae538c6202D\"\n values.$members.8:\n- \"0xa3D3c103442F162856163d564b983ae538c6202D\"\n+ \"0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04\"\n values.$members.7:\n- \"0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04\"\n+ \"0x92B79E6C995Ee8B267EC1Ac2743D1c1fBFFFc447\"\n values.$members.6:\n- \"0x92B79E6C995Ee8B267EC1Ac2743D1c1fBFFFc447\"\n+ \"0x73565876170a336Fa02fDe34EeD03E3121f70bA6\"\n values.$members.5:\n- \"0x73565876170a336Fa02fDe34EeD03E3121f70bA6\"\n+ \"0x26c72586FB396325F58718152FEFA94E93Cf177b\"\n values.$members.4:\n- \"0x26c72586FB396325F58718152FEFA94E93Cf177b\"\n+ \"0x5468985B560D966dEDEa2DAF493f5756101137DC\"\n values.$members.3:\n- \"0x5468985B560D966dEDEa2DAF493f5756101137DC\"\n+ \"0xe32868ec7762650DdE723e945D638A05900974F4\"\n values.$members.2:\n- \"0xe32868ec7762650DdE723e945D638A05900974F4\"\n+ \"0x7Ad8E6B7B1f6D66F49559f20053Cef8a7b6c488E\"\n values.$members.1:\n- \"0x7Ad8E6B7B1f6D66F49559f20053Cef8a7b6c488E\"\n+ \"0x644e3DedB0e4F83Bfcf8F9992964d240224B74dc\"\n values.$members.0:\n- \"0x644e3DedB0e4F83Bfcf8F9992964d240224B74dc\"\n+ \"0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b\"\n values.multisigThreshold:\n- \"3 of 13 (23%)\"\n+ \"3 of 14 (21%)\"\n }\n```"
}
]
},
{
"id": "d37ca3f2",
"date": "Fri, 14 Feb 2025 10:30:28 GMT",
"timestamp": 1739529028,
"description": "Multisig changes.",
"isHighSeverity": false,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract BaseMultisig2 (0x14536667Cd30e52C0b458BaACcB9faDA7046E056) {\n +++ description: None\n values.$members.12:\n+ \"0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839\"\n values.$members.11:\n- \"0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839\"\n+ \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\"\n values.$members.10:\n- \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\"\n+ \"0x969ffD102fbF304d4e401999333FE9397DaC653D\"\n values.$members.9:\n- \"0x969ffD102fbF304d4e401999333FE9397DaC653D\"\n+ \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n values.$members.8:\n- \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n+ \"0xa3D3c103442F162856163d564b983ae538c6202D\"\n values.$members.7:\n- \"0xa3D3c103442F162856163d564b983ae538c6202D\"\n+ \"0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04\"\n values.$members.6:\n- \"0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04\"\n+ \"0x92B79E6C995Ee8B267EC1Ac2743D1c1fBFFFc447\"\n values.$members.5:\n- \"0x92B79E6C995Ee8B267EC1Ac2743D1c1fBFFFc447\"\n+ \"0x73565876170a336Fa02fDe34EeD03E3121f70bA6\"\n values.$members.4:\n- \"0x73565876170a336Fa02fDe34EeD03E3121f70bA6\"\n+ \"0x26c72586FB396325F58718152FEFA94E93Cf177b\"\n values.$members.3:\n- \"0x26c72586FB396325F58718152FEFA94E93Cf177b\"\n+ \"0x5468985B560D966dEDEa2DAF493f5756101137DC\"\n values.$members.2:\n- \"0x5468985B560D966dEDEa2DAF493f5756101137DC\"\n+ \"0xe32868ec7762650DdE723e945D638A05900974F4\"\n values.$members.1:\n- \"0xe32868ec7762650DdE723e945D638A05900974F4\"\n+ \"0x7Ad8E6B7B1f6D66F49559f20053Cef8a7b6c488E\"\n values.$members.0:\n- \"0x7Ad8E6B7B1f6D66F49559f20053Cef8a7b6c488E\"\n+ \"0x644e3DedB0e4F83Bfcf8F9992964d240224B74dc\"\n values.multisigThreshold:\n- \"3 of 12 (25%)\"\n+ \"3 of 13 (23%)\"\n }\n```"
}
]
},
{
"id": "e2d61e80",
"date": "Wed, 12 Feb 2025 09:59:28 GMT",
"timestamp": 1739354368,
"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": "d5b8bb72",
"date": "Sat, 08 Feb 2025 15:57:06 GMT",
"timestamp": 1739030226,
"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": "aa73c6e3",
"date": "Thu, 06 Feb 2025 09:16:11 GMT",
"timestamp": 1738833371,
"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": "1c86e952",
"date": "Wed, 05 Feb 2025 06:17:12 GMT",
"timestamp": 1738736232,
"description": "Upgrade to new SystemConfig (known implementation). maximumGasLimit halved but due to the new logic effectively minor change in the L2 gas limit.",
"isHighSeverity": true,
"changeCount": 15,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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- \"0x1fdf490a723dc133305fa86c7ce08d98470bf7c9de74ece4ef8bc280d2355d50\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0x45C4e267aE21E90f72C8AbF43ddB5941c953482F\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.7:\n+ [\"2025-02-04T20:28:47.000Z\",\"0x765a2eb3c7eecea5722b120037123eaec9e6ef4b6a53ba2bcfb88ef08fae074b\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.6:\n+ [\"2025-02-04T20:28:47.000Z\",\"0x765a2eb3c7eecea5722b120037123eaec9e6ef4b6a53ba2bcfb88ef08fae074b\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.maximumGasLimit:\n- 400000000\n+ 200000000\n values.version:\n- \"2.2.0+max-gas-limit-400M\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 2269\n values.blobbasefeeScalar:\n+ 1055762\n values.eip1559Denominator:\n+ 250\n values.eip1559Elasticity:\n+ 2\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": "c50043dd",
"date": "Thu, 30 Jan 2025 10:30:31 GMT",
"timestamp": 1738233031,
"description": "One signer added to BaseMultisig2.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract BaseMultisig2 (0x14536667Cd30e52C0b458BaACcB9faDA7046E056) {\n +++ description: None\n values.$members.11:\n+ \"0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839\"\n values.$members.10:\n- \"0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839\"\n+ \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\"\n values.$members.9:\n- \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\"\n+ \"0x969ffD102fbF304d4e401999333FE9397DaC653D\"\n values.$members.8:\n- \"0x969ffD102fbF304d4e401999333FE9397DaC653D\"\n+ \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n values.$members.7:\n- \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n+ \"0xa3D3c103442F162856163d564b983ae538c6202D\"\n values.$members.6:\n- \"0xa3D3c103442F162856163d564b983ae538c6202D\"\n+ \"0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04\"\n values.$members.5:\n- \"0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04\"\n+ \"0x92B79E6C995Ee8B267EC1Ac2743D1c1fBFFFc447\"\n values.$members.4:\n- \"0x92B79E6C995Ee8B267EC1Ac2743D1c1fBFFFc447\"\n+ \"0x73565876170a336Fa02fDe34EeD03E3121f70bA6\"\n values.$members.3:\n- \"0x73565876170a336Fa02fDe34EeD03E3121f70bA6\"\n+ \"0x26c72586FB396325F58718152FEFA94E93Cf177b\"\n values.$members.2:\n- \"0x26c72586FB396325F58718152FEFA94E93Cf177b\"\n+ \"0x5468985B560D966dEDEa2DAF493f5756101137DC\"\n values.$members.1:\n- \"0x5468985B560D966dEDEa2DAF493f5756101137DC\"\n+ \"0xe32868ec7762650DdE723e945D638A05900974F4\"\n values.$members.0:\n- \"0xe32868ec7762650DdE723e945D638A05900974F4\"\n+ \"0x7Ad8E6B7B1f6D66F49559f20053Cef8a7b6c488E\"\n values.multisigThreshold:\n- \"3 of 11 (27%)\"\n+ \"3 of 12 (25%)\"\n }\n```"
}
]
},
{
"id": "05eaffb6",
"date": "Thu, 09 Jan 2025 06:32:16 GMT",
"timestamp": 1736404336,
"description": "Note: The PermissionedDisputeGame and FaultDisputeGame contracts are not identical to the ones used by OP mainnet (minor changes).\n\nNew MIPS, PermissionedDisputeGame, FaultDisputeGame 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": 8,
"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 (0x19009dEBF8954B610f207D5925EEDe827805986e)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e) {\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- \"0x19009dEBF8954B610f207D5925EEDe827805986e\"\n+ \"0xF62c15e2F99d4869A925B8F57076cD85335832A2\"\n values.gameImpls.0:\n- \"0xCd3c0194db74C23807D4B90A5181e1B28cF7007C\"\n+ \"0xc5f3677c3C56DB4031ab005a3C9c98e1B79D438e\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0xCd3c0194db74C23807D4B90A5181e1B28cF7007C)\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 (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 (0xc5f3677c3C56DB4031ab005a3C9c98e1B79D438e)\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 (0xF62c15e2F99d4869A925B8F57076cD85335832A2)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "f2fc5c6c",
"date": "Tue, 07 Jan 2025 14:18:03 GMT",
"timestamp": 1736259483,
"description": "Add sky / maker USDS escrow (canonical external).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract Escrow (0x7F311a4D48377030bD810395f4CCfC03bdbe9Ef3)\n +++ description: None\n```"
}
]
},
{
"id": "9d60a18d",
"date": "Thu, 12 Dec 2024 18:44:40 GMT",
"timestamp": 1734029080,
"description": "Upgraded to new config version with 400m gas limit.\nGas limit goes against current OP Stack gas limit specification, which states the gas limit may not be set to a value larger than 200m (https://specs.optimism.io/protocol/system-config.html#gaslimit-uint64).",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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+ \"0x1fdf490a723dc133305fa86c7ce08d98470bf7c9de74ece4ef8bc280d2355d50\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0x45C4e267aE21E90f72C8AbF43ddB5941c953482F\"\n values.$pastUpgrades.5:\n+ [\"2024-12-11T23:00:59.000Z\",\"0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294\",[\"0x45C4e267aE21E90f72C8AbF43ddB5941c953482F\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.maximumGasLimit:\n- 200000000\n+ 400000000\n values.version:\n- \"2.2.0\"\n+ \"2.2.0+max-gas-limit-400M\"\n }\n```"
}
]
},
{
"id": "372c43f8",
"date": "Thu, 31 Oct 2024 14:35:49 GMT",
"timestamp": 1730385349,
"description": "Fault proofs upgrade: The dispute game contracts use the OP Mainnet implementations and identical parameters. Base risks are now like OP Mainnet except for upgradeability (Exit Window) because there is no SecurityCouncil. A proper Security Council and according upgrade delay are also the only requirements for Base to reach stage 1.",
"isHighSeverity": true,
"changeCount": 81,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\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 receivedPermissions.1:\n- {\"permission\":\"guard\",\"target\":\"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"via\":[{\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"0xc2819DC788505Aac350142A7A707BF9D03E3Bd03\"}]}\n receivedPermissions.0.target:\n- \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E) {\n +++ description: None\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"target\":\"0xdB9091e48B1C42992A1213e6916184f9eBDbfEDf\"}\n directlyReceivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"target\":\"0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"target\":\"0x73a79Fab69143498Ed3712e519A88a918e1f4072\"}\n directlyReceivedPermissions.6.target:\n- \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\"\n+ \"0x608d94945A64503E642E6370Ec598e519a2C1E53\"\n directlyReceivedPermissions.5.target:\n- \"0x608d94945A64503E642E6370Ec598e519a2C1E53\"\n+ \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\"\n directlyReceivedPermissions.4.target:\n- \"0x56315b90c40730925ec5485cf004d835058518A0\"\n+ \"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e\"\n directlyReceivedPermissions.3.target:\n- \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\"\n+ \"0x3E8a0B63f57e975c268d610ece93da5f78c01321\"\n }\n```\n\n```diff\n contract SuperchainGuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n directlyReceivedPermissions.1:\n- {\"permission\":\"guard\",\"target\":\"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"}\n directlyReceivedPermissions.0.target:\n- \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract BaseMultisig2 (0x14536667Cd30e52C0b458BaACcB9faDA7046E056) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"configure\",\"target\":\"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"}\n receivedPermissions.0.permission:\n- \"challenge\"\n+ \"configure\"\n receivedPermissions.0.target:\n- \"0x56315b90c40730925ec5485cf004d835058518A0\"\n+ \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\"\n receivedPermissions.0.via:\n- [{\"address\":\"0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824\"}]\n receivedPermissions.0.description:\n+ \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"target\":\"0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824\"}]\n }\n```\n\n```diff\n contract OptimismPortal (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e) {\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.\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.\"\n issuedPermissions.3:\n- {\"permission\":\"upgrade\",\"target\":\"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\"via\":[{\"address\":\"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\",\"delay\":0}]}\n issuedPermissions.2:\n- {\"permission\":\"guard\",\"target\":\"0xc2819DC788505Aac350142A7A707BF9D03E3Bd03\",\"via\":[{\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\",\"delay\":0}]}\n issuedPermissions.1:\n- {\"permission\":\"guard\",\"target\":\"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\"via\":[{\"address\":\"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"delay\":0},{\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\",\"delay\":0}]}\n issuedPermissions.0.permission:\n- \"guard\"\n+ \"upgrade\"\n issuedPermissions.0.target:\n- \"0x0454092516c9A4d636d3CAfA1e82161376C8a748\"\n+ \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\",\"delay\":0}\n issuedPermissions.0.via.0.address:\n- \"0xc2819DC788505Aac350142A7A707BF9D03E3Bd03\"\n+ \"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"\n values.$implementation:\n- \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n+ \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.4:\n+ [\"2024-10-30T15:41:23.000Z\",\"0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.3:\n+ [\"2024-10-30T15:41:23.000Z\",\"0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.GUARDIAN:\n- \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.L2_ORACLE:\n- \"0x56315b90c40730925ec5485cf004d835058518A0\"\n values.l2Oracle:\n- \"0x56315b90c40730925ec5485cf004d835058518A0\"\n values.SYSTEM_CONFIG:\n- \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\"\n values.version:\n- \"2.5.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.respectedGameType:\n+ 0\n values.respectedGameTypeUpdatedAt:\n+ 1730302883\n derivedName:\n- \"OptimismPortal\"\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 }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (0x56315b90c40730925ec5485cf004d835058518A0)\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: DELETED\n contract Challenger1of2 (0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824)\n +++ description: None\n```\n\n```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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- \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n+ \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n values.$pastUpgrades.4:\n+ [\"2024-10-30T15:41:23.000Z\",\"0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639\",[\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]]\n values.$pastUpgrades.3:\n+ [\"2024-10-30T15:41:23.000Z\",\"0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"0x56315b90c40730925ec5485cf004d835058518A0\"\n values.version:\n- \"1.12.0\"\n+ \"2.2.0\"\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e\"\n values.maximumGasLimit:\n+ 200000000\n }\n```\n\n```diff\n contract BaseAdminMultisig (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c) {\n +++ description: None\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"target\":\"0xdB9091e48B1C42992A1213e6916184f9eBDbfEDf\",\"via\":[{\"address\":\"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]}\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"target\":\"0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8\",\"via\":[{\"address\":\"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"target\":\"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\"via\":[{\"address\":\"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"}]}\n receivedPermissions.6.target:\n- \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\"\n+ \"0x608d94945A64503E642E6370Ec598e519a2C1E53\"\n receivedPermissions.5.target:\n- \"0x608d94945A64503E642E6370Ec598e519a2C1E53\"\n+ \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\"\n receivedPermissions.4.target:\n- \"0x56315b90c40730925ec5485cf004d835058518A0\"\n+ \"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e\"\n receivedPermissions.3.target:\n- \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\"\n+ \"0x3E8a0B63f57e975c268d610ece93da5f78c01321\"\n }\n```\n\n```diff\n contract FoundationMultisig_2 (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"guard\",\"target\":\"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"via\":[{\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"}]}\n receivedPermissions.1:\n- {\"permission\":\"guard\",\"target\":\"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\",\"via\":[{\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"}]}\n receivedPermissions.0.permission:\n- \"challenge\"\n+ \"guard\"\n receivedPermissions.0.target:\n- \"0x56315b90c40730925ec5485cf004d835058518A0\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.0.via.1:\n+ {\"address\":\"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"}\n receivedPermissions.0.via.0.address:\n- \"0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n directlyReceivedPermissions.1:\n- {\"permission\":\"act\",\"target\":\"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"}\n directlyReceivedPermissions.0.target:\n- \"0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824\"\n+ \"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n }\n```\n\n```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"guard\",\"target\":\"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"via\":[{\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"}]}\n receivedPermissions.0.target:\n- \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\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 PermissionedDisputeGame (0x19009dEBF8954B610f207D5925EEDe827805986e)\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_PermissionedGames (0x3E8a0B63f57e975c268d610ece93da5f78c01321)\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 DisputeGameFactory (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e)\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 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 DelayedWETH_PermissionlessGames (0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8)\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 (0xCd3c0194db74C23807D4B90A5181e1B28cF7007C)\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 (0xdB9091e48B1C42992A1213e6916184f9eBDbfEDf)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```"
}
]
},
{
"id": "f845bc41",
"date": "Thu, 26 Sep 2024 06:19:37 GMT",
"timestamp": 1727331577,
"description": "Scheduled gas limit raise.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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- 120000000\n+ 132000000\n }\n```"
}
]
},
{
"id": "7704e8c1",
"date": "Tue, 17 Sep 2024 09:51:02 GMT",
"timestamp": 1726566662,
"description": "DeputyGuardianModule upgrade: `setAnchorState()` is now callable by the deputy guardian.",
"isHighSeverity": false,
"changeCount": 3,
"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+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```"
}
]
},
{
"id": "8b5adedb",
"date": "Thu, 15 Aug 2024 07:34:38 GMT",
"timestamp": 1723707278,
"description": "The Base Multisig (that can challenge state roots and is owner of SystemConfig) has two new members.",
"isHighSeverity": false,
"changeCount": 12,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract BaseMultisig2 (0x14536667Cd30e52C0b458BaACcB9faDA7046E056) {\n +++ description: It can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\n values.$members.10:\n+ \"0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839\"\n values.$members.9:\n+ \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\"\n values.$members.8:\n- \"0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839\"\n+ \"0x969ffD102fbF304d4e401999333FE9397DaC653D\"\n values.$members.7:\n- \"0xBECAbd620cb6675f73C92bc444F7faCddf204DE2\"\n+ \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n values.$members.6:\n- \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\"\n+ \"0xa3D3c103442F162856163d564b983ae538c6202D\"\n values.$members.5:\n- \"0x969ffD102fbF304d4e401999333FE9397DaC653D\"\n+ \"0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04\"\n values.$members.4:\n- \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n+ \"0x92B79E6C995Ee8B267EC1Ac2743D1c1fBFFFc447\"\n values.$members.3:\n- \"0xa3D3c103442F162856163d564b983ae538c6202D\"\n+ \"0x73565876170a336Fa02fDe34EeD03E3121f70bA6\"\n values.$members.2:\n- \"0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04\"\n+ \"0x26c72586FB396325F58718152FEFA94E93Cf177b\"\n values.$members.1:\n- \"0x92B79E6C995Ee8B267EC1Ac2743D1c1fBFFFc447\"\n+ \"0x5468985B560D966dEDEa2DAF493f5756101137DC\"\n values.$members.0:\n- \"0x73565876170a336Fa02fDe34EeD03E3121f70bA6\"\n+ \"0xe32868ec7762650DdE723e945D638A05900974F4\"\n values.multisigThreshold:\n- \"3 of 9 (33%)\"\n+ \"3 of 11 (27%)\"\n }\n```"
}
]
},
{
"id": "684592c3",
"date": "Thu, 01 Aug 2024 09:03:28 GMT",
"timestamp": 1722503008,
"description": "Gas limit raised.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\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- 112500000\n+ 120000000\n }\n```"
}
]
},
{
"id": "ea617138",
"date": "Fri, 26 Jul 2024 08:45:40 GMT",
"timestamp": 1721983540,
"description": "(Tentative) gas limit raise (+ ~10%).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\n +++ description: None\n values.gasLimit:\n- 105000000\n+ 112500000\n }\n```"
}
]
},
{
"id": "59f88769",
"date": "Thu, 18 Jul 2024 07:32:02 GMT",
"timestamp": 1721287922,
"description": "Gas limit bumped by 8% to 105M.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\n +++ description: None\n values.gasLimit:\n- 97500000\n+ 105000000\n }\n```"
}
]
},
{
"id": "649003b6",
"date": "Wed, 03 Jul 2024 06:36:00 GMT",
"timestamp": 1719988560,
"description": "* L1StandardBridge stops functioning when Rollup is paused by SuperChain Guardian\n* L1ERC721Bridge stops functioning when Rollup is paused by SuperChain Guardian\n* L1CrossDomainMessenger stops functioning when Rollup is paused by SuperChain Guardian\n* OptmismPortal - Guardian could pause/unpause withdrawals. Now guardian that can pause is SuperChain Guardian\n* L2OutputOracle, SystemConfig - no significant changes",
"isHighSeverity": true,
"changeCount": 76,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1StandardBridge (0x3154Cf16ccdb4C6d922629664174b904d80F2C35) {\n +++ description: The main entry point to deposit ERC20 tokens from L1 to L2. This contract can store any token.\n upgradeability.implementation:\n- \"0x3F3C0F6bC115E698E35038E1759E9c31032E590c\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n implementations.0:\n- \"0x3F3C0F6bC115E698E35038E1759E9c31032E590c\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.version:\n- \"1.1.0\"\n+ \"2.1.0\"\n values.otherBridge:\n+ \"0x4200000000000000000000000000000000000010\"\n values.paused:\n+ false\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract OptimismPortal (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e) {\n +++ description: None\n upgradeability.implementation:\n- \"0x5FB30336A8d0841cf15d452afA297cB6D10877D7\"\n+ \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n implementations.0:\n- \"0x5FB30336A8d0841cf15d452afA297cB6D10877D7\"\n+ \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n values.GUARDIAN:\n- \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.isOutputFinalized:\n- [true,true,true,true,true]\n values.version:\n- \"1.7.0\"\n+ \"2.5.0\"\n values.guardian:\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.l2Oracle:\n+ \"0x56315b90c40730925ec5485cf004d835058518A0\"\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.systemConfig:\n+ \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\"\n errors:\n- {\"isOutputFinalized\":\"Too many values. Update configuration to explore fully\"}\n }\n```\n\n```diff\n contract L2OutputOracle (0x56315b90c40730925ec5485cf004d835058518A0) {\n +++ description: None\n upgradeability.implementation:\n- \"0xf2460D3433475C8008ceFfe8283F07EB1447E39a\"\n+ \"0xF243BEd163251380e78068d317ae10f26042B292\"\n implementations.0:\n- \"0xf2460D3433475C8008ceFfe8283F07EB1447E39a\"\n+ \"0xF243BEd163251380e78068d317ae10f26042B292\"\n values.computeL2Timestamp:\n- [1686789348,1686789350,1686789352,1686789354,1686789356]\n values.getL2Output:\n- [[\"0x61f4942f1af46203331e11dc496d2205d9585abec165134d8b22c108373ac44e\",1686797963,1800],[\"0x04ef6eb5d5d7654d8d4a35a8a514dc5a3a5ed8bdefb5b354293eeb41b397d3a3\",1686798023,3600],[\"0xadba58d47f714a60453283369665d7e4d59a8fed2a104da459dcaaccef836fb3\",1686801431,5400],[\"0xba2976155bd45bd7b1742831fc73a2183103c73f93cc33f5441b228cba69886a\",1686804875,7200],[\"0x24ed985d22ccdf05d8d41fddefe433d34975d41c3cfb0d6329940b9243fc1d0d\",1686808343,9000]]\n values.getL2OutputAfter:\n- [[\"0x61f4942f1af46203331e11dc496d2205d9585abec165134d8b22c108373ac44e\",1686797963,1800],[\"0x61f4942f1af46203331e11dc496d2205d9585abec165134d8b22c108373ac44e\",1686797963,1800],[\"0x61f4942f1af46203331e11dc496d2205d9585abec165134d8b22c108373ac44e\",1686797963,1800],[\"0x61f4942f1af46203331e11dc496d2205d9585abec165134d8b22c108373ac44e\",1686797963,1800],[\"0x61f4942f1af46203331e11dc496d2205d9585abec165134d8b22c108373ac44e\",1686797963,1800]]\n values.getL2OutputIndexAfter:\n- [0,0,0,0,0]\n values.version:\n- \"1.3.0\"\n+ \"1.8.0\"\n values.challenger:\n+ \"0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824\"\n values.deletedOutputs:\n+ [{\"prevNextOutputIndex\":1030,\"newNextOutputIndex\":1027},{\"prevNextOutputIndex\":1364,\"newNextOutputIndex\":1359}]\n values.finalizationPeriodSeconds:\n+ 604800\n values.l2BlockTime:\n+ 2\n values.proposer:\n+ \"0x642229f238fb9dE03374Be34B0eD8D9De80752c5\"\n values.submissionInterval:\n+ 1800\n errors:\n- {\"computeL2Timestamp\":\"Too many values. Update configuration to explore fully\",\"getL2Output\":\"Too many values. Update configuration to explore fully\",\"getL2OutputAfter\":\"Too many values. Update configuration to explore fully\",\"getL2OutputIndexAfter\":\"Too many values. Update configuration to explore fully\"}\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x608d94945A64503E642E6370Ec598e519a2C1E53) {\n +++ description: Used to bridge ERC-721 tokens from L1 to L2\n upgradeability.implementation:\n- \"0x3311aC7F72bb4108d9f4D5d50E7623B1498A9eC0\"\n+ \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n implementations.0:\n- \"0x3311aC7F72bb4108d9f4D5d50E7623B1498A9eC0\"\n+ \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.version:\n- \"1.1.1\"\n+ \"2.1.0\"\n values.paused:\n+ false\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\n +++ description: None\n upgradeability.implementation:\n- \"0x6481ff79597Fe4F77E1063f615ec5BDaDDEFfd4B\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n implementations.0:\n- \"0x6481ff79597Fe4F77E1063f615ec5BDaDDEFfd4B\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n values.batcherHash:\n- \"0x0000000000000000000000005050f69a9786f081509234f1a7f4684b5e5b76c9\"\n+ \"0x5050F69a9786F081509234F1a7F4684b5E5b76C9\"\n values.version:\n- \"1.3.0\"\n+ \"1.12.0\"\n values.BATCH_INBOX_SLOT:\n+ \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n+ \"0xFf00000000000000000000000000000000008453\"\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+ \"0x866E82a600A1414e583f7F13623F1aC5d58b0Afa\"\n values.l1ERC721Bridge:\n+ \"0x608d94945A64503E642E6370Ec598e519a2C1E53\"\n values.l1StandardBridge:\n+ \"0x3154Cf16ccdb4C6d922629664174b904d80F2C35\"\n values.L2_OUTPUT_ORACLE_SLOT:\n+ \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n+ \"0x56315b90c40730925ec5485cf004d835058518A0\"\n values.opStackDA:\n+ {\"isSomeTxsLengthEqualToCelestiaDAExample\":false,\"isSequencerSendingBlobTx\":true}\n values.OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT:\n+ \"0xa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320c\"\n values.OPTIMISM_PORTAL_SLOT:\n+ \"0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac\"\n values.optimismMintableERC20Factory:\n+ \"0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84\"\n values.optimismPortal:\n+ \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\"\n values.sequencerInbox:\n+ \"0xFf00000000000000000000000000000000008453\"\n values.START_BLOCK_SLOT:\n+ \"0xa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb19f\"\n values.startBlock:\n+ 17482144\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa) {\n +++ description: None\n upgradeability.implementation:\n- \"0x81C4Bd600793EBd1C0323604E1F455fE50A951F8\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n implementations.0:\n- \"0x81C4Bd600793EBd1C0323604E1F455fE50A951F8\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.version:\n- \"1.4.0\"\n+ \"2.3.0\"\n values.otherMessenger:\n+ \"0x4200000000000000000000000000000000000007\"\n values.paused:\n+ false\n values.portal:\n+ \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\"\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84)\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 LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\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 DeputyGuardianModule (0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FoundationMultisig_1 (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\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 Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: None\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```"
}
]
},
{
"id": "c7511d9e",
"date": "Wed, 19 Jun 2024 09:08:15 GMT",
"timestamp": 1718788095,
"description": "Gas limit raised by the amount of a baby step.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\n +++ description: None\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 90000000\n+ 97500000\n }\n```"
}
]
},
{
"id": "7b24957e",
"date": "Mon, 10 Jun 2024 09:30:26 GMT",
"timestamp": 1718011826,
"description": "Change one MS signer and raise L2 gas limit.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\n +++ description: None\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 75000000\n+ 90000000\n }\n```\n\n```diff\n contract BaseMultisig (0x9855054731540A48b28990B63DcF4f33d8AE46A1) {\n +++ description: None\n values.getOwners.2:\n- \"0x1d0D1f61137E457d4CF13146bBFA9F07B33f8Ec5\"\n+ \"0x5FbEFA105bbd53b43bf537Cbc5cD30804Dd0c993\"\n }\n```"
}
]
},
{
"id": "3c8fb790",
"date": "Thu, 30 May 2024 10:40:38 GMT",
"timestamp": 1717065638,
"description": "One new signer is added to the Guardian Multisig: `0x73565876170a336Fa02fDe34EeD03E3121f70bA6`.",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GuardianMultisig (0x14536667Cd30e52C0b458BaACcB9faDA7046E056) {\n +++ description: None\n upgradeability.threshold:\n- \"3 of 8 (38%)\"\n+ \"3 of 9 (33%)\"\n values.getOwners.8:\n+ \"0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839\"\n values.getOwners.7:\n- \"0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839\"\n+ \"0xBECAbd620cb6675f73C92bc444F7faCddf204DE2\"\n values.getOwners.6:\n- \"0xBECAbd620cb6675f73C92bc444F7faCddf204DE2\"\n+ \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\"\n values.getOwners.5:\n- \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\"\n+ \"0x969ffD102fbF304d4e401999333FE9397DaC653D\"\n values.getOwners.4:\n- \"0x969ffD102fbF304d4e401999333FE9397DaC653D\"\n+ \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n values.getOwners.3:\n- \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n+ \"0xa3D3c103442F162856163d564b983ae538c6202D\"\n values.getOwners.2:\n- \"0xa3D3c103442F162856163d564b983ae538c6202D\"\n+ \"0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04\"\n values.getOwners.1:\n- \"0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04\"\n+ \"0x92B79E6C995Ee8B267EC1Ac2743D1c1fBFFFc447\"\n values.getOwners.0:\n- \"0x92B79E6C995Ee8B267EC1Ac2743D1c1fBFFFc447\"\n+ \"0x73565876170a336Fa02fDe34EeD03E3121f70bA6\"\n }\n```"
}
]
},
{
"id": "527df683",
"date": "Wed, 29 May 2024 08:09:22 GMT",
"timestamp": 1716970162,
"description": "Gas limit on L2 is raised further. With a block time of 2s and elasticity of 10x, this currently puts Base at 3,75 GGas/s on average. This is 3x Ethereum Mainnet's 1,25 GGas/s and has a much higher surge scaling buffer. (elasticity)",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\n +++ description: None\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 60000000\n+ 75000000\n }\n```"
}
]
},
{
"id": "cba18b21",
"date": "Tue, 02 Apr 2024 08:35:50 GMT",
"timestamp": 1712046950,
"description": "The gas limit for the Base L2 is changed (33% raise). Current block time is 2s, elasticity is 10x.\nContext: Plans to raise the gas limit gradually.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\n +++ description: None\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 45000000\n+ 60000000\n }\n```"
}
]
},
{
"id": "ee19ba98",
"date": "Thu, 28 Mar 2024 07:45:55 GMT",
"timestamp": 1711611955,
"description": "The gas limit for the Base L2 is changed (50% raise). Current block time is 2s, elasticity is 10x.\nContext: Congestion on base, plans to raise the gas limit gradually.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\n +++ description: None\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 30000000\n+ 45000000\n }\n```"
}
]
},
{
"id": "96d47aaa",
"date": "Thu, 14 Mar 2024 00:20:47 GMT",
"timestamp": 1710375647,
"description": "Base uses blobs now.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x73a79Fab69143498Ed3712e519A88a918e1f4072) {\n +++ description: None\n values.opStackDA.isSequencerSendingBlobTx:\n- false\n+ true\n values.overhead:\n- 188\n+ 0\n values.scalar:\n- 684000\n+ \"452312848583266388373324160190187140051835877600158453279134021569375896653\"\n }\n```"
}
]
},
{
"id": "bf5ff941",
"date": "Thu, 21 Dec 2023 09:37:29 GMT",
"timestamp": 1703151449,
"description": "Two new owners (EOAs) are added to GuardianMultisig (now 3/8).",
"isHighSeverity": false,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GuardianMultisig (0x14536667Cd30e52C0b458BaACcB9faDA7046E056) {\n values.getOwners[7]:\n+ \"0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839\"\n values.getOwners[6]:\n+ \"0xBECAbd620cb6675f73C92bc444F7faCddf204DE2\"\n values.getOwners.5:\n- \"0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839\"\n+ \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\"\n values.getOwners.4:\n- \"0xBECAbd620cb6675f73C92bc444F7faCddf204DE2\"\n+ \"0x969ffD102fbF304d4e401999333FE9397DaC653D\"\n values.getOwners.3:\n- \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\"\n+ \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n values.getOwners.2:\n- \"0x969ffD102fbF304d4e401999333FE9397DaC653D\"\n+ \"0xa3D3c103442F162856163d564b983ae538c6202D\"\n values.getOwners.1:\n- \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n+ \"0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04\"\n values.getOwners.0:\n- \"0xa3D3c103442F162856163d564b983ae538c6202D\"\n+ \"0x92B79E6C995Ee8B267EC1Ac2743D1c1fBFFFc447\"\n }\n```"
}
]
},
{
"id": "ba8cba11",
"date": "Fri, 01 Dec 2023 12:33:59 GMT",
"timestamp": 1701434039,
"description": "Added wstETHEscrow contract.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n+ Status: CREATED\n contract wstETHEscrow (0x9de443AdC5A411E83F1878Ef24C3F52C61571e72) {\n }\n```"
}
]
},
{
"id": "beb7ce7c",
"date": "Tue, 26 Sep 2023 08:12:33 GMT",
"timestamp": 1695715953,
"description": "",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2OutputOracle (0x56315b90c40730925ec5485cf004d835058518A0) {\n values.deletedOutputs:\n+ [{\"prevNextOutputIndex\":1030,\"newNextOutputIndex\":1027},{\"prevNextOutputIndex\":1364,\"newNextOutputIndex\":1359}]\n }\n```"
}
]
}
]