54e2fac6 (main)
and
57784ae4 (PR)
+32 -11
+3 -3
{
"self": {
"stateValidation": {
"value": "None",
"description": "Currently the system permits invalid state roots. More details in project overview.",
"sentiment": "bad",
"orderHint": null,
"challengeDelay": 604800,
"secondLine": "7d challenge period"
"challengeDelay": 86400,
"secondLine": "1d challenge period"
},
"exitWindow": {
"value": "None",
"description": "There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.",
"sentiment": "bad",
"orderHint": -604800
"orderHint": -86400
},
"proposerFailure": {
"value": "Cannot withdraw",
"description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen.",
"sentiment": "bad",
"orderHint": null
},
"dataAvailability": {
"value": "Onchain",
"description": "All of the data needed for proof construction is published on Ethereum L1.",
"sentiment": "good",
"orderHint": null
},
"sequencerFailure": {
"value": "Self sequence",
"description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There can be up to a 12h delay on this operation.",
"sentiment": "good",
"orderHint": 43200,
"secondLine": "12h delay"
}
}
}
+5 -5
{
"architectureImage": "blast",
"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/0xFf00000000000000000000000000000000081457#code"
},
{
"title": "OptimismPortal.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0xA280aEBF81c917DbD2aA1b39f979dfECEc9e4391#code"
}
]
}
],
"exitMechanisms": [
{
"name": "Regular exit",
"description": "The user initiates the withdrawal by submitting a regular transaction on this chain. When the block containing that transaction is settled the funds become available for withdrawal on L1. The process of block finalization takes a challenge period of 7d to complete. Once funds are added to the withdrawal queue, operator must ensure there is enough liquidity for withdrawals. If not, they need to reclaim tokens from Yield Providers.",
"description": "The user initiates the withdrawal by submitting a regular transaction on this chain. When the block containing that transaction is settled the funds become available for withdrawal on L1. The process of block finalization takes a challenge period of 1d to complete. Once funds are added to the withdrawal queue, operator must ensure there is enough liquidity for withdrawals. If not, they need to reclaim tokens from Yield Providers.",
"risks": [
{
"category": "Funds can lose value if",
"text": "there is a hack or the yield goes negative for yield providers.",
"isCritical": true
},
{
"category": "Funds can be frozen if",
"text": "there is not enough liquidity in the bridge, transactions are locked in withdrawal queue.",
"isCritical": true
}
],
"references": [
{
"title": "OptimismPortal.sol - Etherscan source code, proveWithdrawalTransaction function",
"url": "https://etherscan.io/address/0xA280aEBF81c917DbD2aA1b39f979dfECEc9e4391#code"
},
{
"title": "OptimismPortal.sol - Etherscan source code, finalizeWithdrawalTransaction function",
"url": "https://etherscan.io/address/0xA280aEBF81c917DbD2aA1b39f979dfECEc9e4391#code"
},
{
"title": "L2OutputOracle.sol - Etherscan source code, PROPOSER check",
"url": "https://etherscan.io/address/0x1C90963D451316E3DBFdD5A30354EE56C29016EB#code"
"url": "https://etherscan.io/address/0x550893B7041E91A090e7d03Cf437029Fe0f68ABc#code"
}
]
},
{
"name": "Forced messaging",
"description": "If the user experiences censorship from the operator with regular L2->L1 messaging they can submit their messages directly on L1. The system is then obliged to service this request or halt all messages, including forced withdrawals from L1 and regular messages initiated on L2. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular message.",
"risks": [],
"references": [
{
"title": "Forced transaction 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": "OptimismPortal.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0xA280aEBF81c917DbD2aA1b39f979dfECEc9e4391#code"
}
]
},
"operator": {
"name": "The system has a centralized operator",
"description": "The operator is the only entity that can propose blocks. A live and trustworthy operator is vital to the health of the system.",
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
],
"references": [
{
"title": "L2OutputOracle.sol - source code, CHALLENGER address",
"url": "https://etherscan.io/address/0x1C90963D451316E3DBFdD5A30354EE56C29016EB#code"
"url": "https://etherscan.io/address/0x550893B7041E91A090e7d03Cf437029Fe0f68ABc#code"
},
{
"title": "L2OutputOracle.sol - source code, PROPOSER address",
"url": "https://etherscan.io/address/0x1C90963D451316E3DBFdD5A30354EE56C29016EB#code"
"url": "https://etherscan.io/address/0x550893B7041E91A090e7d03Cf437029Fe0f68ABc#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"
}
]
}
],
"stateDerivation": {
"nodeSoftware": "Node software can be found [here](https://github.com/blast-io/blast).",
"compressionScheme": "Data batches are compressed using the [zlib](https://github.com/madler/zlib) algorithm with best compression level.",
"genesisState": "The genesis file can be found [here](https://github.com/blast-io/deployment/blob/master/mainnet/genesis.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": "No state validation",
"description": "OP Stack projects can use the OP fault proof system, already being deployed on some. This project though is not using fault proofs yet and is relying on the honesty of the permissioned Proposer and Challengers to ensure state correctness. The smart contract system permits invalid state roots.",
"risks": [
{
"category": "Funds can be stolen if",
"text": "an invalid state root is submitted to the system.",
"isCritical": true
}
],
"references": [
{
"title": "L2OutputOracle.sol - source code, deleteL2Outputs function",
"url": "https://etherscan.io/address/0x1C90963D451316E3DBFdD5A30354EE56C29016EB#code"
"url": "https://etherscan.io/address/0x550893B7041E91A090e7d03Cf437029Fe0f68ABc#code"
}
]
}
]
},
"warning": "Fraud proof system is currently under development. Users need to trust the block proposer to submit correct L1 state roots."
}
+1 -1
{
"explanation": "Blast is an Optimistic rollup that posts transaction data to the L1. For a transaction to be considered final, it has to be posted within a tx batch on L1 that links to a previous finalized batch. If the previous batch is missing, transaction finalization can be delayed up to 12h or until it gets published. The state root is settled 7d after it has been posted.",
"explanation": "Blast is an Optimistic rollup that posts transaction data to the L1. For a transaction to be considered final, it has to be posted within a tx batch on L1 that links to a previous finalized batch. If the previous batch is missing, transaction finalization can be delayed up to 12h or until it gets published. The state root is settled 1d after it has been posted.",
"warnings": {
"stateUpdates": "Please note, for Optimistic rollups the state is not finalized until the challenge period passes."
}
}
+8 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x0Ec68c5B10F21EFFb74f2A5C61DFe6b08C0Db6Cb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xA280aEBF81c917DbD2aA1b39f979dfECEc9e4391"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708813571,
"transactionHash": "0xf82923e94578148fd33c7e506f9e5db98ca060c911b41c5b6697d167738dd6a0",
"implementations": [
"eth:0xd7bfDa9B3b014b16bada89F206607a8Ac7c6FB32"
]
},
{
"timestamp": 1711501259,
"transactionHash": "0xb813416a1e599fbebc813b4e9a8c29e5d94d45e8da6e10e86935768caed38e98",
"implementations": [
"eth:0xA280aEBF81c917DbD2aA1b39f979dfECEc9e4391"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately BlastMultisig 1\n * **guardian**: BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0Ec68c5B10F21EFFb74f2A5C61DFe6b08C0Db6Cb#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x5531DcfF39EC1ec727C4c5D2fc49835368F805a9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xA150f19B681a06E1a0B7E03934299a9bf9238cb7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708813235,
"transactionHash": "0xbe85666f88251637a983ac9ef301efcaa2fb56f8303b769b634404955be5dabf",
"implementations": [
"eth:0xA150f19B681a06E1a0B7E03934299a9bf9238cb7"
]
}
],
"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 BlastMultisig 1\n * **batcherHash**: EOA 2\n * **owner**: BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5531DcfF39EC1ec727C4c5D2fc49835368F805a9#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x826D1B0D4111Ad9146Eb8941D7Ca2B6a44215c76",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0x1C90963D451316E3DBFdD5A30354EE56C29016EB"
"eth:0x550893B7041E91A090e7d03Cf437029Fe0f68ABc"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708813535,
"transactionHash": "0x6294e04e136d66468e369543e2789863e2f036ab8e80d473d6808e414c3e233a",
"implementations": [
"eth:0x1c952514f0353d84d9ad35BcfB8E9Ea979289031"
]
},
{
"timestamp": 1709200619,
"transactionHash": "0x4e7b5b82e00b92a5b0380e3a47801760a35f00462793f28926184e984cddc478",
"implementations": [
"eth:0xaEbA6c3042B463DfAA6A2DFA96486D5A92186cFF"
]
},
{
"timestamp": 1721101547,
"transactionHash": "0xf9716c8e311c27decc5858f10b2a2c83ef3d8ce3958cfb242df5415a75b1e6eb",
"implementations": [
"eth:0x1C90963D451316E3DBFdD5A30354EE56C29016EB"
]
},
{
"timestamp": 1790964311,
"transactionHash": "0xf80d3e9a9768cde2683afdc6a71b7d595d4dc32768c965446b1bb79bb0bc63a8",
"implementations": [
"eth:0x550893B7041E91A090e7d03Cf437029Fe0f68ABc"
]
}
],
"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* Roles:\n * **admin**: ProxyAdmin; ultimately BlastMultisig 1\n * **challenger**: BlastMultisig 1\n * **proposer**: EOA 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x826D1B0D4111Ad9146Eb8941D7Ca2B6a44215c76#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x5D4472f31Bd9385709ec61305AFc749F0fA8e9d0",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0x84efcFCE2dEe08072d5D57BF232D379b6E92A836"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708812995,
"transactionHash": "0xb9df50a5931e96f2c6f8055055cf2943009705a369b845fbb3e0202a7b897223",
"implementations": [
"eth:0x5D4472f31Bd9385709ec61305AFc749F0fA8e9d0"
]
},
{
"timestamp": 1708813511,
"transactionHash": "0x718f17591631857e26554f08b52874c1826d990a5c53d8496b12c860509615ed",
"implementations": [
"eth:0xe7406f6d89a14aC3Fc28530479327948ea500659"
]
},
{
"timestamp": 1708997567,
"transactionHash": "0xcd5f72853d01d93a1fbf3d219a77c7f0243b0fd537d14737c3b0691f0897d67c",
"implementations": [
"eth:0x84efcFCE2dEe08072d5D57BF232D379b6E92A836"
]
}
],
"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 BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5D4472f31Bd9385709ec61305AFc749F0fA8e9d0#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x697402166Fbf2F22E970df8a6486Ef171dbfc524",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xD2C23A5A280AFF9182b953579f62EDdDF1c7ff22"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x697402166Fbf2F22E970df8a6486Ef171dbfc524#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xa45A0c7C47DB8C6e99b2d7C4939F7f7Cf69C8975",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0x3B01aDF2f199144233A536b08244d63e5eb691B8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708813463,
"transactionHash": "0x90946309f20c1cbbf4e4204b8f1aebb438908064a941cbd0882028dbe04dab22",
"implementations": [
"eth:0x3B01aDF2f199144233A536b08244d63e5eb691B8"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa45A0c7C47DB8C6e99b2d7C4939F7f7Cf69C8975#code"
},
{
"name": "DSRYieldProvider",
"isVerified": true,
"address": "eth:0x0733F618118bF420b6b604c969498ecf143681a8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Yield Provider for DAI investing DAI into the MakerDAO DSR.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0733F618118bF420b6b604c969498ecf143681a8#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: BlastMultisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x364289230b8cc7d9120eF962AF37ebCFe23cE883#code"
},
{
"name": "L1BlastBridge",
"isVerified": true,
"address": "eth:0x3a05E5d33d7Ab3864D53aaEc93c8301C1Fa49115",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0x7A2075519Dd9598b62075FD397aF0Dd34b14619a"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Custom bridge gateway for Blast that allows the Operators to reinvest L1 tokens while they are bridged to the L2.\n* Roles:\n * **admin**: ProxyAdmin; ultimately BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3a05E5d33d7Ab3864D53aaEc93c8301C1Fa49115#code"
},
{
"name": "LidoYieldProvider",
"isVerified": true,
"address": "eth:0x4316A00D31da1313617DbB04fD92F9fF8D1aF7Db",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Yield Provider for ETH investing ETH into stETH.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4316A00D31da1313617DbB04fD92F9fF8D1aF7Db#code"
},
{
"name": "LaunchBridge",
"isVerified": true,
"address": "eth:0x5F6AE08B8AeB7078cf2F96AFb089D7c9f51DA47d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x67CA7Ca75b69711cfd48B44eC3F64E469BaF608C"
],
"implementations": [
"eth:0x0bD88b59D580549285f0A207Db5F06bf24a8e561"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700359187,
"transactionHash": "0xb7f9a32a4d0d38440243d90730e7048ab1eea8c5301da80805131205a7759b4e",
"implementations": [
"eth:0xa01Def05A37850b2e13C8c839AA268845Df14276"
]
},
{
"timestamp": 1702321319,
"transactionHash": "0xb325f82fb0bd7454471789a44740a7bd3a81690a4e9c411e5c53e9412de149ca",
"implementations": [
"eth:0x829e8Bf84569A0B2da7B27f975F026fDb6e0a774"
]
},
{
"timestamp": 1708305143,
"transactionHash": "0x57c1c448e2afa4910ac0637260bcca28a4f0cd0b32abb001b261338962d38052",
"implementations": [
"eth:0x0bD88b59D580549285f0A207Db5F06bf24a8e561"
]
}
],
"description": "* Roles:\n * **admin**: BlastMultisig 2",
"upgradableBy": [
{
"name": "BlastMultisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5F6AE08B8AeB7078cf2F96AFb089D7c9f51DA47d#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x6B916DcCa661d23794e78509723A6f4348564847",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xBF21bc9AFaF817145B3886caDAF0860A2A0D782F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708813475,
"transactionHash": "0x56b371e38c6925d31d80525dc061b211c4c5070dfea14e6e34036f731443c516",
"implementations": [
"eth:0xBF21bc9AFaF817145B3886caDAF0860A2A0D782F"
]
}
],
"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 BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6B916DcCa661d23794e78509723A6f4348564847#code"
},
{
"name": "ETHYieldManager",
"isVerified": true,
"address": "eth:0x98078db053902644191f93988341E31289E1C8FE",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xf2F6148327B3020610FCa26E094D9A5cc4689525"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Contract managing Yield Providers for ETH.\n* Roles:\n * **admin**: ProxyAdmin; ultimately BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x98078db053902644191f93988341E31289E1C8FE#code"
},
{
"name": "USDYieldManager",
"isVerified": true,
"address": "eth:0xa230285d5683C74935aD14c446e137c8c8828438",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xeCDdf748A60E23609c07af6CA3856744B139B911"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Contract escrowing stablecoins and managing Yield Providers for stablecoins (like for example DAI).\n* Roles:\n * **admin**: ProxyAdmin; ultimately BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa230285d5683C74935aD14c446e137c8c8828438#code"
}
]
},
"escrows": [
{
"address": "0x0Ec68c5B10F21EFFb74f2A5C61DFe6b08C0Db6Cb",
"sinceTimestamp": 1708812875,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x0Ec68c5B10F21EFFb74f2A5C61DFe6b08C0Db6Cb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xA280aEBF81c917DbD2aA1b39f979dfECEc9e4391"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708813571,
"transactionHash": "0xf82923e94578148fd33c7e506f9e5db98ca060c911b41c5b6697d167738dd6a0",
"implementations": [
"eth:0xd7bfDa9B3b014b16bada89F206607a8Ac7c6FB32"
]
},
{
"timestamp": 1711501259,
"transactionHash": "0xb813416a1e599fbebc813b4e9a8c29e5d94d45e8da6e10e86935768caed38e98",
"implementations": [
"eth:0xA280aEBF81c917DbD2aA1b39f979dfECEc9e4391"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x0Ec68c5B10F21EFFb74f2A5C61DFe6b08C0Db6Cb#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x697402166Fbf2F22E970df8a6486Ef171dbfc524",
"sinceTimestamp": 1708812911,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x697402166Fbf2F22E970df8a6486Ef171dbfc524",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xD2C23A5A280AFF9182b953579f62EDdDF1c7ff22"
]
},
"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/0x697402166Fbf2F22E970df8a6486Ef171dbfc524#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x5F6AE08B8AeB7078cf2F96AFb089D7c9f51DA47d",
"sinceTimestamp": 1700359187,
"tokens": [
"stETH"
],
"contract": {
"name": "Pre-launch Blast Vault",
"isVerified": true,
"address": "eth:0x5F6AE08B8AeB7078cf2F96AFb089D7c9f51DA47d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x67CA7Ca75b69711cfd48B44eC3F64E469BaF608C"
],
"implementations": [
"eth:0x0bD88b59D580549285f0A207Db5F06bf24a8e561"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700359187,
"transactionHash": "0xb7f9a32a4d0d38440243d90730e7048ab1eea8c5301da80805131205a7759b4e",
"implementations": [
"eth:0xa01Def05A37850b2e13C8c839AA268845Df14276"
]
},
{
"timestamp": 1702321319,
"transactionHash": "0xb325f82fb0bd7454471789a44740a7bd3a81690a4e9c411e5c53e9412de149ca",
"implementations": [
"eth:0x829e8Bf84569A0B2da7B27f975F026fDb6e0a774"
]
},
{
"timestamp": 1708305143,
"transactionHash": "0x57c1c448e2afa4910ac0637260bcca28a4f0cd0b32abb001b261338962d38052",
"implementations": [
"eth:0x0bD88b59D580549285f0A207Db5F06bf24a8e561"
]
}
],
"description": "Pre-launch Blast Vault that keeps stETH. Funds from this Vault can be migrated to Blast bridge.",
"url": "https://etherscan.io/address/0x5F6AE08B8AeB7078cf2F96AFb089D7c9f51DA47d#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0x98078db053902644191f93988341E31289E1C8FE",
"sinceTimestamp": 1708812935,
"tokens": [
"ETH",
"stETH"
],
"contract": {
"name": "Interest-bearing ETH Vault",
"isVerified": true,
"address": "eth:0x98078db053902644191f93988341E31289E1C8FE",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xf2F6148327B3020610FCa26E094D9A5cc4689525"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Escrow for ETH that is invested into yield-bearing contracts such as stETH.",
"url": "https://etherscan.io/address/0x98078db053902644191f93988341E31289E1C8FE#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
}
],
"programHashes": [],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1772118382,
"baseTimestamp": 1791966825,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "ec5eb970",
"date": "Wed, 14 Oct 2026 08:34:53 GMT",
"timestamp": 1791966825,
"description": "L2OutputOracle implementation replaced: proposed state roots, and with them withdrawals, now finalize after 1d instead of 7d.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2OutputOracle (eth:0x826D1B0D4111Ad9146Eb8941D7Ca2B6a44215c76) [opstack/L2OutputOracle] {\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 values.$implementation:\n- \"eth:0x1C90963D451316E3DBFdD5A30354EE56C29016EB\"\n+ \"eth:0x550893B7041E91A090e7d03Cf437029Fe0f68ABc\"\n values.$pastUpgrades.3:\n+ [\"2026-10-02T18:05:11.000Z\",\"0xf80d3e9a9768cde2683afdc6a71b7d595d4dc32768c965446b1bb79bb0bc63a8\",[\"eth:0x550893B7041E91A090e7d03Cf437029Fe0f68ABc\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ description: Challenge period (Number of seconds until a state root is finalized).\n values.FINALIZATION_PERIOD_SECONDS:\n- 604800\n+ 86400\n values.finalizationPeriodSeconds:\n- 604800\n+ 86400\n implementationNames.eth:0x1C90963D451316E3DBFdD5A30354EE56C29016EB:\n- \"L2OutputOracle\"\n implementationNames.eth:0x550893B7041E91A090e7d03Cf437029Fe0f68ABc:\n+ \"L2OutputOracle\"\n }\n```"
}
]
},
{
"id": "1b80f245",
"date": "Thu, 26 Feb 2026 15:07:26 GMT",
"timestamp": 1772118382,
"description": "BlastMultisig 1: member #5 rotated from 0x2cF48F69 to 0x7DbDFbb2. Threshold remains 3 of 5.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract BlastMultisig 1 (eth:0x4f72ee94B8ba3Be7F886565d3583A7F636c58B05) {\n +++ description: None\n values.$members.4:\n- \"eth:0x2cF48F69a61261e67e3317D28Cf0EdD1aCAfA03d\"\n+ \"eth:0x7DbDFbb265bF26e626B44132eF4e3A3E6eEc1282\"\n }\n```"
}
]
},
{
"id": "18b336b0",
"date": "Mon, 14 Jul 2025 12:44:49 GMT",
"timestamp": 1752497089,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 17,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract DSRYieldProvider (0x0733F618118bF420b6b604c969498ecf143681a8)\n +++ description: Yield Provider for DAI investing DAI into the MakerDAO DSR.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x0Ec68c5B10F21EFFb74f2A5C61DFe6b08C0Db6Cb)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x364289230b8cc7d9120eF962AF37ebCFe23cE883)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1BlastBridge (0x3a05E5d33d7Ab3864D53aaEc93c8301C1Fa49115)\n +++ description: Custom bridge gateway for Blast that allows the Operators to reinvest L1 tokens while they are bridged to the L2.\n```\n\n```diff\n+ Status: CREATED\n contract LidoYieldProvider (0x4316A00D31da1313617DbB04fD92F9fF8D1aF7Db)\n +++ description: Yield Provider for ETH investing ETH into stETH.\n```\n\n```diff\n+ Status: CREATED\n contract BlastMultisig 1 (0x4f72ee94B8ba3Be7F886565d3583A7F636c58B05)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x5531DcfF39EC1ec727C4c5D2fc49835368F805a9)\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 L1CrossDomainMessenger (0x5D4472f31Bd9385709ec61305AFc749F0fA8e9d0)\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 LaunchBridge (0x5F6AE08B8AeB7078cf2F96AFb089D7c9f51DA47d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract BlastMultisig 2 (0x67CA7Ca75b69711cfd48B44eC3F64E469BaF608C)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x697402166Fbf2F22E970df8a6486Ef171dbfc524)\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 OptimismMintableERC20Factory (0x6B916DcCa661d23794e78509723A6f4348564847)\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 L2OutputOracle (0x826D1B0D4111Ad9146Eb8941D7Ca2B6a44215c76)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract ETHYieldManager (0x98078db053902644191f93988341E31289E1C8FE)\n +++ description: Contract managing Yield Providers for ETH.\n```\n\n```diff\n+ Status: CREATED\n contract USDYieldManager (0xa230285d5683C74935aD14c446e137c8c8828438)\n +++ description: Contract escrowing stablecoins and managing Yield Providers for stablecoins (like for example DAI).\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0xa45A0c7C47DB8C6e99b2d7C4939F7f7Cf69C8975)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xE064B565Cf2A312a3e66Fe4118890583727380C0)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "d9ed2dd5",
"date": "Mon, 02 Sep 2024 06:44:16 GMT",
"timestamp": 1725259456,
"description": "USDYieldManager contract is upgraded to change the immutable constant PSM to the [new price stability module 'LITE-PSM-USDC-A'](https://vote.makerdao.com/executive/template-executive-vote-lite-psm-usdc-a-phase-2-setup-august-22-2024) by MakerDAO.",
"isHighSeverity": true,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract USDYieldManager (0xa230285d5683C74935aD14c446e137c8c8828438) {\n +++ description: None\n values.$implementation:\n- \"0xE1cB7358311eCc408e1EFC47ceDc6740A8F68013\"\n+ \"0xeCDdf748A60E23609c07af6CA3856744B139B911\"\n }\n```"
}
]
},
{
"id": "f6b8f1b0",
"date": "Tue, 16 Jul 2024 08:31:24 GMT",
"timestamp": 1721118684,
"description": "A new L2OutputOracle implementation is deployed in order to change the constant FINALIZATION_PERIOD_SECONDS (challenge period) from 12 to 7 days.",
"isHighSeverity": true,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2OutputOracle (0x826D1B0D4111Ad9146Eb8941D7Ca2B6a44215c76) {\n +++ description: None\n values.$implementation:\n- \"0xaEbA6c3042B463DfAA6A2DFA96486D5A92186cFF\"\n+ \"0x1C90963D451316E3DBFdD5A30354EE56C29016EB\"\n values.FINALIZATION_PERIOD_SECONDS:\n- 1036800\n+ 604800\n values.finalizationPeriodSeconds:\n- 1036800\n+ 604800\n }\n```"
}
]
},
{
"id": "2fd463b6",
"date": "Tue, 28 May 2024 05:57:09 GMT",
"timestamp": 1716875829,
"description": "Blast uses blobs.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x5531DcfF39EC1ec727C4c5D2fc49835368F805a9) {\n +++ description: None\n values.opStackDA.isSequencerSendingBlobTx:\n- false\n+ true\n values.overhead:\n- 188\n+ 0\n values.owner:\n- \"0x7c4682F89313810582fb77CF6A4A388A6C77f3aF\"\n+ \"0x4f72ee94B8ba3Be7F886565d3583A7F636c58B05\"\n }\n```"
}
]
},
{
"id": "51df6d30",
"date": "Wed, 27 Mar 2024 13:29:26 GMT",
"timestamp": 1711546166,
"description": "Blast is manually blacklisting three addresses from the depositTransaction() function in this implementation change of the OptimismPortal.\n\nOne of them is labeled 'Munchables exploiter' on etherscan.\n(0x6E8836F050A315611208A5CD7e228701563D09c5, 0xc207Fa4b17cA710BA53F06fEFF56ca9d315915B7, 0xbf9ad762DBaE603BC8FC79DFD3Fb26f2b9740E87)\n\ndepositTransaction() in the OptimismPortal would allow a user to force an L2 transaction from L1 (e.g. a bridge transaction). Censoring it combined with censoring the L2 addresses from the Sequencer's side can effectively freeze the funds on L2.\n\nThe only other change is that a YIELD_CONTRACT_ADDRESS is introduced to a null address in constants.sol.",
"isHighSeverity": true,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal (0x0Ec68c5B10F21EFFb74f2A5C61DFe6b08C0Db6Cb) {\n +++ description: None\n upgradeability.implementation:\n- \"0xd7bfDa9B3b014b16bada89F206607a8Ac7c6FB32\"\n+ \"0xA280aEBF81c917DbD2aA1b39f979dfECEc9e4391\"\n implementations.0:\n- \"0xd7bfDa9B3b014b16bada89F206607a8Ac7c6FB32\"\n+ \"0xA280aEBF81c917DbD2aA1b39f979dfECEc9e4391\"\n }\n```"
}
]
},
{
"id": "57bac00e",
"date": "Tue, 19 Mar 2024 09:33:27 GMT",
"timestamp": 1710840807,
"description": "The insurance fee is disabled on ETH- and USDYieldManager. This fee was taken from positive yields.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ETHYieldManager (0x98078db053902644191f93988341E31289E1C8FE) {\n +++ description: None\n+++ description: Insurance fee taken from positive yields\n+++ severity: MEDIUM\n values.insuranceFeeBips:\n- 1000\n+ 0\n }\n```\n\n```diff\n contract USDYieldManager (0xa230285d5683C74935aD14c446e137c8c8828438) {\n +++ description: None\n+++ description: Insurance fee taken from positive yields\n+++ severity: MEDIUM\n values.insuranceFeeBips:\n- 1000\n+ 0\n }\n```"
}
]
},
{
"id": "f1696eed",
"date": "Mon, 11 Mar 2024 12:49:39 GMT",
"timestamp": 1710161379,
"description": "Update discovery to include the multisig threshold.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x5531DcfF39EC1ec727C4c5D2fc49835368F805a9) {\n +++ description: None\n values.opStackDA:\n+ {\"isSomeTxsLengthEqualToCelestiaDAExample\":false,\"isSequencerSendingBlobTx\":false}\n values.sequencerInbox:\n+ \"0xFf00000000000000000000000000000000081457\"\n errors:\n- {\"opStackDA\":\"network timeout at: https://api.etherscan.io/api?module=account&action=txlist&address=0x415c8893D514F9BC5211d36eEDA4183226b84AA7&startblock=0&endblock=19369456&page=1&offset=20&sort=desc&apikey=RC2W28PYNA2EUU86RJW52W2QXDXF13EWFK\",\"sequencerInbox\":\"network timeout at: https://api.etherscan.io/api?module=account&action=txlist&address=0x415c8893D514F9BC5211d36eEDA4183226b84AA7&startblock=0&endblock=19369456&page=1&offset=20&sort=desc&apikey=RC2W28PYNA2EUU86RJW52W2QXDXF13EWFK\"}\n }\n```"
}
]
},
{
"id": "9f0ea2a0",
"date": "Tue, 05 Mar 2024 14:07:32 GMT",
"timestamp": 1709647652,
"description": "Added manually Yield Providers. This will have to be updated to find them automatically.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract DSRYieldProvider (0x0733F618118bF420b6b604c969498ecf143681a8)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LidoYieldProvider (0x4316A00D31da1313617DbB04fD92F9fF8D1aF7Db)\n +++ description: None\n```"
}
]
},
{
"id": "1d366185",
"date": "Mon, 04 Mar 2024 10:56:28 GMT",
"timestamp": 1709549788,
"description": "Blast is using different Yield Providers and generally invests token deposits\nto a bridge on L1. We should in the future discover different yield providers\nbut this will require discovery improvements. Right now the decision is made\nto treat minted tokens on BLAST as externally bridged given fundamentally different\nrisk profile of these tokens.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract USDYieldManager (0xa230285d5683C74935aD14c446e137c8c8828438)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Insurance (0xBbE2cd60BD30Ef2aaceFD74C3199282ee35fBBa6)\n +++ description: None\n```"
}
]
},
{
"id": "e04a70c4",
"date": "Fri, 01 Mar 2024 14:14:26 GMT",
"timestamp": 1709302466,
"description": "Mainnet launch, the config is not yet complete. Assume that the project after\nthis commit is in under-review state.",
"isHighSeverity": false,
"changeCount": 15,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Bridge (0x5F6AE08B8AeB7078cf2F96AFb089D7c9f51DA47d) {\n +++ description: None\n values.isTransitionEnabled:\n- false\n+ true\n values.paused:\n- false\n+ true\n }\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x0Ec68c5B10F21EFFb74f2A5C61DFe6b08C0Db6Cb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x364289230b8cc7d9120eF962AF37ebCFe23cE883)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1BlastBridge (0x3a05E5d33d7Ab3864D53aaEc93c8301C1Fa49115)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract BlastMultisig (0x4f72ee94B8ba3Be7F886565d3583A7F636c58B05)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x5531DcfF39EC1ec727C4c5D2fc49835368F805a9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x5D4472f31Bd9385709ec61305AFc749F0fA8e9d0)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x697402166Fbf2F22E970df8a6486Ef171dbfc524)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x6B916DcCa661d23794e78509723A6f4348564847)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0x826D1B0D4111Ad9146Eb8941D7Ca2B6a44215c76)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ETHYieldManager (0x98078db053902644191f93988341E31289E1C8FE)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0xa45A0c7C47DB8C6e99b2d7C4939F7f7Cf69C8975)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Insurance (0xcFF70D7F37b1EBeE89c08E485f08ACAB5f6ff873)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xE064B565Cf2A312a3e66Fe4118890583727380C0)\n +++ description: None\n```"
}
]
},
{
"id": "5cd7ab32",
"date": "Mon, 19 Feb 2024 09:23:53 GMT",
"timestamp": 1708334633,
"description": "The implementation is upgraded. See Diff below for the changes.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Bridge (0x5F6AE08B8AeB7078cf2F96AFb089D7c9f51DA47d) {\n upgradeability.implementation:\n- \"0x829e8Bf84569A0B2da7B27f975F026fDb6e0a774\"\n+ \"0x0bD88b59D580549285f0A207Db5F06bf24a8e561\"\n implementations.0:\n- \"0x829e8Bf84569A0B2da7B27f975F026fDb6e0a774\"\n+ \"0x0bD88b59D580549285f0A207Db5F06bf24a8e561\"\n values.proposedBridgeReadyAt:\n- 0\n values.proposedMainnetBridge:\n- [\"0x0000000000000000000000000000000000000000\",\"0x0000000000000000000000000000000000000000000000000000000000000000\"]\n values.proposedUpgrade:\n- [\"0x0000000000000000000000000000000000000000\",\"0x0000000000000000000000000000000000000000000000000000000000000000\"]\n values.proposedUpgradeReadyAt:\n- 0\n }\n```"
}
]
},
{
"id": "9c0592e4",
"date": "Tue, 12 Dec 2023 16:53:48 GMT",
"timestamp": 1702400028,
"description": "Change in the Bridge implementation. A 24h timelock is introduced on Admin Proxy updates and Bridge Transition updates. The update proposals can be created by the owner and canceled by the owner if not executed yet. Updates that do not go through the timelock will now revert.\n\nUsers can now withdraw in two cases:\n\n- While there is an active proposal for upgrade/transition. In that case users will lose their points.\n- After the contract has expired (currently set to 1 June 2024)\n\nOther changes: The \\_moveETH and \\_moveUSD functions are refactored to return the assets value (previously executing the transfer), the actual transfer to the new bridge is now done within the transition function.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Bridge (0x5F6AE08B8AeB7078cf2F96AFb089D7c9f51DA47d) {\n upgradeability.implementation:\n- \"0xa01Def05A37850b2e13C8c839AA268845Df14276\"\n+ \"0x829e8Bf84569A0B2da7B27f975F026fDb6e0a774\"\n implementations.0:\n- \"0xa01Def05A37850b2e13C8c839AA268845Df14276\"\n+ \"0x829e8Bf84569A0B2da7B27f975F026fDb6e0a774\"\n values.proposedBridgeReadyAt:\n+ 0\n values.proposedMainnetBridge:\n+ [\"0x0000000000000000000000000000000000000000\",\"0x0000000000000000000000000000000000000000000000000000000000000000\"]\n values.proposedUpgrade:\n+ [\"0x0000000000000000000000000000000000000000\",\"0x0000000000000000000000000000000000000000000000000000000000000000\"]\n values.proposedUpgradeReadyAt:\n+ 0\n }\n```"
}
]
},
{
"id": "adcb81eb",
"date": "Mon, 04 Dec 2023 15:05:33 GMT",
"timestamp": 1701702333,
"description": "Change in BridgeOwner (multisig) owners.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract BridgeOwner (0x67CA7Ca75b69711cfd48B44eC3F64E469BaF608C) {\n values.getOwners.0:\n- \"0x59cDa1e234505D460c972e58452c0A6d8e14a5Ce\"\n+ \"0x49d495DE356259458120bfd7bCB463CFb6D6c6BA\"\n }\n```"
}
]
},
{
"id": "e2395db6",
"date": "Tue, 21 Nov 2023 08:08:48 GMT",
"timestamp": 1700554128,
"description": "Update discovery to include the multisig threshold.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n+ Status: CREATED\n contract Bridge (0x5F6AE08B8AeB7078cf2F96AFb089D7c9f51DA47d) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract BridgeOwner (0x67CA7Ca75b69711cfd48B44eC3F64E469BaF608C) {\n }\n```"
}
]
}
]
+15 -1
+1 -1
{
"baseTimestamp": 1791533460,
"baseTimestamp": 1791965825,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "a0d3eb25",
"date": "Wed, 14 Oct 2026 08:18:19 GMT",
"timestamp": 1791965825,
"description": "RISC Zero verifier owner Safe: ownership transfer of the five RiscZeroVerifierEmergencyStops to an EOA started (`pendingOwner`), and Proposer, Executor and Canceller role grants to the same EOA scheduled on the TimelockController, 3d delay.",
"isHighSeverity": false,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) [global/TimelockController] {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.21:\n+ {\"id\":\"0xb88d38cc5995760c99a754e1fef6919fc7ee643d4de92b098d916b906b359910\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15db09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.22:\n+ {\"id\":\"0xb88d38cc5995760c99a754e1fef6919fc7ee643d4de92b098d916b906b359910\",\"index\":1,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15dd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.23:\n+ {\"id\":\"0xb88d38cc5995760c99a754e1fef6919fc7ee643d4de92b098d916b906b359910\",\"index\":2,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15dfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x1efDd13f831ceeEa14940806705A53D3211CD698) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9 that allows pausing (emergency stop) the verifier by its owner.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97 that allows pausing (emergency stop) the verifier by its owner.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85 that allows pausing (emergency stop) the verifier by its owner.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D that allows pausing (emergency stop) the verifier by its owner.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF that allows pausing (emergency stop) the verifier by its owner.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```"
}
]
},
{
"id": "99b796ec",
"date": "Fri, 09 Oct 2026 08:12:45 GMT",
"timestamp": 1791533460,
"description": "RISC Zero verifier owner Safe: member rotated, threshold 3/5 → 2/5.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0xd5D43445d0227a47cA2eACCb9392352746eD9926\"\n+ \"eth:0x9a017883e4A6BB2a6261D92D70f71107F2C39D12\"\n values.$threshold:\n- 3\n+ 2\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"2 of 5 (40%)\"\n }\n```"
}
]
},
{
"id": "d963a01d",
"date": "Fri, 02 Oct 2026 12:42:45 GMT",
"timestamp": 1790944898,
"description": "Upgrade 18 (op-contracts/v6.0.0) and Upgrade 19b \"Karst\" (op-contracts/v7.0.0), executed in one transaction on 2026-09-16 by Bob Multisig 1 via Conduit-deployed OPContractsManager (v6.0.0) and OPContractsManagerV2 (v7.1.17).\n\n`respectedGameType` `1337` (KailuaGame) -> `1` (PermissionedDisputeGame), set in the same transaction. KailuaGame stays registered as type `1337`. Type-1 prestate: op-program v1.6.0.\n\n`disputeGameFinalityDelaySeconds` 86400 -> 43200. PermissionedDisputeGame `maxClockDuration` 302400 -> 43200, `clockExtension` 10800 -> 1543. PreimageOracle `challengePeriod` 86400 -> 12343. DelayedWETH `delay` 302400 -> 43200.\n\nSystemConfig `batchInbox` changed.\n\nVersion changes and implementation diffs:\n\n- OptimismPortal2 5.1.1 -> 5.6.1: https://disco.l2beat.com/diff/eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287/eth:0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c\n- SystemConfig 3.11.0 -> 3.14.2: https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\n- DisputeGameFactory 1.3.0 -> 1.6.1: https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\n- AnchorStateRegistry 3.5.0 -> 3.9.0: https://disco.l2beat.com/diff/eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431/eth:0x5020964201C4d65555f33FD9Bc281443d65f4C09\n- L1StandardBridge 2.8.0 -> 2.8.2: https://disco.l2beat.com/diff/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A/eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\n- L1CrossDomainMessenger 2.11.0 -> 2.11.1: https://disco.l2beat.com/diff/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0/eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\n- L1ERC721Bridge 2.9.0 -> 2.9.1: https://disco.l2beat.com/diff/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9/eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\n- OptimismMintableERC20Factory 1.10.2 -> 1.11.0: https://disco.l2beat.com/diff/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB/eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\n- SuperchainConfig 2.4.0 -> 2.4.2: https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\n- PermissionedDisputeGame 1.8.0 -> 2.4.0: https://disco.l2beat.com/diff/eth:0x15F80920C8Fec136e2A804E04f26203FF8dAd19A/eth:0x642d1cc835a81c738313EBe85ED61979a44897bF\n- MIPS 1.9.0 -> 1.10.1: https://disco.l2beat.com/diff/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908/eth:0xb6B6342ff75b4213cBF101c135f1fC33695acc13\n- PreimageOracle 1.1.4 -> 1.1.5: https://disco.l2beat.com/diff/eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3/eth:0x70A3e3112467E177585eF070B63521c9368F9aA1\n- DelayedWETH 1.5.0 -> 1.5.1: https://disco.l2beat.com/diff/eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998/eth:0xebC3681418136F7A9f6cB4B074B1B19fc85879e1",
"isHighSeverity": true,
"changeCount": 194,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.1.from:\n- \"eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d\"\n+ \"eth:0x048D0cfF3F0729117F44da6494Dbf4d78e593D95\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x15F80920C8Fec136e2A804E04f26203FF8dAd19A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract L1StandardBridge (eth:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.6:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 6\n+ 9\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.9:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 9\n+ 12\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n EOA (eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\",\"description\":\"Allowed to post new state roots of the current layer to the host chain.\",\"role\":\".proposerFromDGF\"}\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x3e7e2cb08ba995795937c9c2e8ea9d0e4d2e2de852f389055073384d5f79c59d\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287\"\n+ \"eth:0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c\"\n values.$pastUpgrades.11:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x01868AC54B28257A06Aa0BcDB397447F7B896F7F\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.13:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c\"]]\n values.$upgradeCount:\n- 11\n+ 14\n values.disputeGameFinalityDelaySeconds:\n- 86400\n+ 43200\n values.RespectedGameString:\n- \"KailuaGame\"\n+ \"PermissionedDisputeGame\"\n values.respectedGameType:\n- 1337\n+ 1\n values.version:\n- \"5.1.1\"\n+ \"5.6.1\"\n implementationNames.eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287:\n- \"OptimismPortal2\"\n implementationNames.eth:0x1FeD97C63C44f0cC6F861a9Ba2E8AedFE466485c:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x7daf6049672fd2ab7dc8dd3b6287e1d0a40958346c5e2857c4616a73dcac4da6\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.4:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 4\n+ 7\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x15F80920C8Fec136e2A804E04f26203FF8dAd19A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [0,0,0,0,0]\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6b6b6342ff75b4213cbf101c135f1fc33695acc13c9ac21acd8696b64270716528bf83630ea7a293c048d0cff3f0729117f44da6494dbf4d78e593d95000000000000000000000000000000000000000000000000000000000000ed887cb1022d30b9860c36b243e7b181a1d46f618c69c91482a96e9c2a104d9298d1980eccf8c4dc764e\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69\"\n values.version:\n- \"1.3.0\"\n+ \"1.6.1\"\n+++ severity: HIGH\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x048D0cfF3F0729117F44da6494Dbf4d78e593D95\"\n+++ severity: HIGH\n values.absolutePrestateFromDGF:\n+ \"0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6\"\n+++ severity: HIGH\n values.anchorStateRegistryFromDGF:\n+ \"eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c\"\n+++ severity: HIGH\n values.chainIdFromDGF:\n+ 60808\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0x642d1cc835a81c738313EBe85ED61979a44897bF\"\n+++ severity: HIGH\n values.game5:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game5AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game5Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game5Proposer:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8AbsolutePrestate:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game8Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game8ChainId:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Vm:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Weth:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game9AbsolutePrestate:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game9Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game9Vm:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9Weth:\n+ \"UNRESOLVED\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ 0\n values.initBondGame5:\n+ 0\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ 0\n values.initBondGame9:\n+ 0\n+++ severity: HIGH\n values.vmFromDGF:\n+ \"eth:0xb6B6342ff75b4213cBF101c135f1fC33695acc13\"\n fieldMeta.$admin:\n- {\"severity\":\"HIGH\"}\n fieldMeta.owner:\n- {\"severity\":\"HIGH\"}\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game5:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.absolutePrestateFromDGF:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.vmFromDGF:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8AbsolutePrestate:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8Vm:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8AnchorStateRegistry:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8Weth:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8ChainId:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9AbsolutePrestate:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9Vm:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9AnchorStateRegistry:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9Weth:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game5AnchorStateRegistry:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game5Proposer:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.anchorStateRegistryFromDGF:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.chainIdFromDGF:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceBytes32\",\"arg\":{\"offset\":0}}\n usedTypes.1:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n usedTypes.2:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n usedTypes.3:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":52}}\n usedTypes.4:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":72}}\n usedTypes.5:\n+ {\"typeCaster\":\"SliceUint256\",\"arg\":{\"offset\":92}}\n usedTypes.6:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":0}}\n usedTypes.7:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":20}}\n usedTypes.2:\n- {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":72}}\n }\n```\n\n```diff\n contract SystemConfig (eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xaa1b3bedab4e63198240e9dea4503f0e615e4d18a545961c9f11b72143279fbc\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.10:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 10\n+ 13\n values.batchInbox:\n- \"eth:0x3A75346f81302aAc0333FB5DCDD407e12A6CfA83\"\n+ \"eth:0x008e0E9215d6bDb44A351ce5b8b8037A274f055B\"\n values.getAddresses.delayedWETH:\n+ \"eth:0x048D0cfF3F0729117F44da6494Dbf4d78e593D95\"\n values.getAddresses.opcm:\n+ \"eth:0x60Fb77F80B8319b6BDae875BCc29E2e37627F8d3\"\n values.version:\n- \"3.11.0\"\n+ \"3.14.2\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x048D0cfF3F0729117F44da6494Dbf4d78e593D95\"\n values.isCustomGasToken:\n+ false\n values.lastUsedOPCM:\n+ \"eth:0x60Fb77F80B8319b6BDae875BCc29E2e37627F8d3\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract Bob Multisig 1 (eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\",\"description\":\"Allowed to challenge or delete state roots proposed by a Proposer.\",\"role\":\".challengerFromDGF\"}\n receivedPermissions.4.from:\n- \"eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d\"\n+ \"eth:0x048D0cfF3F0729117F44da6494Dbf4d78e593D95\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xf808a203af41f7932eb8e39985e56a7c75c940a260fb17d76d1003a3793281b5\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431\"\n+ \"eth:0x5020964201C4d65555f33FD9Bc281443d65f4C09\"\n values.$pastUpgrades.2:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0xF458DB6Bb82D2Ffa697E8877872d4d114BC51B5C\"]]\n values.$pastUpgrades.3:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x5020964201C4d65555f33FD9Bc281443d65f4C09\"]]\n values.$upgradeCount:\n- 2\n+ 5\n values.absolutePrestateFromGame:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.challengePeriodFromOracle:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.disputeGameFinalityDelaySeconds:\n- 86400\n+ 43200\n values.oracleFromVm:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.RespectedGameString:\n- \"KailuaGame\"\n+ \"PermissionedDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 1337\n+ 1\n values.version:\n- \"3.5.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.wethFromGame:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.blacklistedGames:\n+ []\n values.getStartingAnchorRoot:\n+ {\"root\":\"0xdead000000000000000000000000000000000000000000000000000000000000\",\"l2SequenceNumber\":0}\n fieldMeta.$admin:\n- {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFactory:\n- {\"severity\":\"HIGH\"}\n fieldMeta.systemConfig:\n- {\"severity\":\"HIGH\"}\n fieldMeta.blacklistedGames:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x5020964201C4d65555f33FD9Bc281443d65f4C09:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.10:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 10\n+ 13\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46) [opstack/SuperchainConfigFake_expiry] {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.3:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-16T08:23:23.000Z\",\"0x6f54452af0caf09baf9e3c24b167cc850901088082dff2a244a5c39b1dee3bc7\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x048D0cfF3F0729117F44da6494Dbf4d78e593D95) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x642d1cc835a81c738313EBe85ED61979a44897bF) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x70A3e3112467E177585eF070B63521c9368F9aA1) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xb6B6342ff75b4213cBF101c135f1fC33695acc13) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "443fb31c",
"date": "Wed, 08 Jul 2026 08:23:37 GMT",
"timestamp": 1783498944,
"description": "Upgraded Kailua to v1.3.0 release, program hash reproduced. Also rotated ms member.",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract KailuaVerifier (eth:0xa23bf38299bbCbAA01b9ea8a1d3412D9f405b97d) [N/A] {\n +++ description: None\n values.$implementation:\n- \"eth:0xF59DA245d3D69E5432Afd05008E8D332C1bfAb4e\"\n+ \"eth:0xC9934Db60031aDd319d008f8d643E3b723f28e43\"\n values.$pastUpgrades.1:\n+ [\"2026-07-08T07:35:47.000Z\",\"0x211cae5e55a0b57029752e11536fb7a4175d8059cb9d4ec37ca7e50d635809dd\",[\"eth:0xC9934Db60031aDd319d008f8d643E3b723f28e43\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.FPVM_IMAGE_ID:\n- \"0x3768ea4f0e0d940f69c4cc5bd39a9e2772bfe3cb57818ce526bbe68033ee5934\"\n+ \"0xb2e2b1513e80ea1e8f998e51bf8e7754eec21dbd0463e0b6b115165ba6bac2bf\"\n values.ROLLUP_CONFIG_HASH:\n- \"0x8afe7ad42347f5d9f9ad307825d14a39630504005cb998d5132dcd0d0485d64d\"\n+ \"0x56ed6a78ed98a992a16a46513ee4ee496a86302a96d0f2bcee133c21351cd681\"\n implementationNames.eth:0xF59DA245d3D69E5432Afd05008E8D332C1bfAb4e:\n- \"KailuaVerifier\"\n implementationNames.eth:0xC9934Db60031aDd319d008f8d643E3b723f28e43:\n+ \"KailuaVerifier\"\n }\n```\n\n```diff\n contract Bob Multisig 1 (eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) [GnosisSafe] {\n +++ description: None\n values.$members.4:\n- \"eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"eth:0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n }\n```"
}
]
},
{
"id": "6e0a0f51",
"date": "Fri, 03 Jul 2026 10:00:00 GMT",
"timestamp": 1783072732,
"description": "Upgrade to Kailua [v1.2.0](https://github.com/boundless-xyz/kailua/releases/tag/v1.2.0).\n\n- Vanguard advantage activated: previously `0s` (disabled), now `1mo` with a designated vanguard (`0x7cB1022D…`). The vanguard can delay the first child proposal of each parent tournament by up to a month; sibling proposals stay permissionless (v1.2.0 retains the `childCount() == 1` gate).\n- `KailuaGame` impl rotated ([diff](https://disco.l2beat.com/diff/eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF/eth:0xD37b0BEdD9094988a31dBbB6BF77dC97269E742b)) — now holds a direct `KAILUA_VERIFIER` reference (read once from the treasury at construction) and calls the verifier for proof checking. The vanguard gate is unchanged (`assignVanguard`, `vanguardAdvantage`, `childCount() == 1`), but tournament payout economics were reworked (see below).\n- `KailuaTreasury` rotated ([diff](https://disco.l2beat.com/diff/eth:0x9B3E1661bccAF907893B71e4016c01513ae9263C/eth:0x9937033Cc967eED9d753e31c77D2F146d002ae53)) — drops the `RISC_ZERO_VERIFIER`, `FPVM_IMAGE_ID`, and `ROLLUP_CONFIG_HASH` immutables (moved to KailuaVerifier) and holds a `KAILUA_VERIFIER` reference instead.\n- `KailuaVerifier` (new in v1.2.0) — proxy-wrapped, holds the proof config that used to sit on KailuaTreasury, and replaces the previous `RiscZeroVerifierRouter` + emergency-stop path. Adds optional fault-proof permits: a prover can lock collateral to reserve an exclusive window for collecting the fault-proof reward (anti-front-run). On bob the permit window is effectively off (`PERMIT_DELAY=0`, `PERMIT_DURATION=1` → 1-second active window); fault-proof submission remains permissionless.\n- Tournament payout economics reworked (independent of the vanguard gate). Slashed participation bonds now split 1/3 prover / 1/3 winner / 1/3 burn (`ELIMINATION_SPLIT_DENOM=3`, `PROVER_NUM=1`, `WINNER_NUM=1`) accrued via `eliminationRewards` / `winnerSharesByParent` and claimed with `claimEliminationRewards()`, replacing the old full-bond `claimEliminationBonds(uint256)` / `eliminations[]` mechanic. And `KailuaGame.getPayoutRecipient` now routes the fault-proof reward through `KAILUA_VERIFIER.faultProofPermitBeneficiary` before falling back to the fault/validity prover (inert on bob given the 1-second permit window).\n- New FPVM image ID deployed alongside the v1.2.0 contracts.",
"isHighSeverity": true,
"changeCount": 43,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) [global/TimelockController] {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n values.accessControl.PROPOSER_ROLE.members.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.accessControl.CANCELLER_ROLE.members.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.accessControl.EXECUTOR_ROLE.members.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.12:\n+ {\"id\":\"0x5fb8d6ab7b9ad6614a645faf85120306acf72c02bc66de00b027c8ec57eff377\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15db09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc10000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.13:\n+ {\"id\":\"0x336fa76c82918a2642423bcae028021a204288e86965316b58737fb6e6a2d985\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15dd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e630000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.14:\n+ {\"id\":\"0x0c0f9e544f5acb8eafdf44bbd4a1f21cde030970ad1f76c01504ff1c291f0e9d\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15dfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f7830000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.15:\n+ {\"id\":\"0x89a458a6781bd045d785361e429a3df71167dff9e14996fa5f98ca7c5eb9d4c3\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0xd547741fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.16:\n+ {\"id\":\"0x4acc61e26f03e0270258c3fe8aec76d8ce5c80e8e100972e3091fc77c8882819\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0xd547741fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.17:\n+ {\"id\":\"0xf239631e46b22677b2b8b3b35d3780a1de298d9234c6906ce98aa3168d52cc97\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0xd547741ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.15:\n+ {\"id\":\"0x5fb8d6ab7b9ad6614a645faf85120306acf72c02bc66de00b027c8ec57eff377\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15db09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc10000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.16:\n+ {\"id\":\"0x336fa76c82918a2642423bcae028021a204288e86965316b58737fb6e6a2d985\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15dd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e630000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.17:\n+ {\"id\":\"0x0c0f9e544f5acb8eafdf44bbd4a1f21cde030970ad1f76c01504ff1c291f0e9d\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15dfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f7830000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.18:\n+ {\"id\":\"0x89a458a6781bd045d785361e429a3df71167dff9e14996fa5f98ca7c5eb9d4c3\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0xd547741fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.19:\n+ {\"id\":\"0x4acc61e26f03e0270258c3fe8aec76d8ce5c80e8e100972e3091fc77c8882819\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0xd547741fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.20:\n+ {\"id\":\"0xf239631e46b22677b2b8b3b35d3780a1de298d9234c6906ce98aa3168d52cc97\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0xd547741ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n values.Canceller.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.Executor.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.Proposer.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x1efDd13f831ceeEa14940806705A53D3211CD698) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9 that allows pausing (emergency stop) the verifier by its owner.\n values.owner:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaGame (eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF) [risc0/KailuaGame]\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97 that allows pausing (emergency stop) the verifier by its owner.\n values.owner:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n EOA (eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0x9937033Cc967eED9d753e31c77D2F146d002ae53\",\"description\":\"propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock.\",\"role\":\".vanguard\"}]\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85 that allows pausing (emergency stop) the verifier by its owner.\n values.owner:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game1337:\n- \"eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF\"\n+ \"eth:0xD37b0BEdD9094988a31dBbB6BF77dC97269E742b\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaTreasury (eth:0x9B3E1661bccAF907893B71e4016c01513ae9263C) [risc0/KailuaTreasury]\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 0s.\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D that allows pausing (emergency stop) the verifier by its owner.\n values.owner:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n contract Bob Multisig 1 (eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) [GnosisSafe] {\n +++ description: None\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xa23bf38299bbCbAA01b9ea8a1d3412D9f405b97d\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF that allows pausing (emergency stop) the verifier by its owner.\n values.owner:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n EOA (eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"description\":\"cancel queued transactions.\",\"role\":\".Canceller\"}\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"description\":\"execute transactions that are ready.\",\"role\":\".Executor\"}\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"description\":\"manage all access control roles.\",\"role\":\".defaultAdminAC\",\"via\":[{\"address\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"delay\":259200}]}\n receivedPermissions.3:\n- {\"permission\":\"interact\",\"from\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"description\":\"propose transactions.\",\"role\":\".Proposer\"}\n receivedPermissions.4:\n- {\"permission\":\"interact\",\"from\":\"eth:0x1efDd13f831ceeEa14940806705A53D3211CD698\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n receivedPermissions.6:\n- {\"permission\":\"interact\",\"from\":\"eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n receivedPermissions.7:\n- {\"permission\":\"interact\",\"from\":\"eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n receivedPermissions.8:\n- {\"permission\":\"interact\",\"from\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"description\":\"add/remove verifiers and the selectors they are mapped to.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"delay\":259200}]}\n receivedPermissions.9:\n- {\"permission\":\"interact\",\"from\":\"eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n receivedPermissions.10:\n- {\"permission\":\"interact\",\"from\":\"eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"delay\":259200,\"role\":\".Executor\"}]\n }\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (eth:0x9937033Cc967eED9d753e31c77D2F146d002ae53) [risc0/KailuaTreasury]\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaVerifier (eth:0xa23bf38299bbCbAA01b9ea8a1d3412D9f405b97d) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0xD37b0BEdD9094988a31dBbB6BF77dC97269E742b) [risc0/KailuaGame]\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```"
}
]
},
{
"id": "62d1a908",
"date": "Thu, 04 Jun 2026 17:38:21 GMT",
"timestamp": 1773320760,
"description": "New game name (aggregateVerifier) added to portal.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C) [N/A]\n +++ description: None\n```"
}
]
},
{
"id": "7dab5b50",
"date": "Thu, 12 Mar 2026 13:08:25 GMT",
"timestamp": 1773320760,
"description": "OptimismPortal2 and AnchorStateRegistry upgraded (same tx). proofMaturityDelaySeconds reduced from 604800 (7 days) to 86400 (1 day), disputeGameFinalityDelaySeconds from 302400 (3.5 days) to 86400 (1 day). Actual withdrawal time still depends on Kailua game resolution / proof timing. Templates still match — no new functionality, just constructor parameter changes baked into the new implementations. OptimismPortal2 diff: https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287 AnchorStateRegistry diff: https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431",
"isHighSeverity": true,
"changeCount": 13,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287\"\n values.$pastUpgrades.10:\n+ [\"2026-03-12T10:39:35.000Z\",\"0x0c0e889a96e766d168753f3e596af7d57a9c07f7d84fb0ba05e3d46adf61ddd8\",[\"eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.disputeGameFinalityDelaySeconds:\n- 302400\n+ 86400\n values.proofMaturityDelaySeconds:\n- 604800\n+ 86400\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431\"\n values.$pastUpgrades.1:\n+ [\"2026-03-12T10:39:35.000Z\",\"0x0c0e889a96e766d168753f3e596af7d57a9c07f7d84fb0ba05e3d46adf61ddd8\",[\"eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.disputeGameFinalityDelaySeconds:\n- 302400\n+ 86400\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431:\n+ \"AnchorStateRegistry\"\n }\n```"
}
]
},
{
"id": "c0a5cd9a",
"date": "Fri, 06 Mar 2026 10:05:07 GMT",
"timestamp": 1772791434,
"description": "New KailuaGame and KailuaTreasury instances deployed with the same implementation code (identical source hashes). The ROLLUP_CONFIG_HASH changed (0x4910...→0x69d9...) in preparation for BOB's Jovian hardfork activation on March 12, 2026 (mainnet timestamp 1773325801). The Kailua config hash includes hardfork timestamps, so adding jovian_time changes the hash. Ref: https://github.com/bob-collective/bob/pull/960. The KailuaTreasury L2_BLOCK_NUMBER also advanced (29576476→29835945).\n\nKailuaGame diff: https://disco.l2beat.com/diff/eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a/eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF\n\nKailuaTreasury diff: https://disco.l2beat.com/diff/eth:0xE99AF5F4C60E06Beb3827F4ffdD06E88c55fB895/eth:0x9B3E1661bccAF907893B71e4016c01513ae9263C",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game1337:\n- \"eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a\"\n+ \"eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaGame (eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n- Status: DELETED\n contract KailuaTreasury (eth:0xE99AF5F4C60E06Beb3827F4ffdD06E88c55fB895)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 0s.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (eth:0x9B3E1661bccAF907893B71e4016c01513ae9263C)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 0s.\n```"
}
]
},
{
"id": "d3b597f3",
"date": "Thu, 26 Feb 2026 22:03:44 GMT",
"timestamp": 1772143358,
"description": "BOB's Kailua dispute system was updated with new KailuaGame and KailuaTreasury contract instances. The DisputeGameFactory's game1337 implementation changed from 0xe4341585 to 0xe34577E7.\n\nThe new KailuaTreasury (0xE99AF5F4) retains the 0.5 ETH participation bond but has no vanguard advantage set (previously 1 month). The source code change is the addition of an OP-Contracts v5 compatibility shim: an `anchorStateRegistry()` function that returns `msg.sender`, allowing withdrawals under op-contracts v5.0.0.\n\nThe FPVM image ID also updated (0xf176eb82 → 0x4aca4abd), indicating a new ZK verification image for the RISC Zero prover.\n\nKailuaGame diff: https://disco.l2beat.com/diff/eth:0xe4341585B9BbC55A44C20A3C037058891e7A053b/eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a\n\nKailuaTreasury diff: https://disco.l2beat.com/diff/eth:0x6F27A23Fc28C18EB2C268BFe1d575E051Ad94420/eth:0xE99AF5F4C60E06Beb3827F4ffdD06E88c55fB895",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract KailuaTreasury (eth:0x6F27A23Fc28C18EB2C268BFe1d575E051Ad94420)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.\n```\n\n```diff\n EOA (eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"eth:0x6F27A23Fc28C18EB2C268BFe1d575E051Ad94420\",\"description\":\"propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock.\",\"role\":\".vanguard\"}]\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game1337:\n- \"eth:0xe4341585B9BbC55A44C20A3C037058891e7A053b\"\n+ \"eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaGame (eth:0xe4341585B9BbC55A44C20A3C037058891e7A053b)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (eth:0xE99AF5F4C60E06Beb3827F4ffdD06E88c55fB895)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 0s.\n```"
}
]
},
{
"id": "fa1c0e70",
"date": "Tue, 27 Jan 2026 16:46:34 GMT",
"timestamp": 1769532258,
"description": "New KailuaGame implementation (type 1337) deployed with OP-Contracts v5 compatibility patch. The new implementation adds a mock `anchorStateRegistry()` function that returns `msg.sender` as a workaround - OP-Contracts v5 expects dispute games to have this function for withdrawal finalization.\n\nDiff: https://disco.l2beat.com/diff/eth:0x1E987CF54A39CA2AC5FdC97DCaFbbB805ef356bD/eth:0xe4341585B9BbC55A44C20A3C037058891e7A053b",
"isHighSeverity": true,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract KailuaGame (eth:0x1E987CF54A39CA2AC5FdC97DCaFbbB805ef356bD)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game1337:\n- \"eth:0x1E987CF54A39CA2AC5FdC97DCaFbbB805ef356bD\"\n+ \"eth:0xe4341585B9BbC55A44C20A3C037058891e7A053b\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0xe4341585B9BbC55A44C20A3C037058891e7A053b)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```"
}
]
},
{
"id": "9a3232bd",
"date": "Wed, 21 Jan 2026 10:03:40 GMT",
"timestamp": 1768989690,
"description": "Upgraded to op-contracts v1.8.0-rc.4 (isthmus). Major version upgrades: OptimismPortal2 3.14.0 → 5.1.1, SystemConfig 2.5.0 → 3.11.0, L1CrossDomainMessenger 2.6.0 → 2.11.0, L1StandardBridge 2.3.0 → 2.8.0, L1ERC721Bridge 2.4.0 → 2.9.0, DisputeGameFactory 1.0.1 → 1.3.0. New dispute game infrastructure deployed with MIPS64, PermissionedDisputeGame, DelayedWETH, and AnchorStateRegistry at new addresses. SystemConfig maximumGasLimit increased from 200M to 500M.\n\nNotable changes specific to Bob: disputeGameFinalityDelaySeconds increased from 1 day to 3.5 days, proofMaturityDelaySeconds increased from 1 day to 7 days. SuperchainConfig upgraded to v2.4.0 with pause expiry feature (3mo 1d).",
"isHighSeverity": true,
"changeCount": 123,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0) {\n +++ description: None\n directlyReceivedPermissions.1.from:\n- \"eth:0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13\"\n+ \"eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d\"\n directlyReceivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xeBA14d52F1b19cA65455E5ECaB72D2FfD9e43fEF\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract L1StandardBridge (eth:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.3.0\"\n+ \"2.8.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.systemConfig:\n+ \"eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.5:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.7:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$pastUpgrades.8:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.4.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.systemConfig:\n+ \"eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.8:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$pastUpgrades.9:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.disputeGameFinalityDelaySeconds:\n- 86400\n+ 302400\n values.proofMaturityDelaySeconds:\n- 86400\n+ 604800\n values.respectedGameTypeUpdatedAt:\n- 1752761915\n+ 1768920023\n values.version:\n- \"3.14.0\"\n+ \"5.1.1\"\n values.anchorStateRegistry:\n+ \"eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c\"\n values.ethLockbox:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n implementationNames.eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.2:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$pastUpgrades.3:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 2\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xe3BD00F57B44E7aa4A6C212878427c85D638702A\"\n+ \"eth:0x15F80920C8Fec136e2A804E04f26203FF8dAd19A\"\n values.version:\n- \"1.0.1\"\n+ \"1.3.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.8:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$pastUpgrades.9:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.guardian:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.initVersion:\n+ 3\n values.l2ChainId:\n+ 60808\n values.minBaseFee:\n+ 0\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.superchainConfig:\n+ \"eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46\"\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract Bob Multisig 1 (eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.4.from:\n- \"eth:0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13\"\n+ \"eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d\"\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n receivedPermissions.13:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xeBA14d52F1b19cA65455E5ECaB72D2FfD9e43fEF\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xe3BD00F57B44E7aa4A6C212878427c85D638702A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.8:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$pastUpgrades.9:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.version:\n- \"2.6.0\"\n+ \"2.11.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.systemConfig:\n+ \"eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46) {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n template:\n- \"opstack/SuperchainConfigFake\"\n+ \"opstack/SuperchainConfigFake_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n description:\n- \"This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.1:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$pastUpgrades.2:\n+ [\"2026-01-20T14:40:23.000Z\",\"0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.4.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"3mo 1d\"\n values.proxyAdmin:\n+ \"eth:0xa70ddfb3e00fCFD083E64B200FE867104f703E1c\"\n values.proxyAdminOwner:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n category.name:\n- \"Governance\"\n+ \"Shared Infrastructure\"\n category.priority:\n- 3\n+ 4\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0xeBA14d52F1b19cA65455E5ECaB72D2FfD9e43fEF)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x15F80920C8Fec136e2A804E04f26203FF8dAd19A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\n```"
}
]
},
{
"id": "0af4c649",
"date": "Fri, 05 Dec 2025 16:55:04 GMT",
"timestamp": 1764953632,
"description": "Upgrade to v3.0.4:\n\nFix bug in Kona, update FPVM image id to `0xf176eb82fbbb5d2d281a9cce459062bcdbe65f93d7156829b174fae2b4690c23`.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract KailuaTreasury (eth:0x220C56BCB401001e5D218604c143D38DA107fC4a)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.\n```\n\n```diff\n EOA (eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x220C56BCB401001e5D218604c143D38DA107fC4a\"\n+ \"eth:0x6F27A23Fc28C18EB2C268BFe1d575E051Ad94420\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game1337:\n- \"eth:0xe65E24a2130d0a52A0f9B988dFA06D5759eBa22B\"\n+ \"eth:0x1E987CF54A39CA2AC5FdC97DCaFbbB805ef356bD\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaGame (eth:0xe65E24a2130d0a52A0f9B988dFA06D5759eBa22B)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0x1E987CF54A39CA2AC5FdC97DCaFbbB805ef356bD)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (eth:0x6F27A23Fc28C18EB2C268BFe1d575E051Ad94420)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.\n```"
}
]
},
{
"id": "7742af1a",
"date": "Wed, 03 Dec 2025 08:47:22 GMT",
"timestamp": 1764751565,
"description": "update the FPVM image id from `0x7ce98c36408e86dac21fc16af301740d07a849be0a80529debcb0797fd66f5e3` to `0xd7c1d74ce26e897e8bc7ea094667dcdb04c405ba1836bdb9b0ad773fc9fd0651`, also:\n\n1. switch to permissioned dispute game (type 1): https://app.blocksec.com/explorer/tx/eth/0x0632241f1d1c26ac8f6f32deafaa02c48f35e030c013289ca36d125f8a09ce7b\n2. set implementation for type 1337 (kailua treasury), propose state: https://app.blocksec.com/explorer/tx/eth/0x7e5a439e3040d6ae3a3b604b8a92c584755cb389991c47c6c557979c49c50ec9\n3. resolve game, set implementation for type 1337 (kailua game), switch to gametype 1337 https://app.blocksec.com/explorer/tx/eth/0x3afce50f425057d0505cec3c97729811011862fade71ec3f04ed5d372eb84d69 \n\ntldr: this injects unproven state in the second transaction, which cannot be used for withdrawals but can be used as a base for future state proposals",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract KailuaTreasury (eth:0x0e4152204995877DF34BD26d6dab78baf9393Ae2)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.\n```\n\n```diff\n EOA (eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x0e4152204995877DF34BD26d6dab78baf9393Ae2\"\n+ \"eth:0x220C56BCB401001e5D218604c143D38DA107fC4a\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game1337:\n- \"eth:0x9b9f9CD7A6BfCB55c18bfA35392F409F98B35B44\"\n+ \"eth:0xe65E24a2130d0a52A0f9B988dFA06D5759eBa22B\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaGame (eth:0x9b9f9CD7A6BfCB55c18bfA35392F409F98B35B44)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (eth:0x220C56BCB401001e5D218604c143D38DA107fC4a)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0xe65E24a2130d0a52A0f9B988dFA06D5759eBa22B)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```"
}
]
},
{
"id": "c1f6733c",
"date": "Thu, 13 Nov 2025 11:05:32 GMT",
"timestamp": 1763031834,
"description": "Two verifiers removed from RiscZeroVerifierRouter, unrelated to BOB verifiers still active.",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.10:\n+ {\"id\":\"0xcb59c64b787c143323784e652a53a3df139307efbcefa80b438a461680142a2b\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0x93d237f650bd176900000000000000000000000000000000000000000000000000000000\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.11:\n+ {\"id\":\"0x02c881bb278f937c1b8b577c6a44e474f471442762ddaf1e416b5ae793acf8cc\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0x93d237f6c101b42b00000000000000000000000000000000000000000000000000000000\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.13:\n+ {\"id\":\"0xcb59c64b787c143323784e652a53a3df139307efbcefa80b438a461680142a2b\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0x93d237f650bd176900000000000000000000000000000000000000000000000000000000\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.14:\n+ {\"id\":\"0x02c881bb278f937c1b8b577c6a44e474f471442762ddaf1e416b5ae793acf8cc\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0x93d237f6c101b42b00000000000000000000000000000000000000000000000000000000\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n }\n```"
}
]
},
{
"id": "197c85eb",
"date": "Tue, 30 Sep 2025 16:39:37 GMT",
"timestamp": 1759250312,
"description": "Operator fee decrease, multisig key rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.operatorFeeConstant:\n- 45000000000000\n+ 15000000000000\n }\n```\n\n```diff\n contract Bob Multisig 1 (eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n values.$members.3:\n- \"eth:0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n+ \"eth:0x81175155D85377C337d92f1FA52Da166C3A4E7Ac\"\n }\n```"
}
]
},
{
"id": "d25db477",
"date": "Mon, 08 Sep 2025 10:22:22 GMT",
"timestamp": 1757326876,
"description": "- Added RiscZeroSetVerifier contract that allows verifying a set of proofs at once (identified by a Merkle root). Once a set of proofs is verified, each individual proof could be efficiently verified just by checking Merkle inclusion.\n- Guest program for this verifier could be found here: https://github.com/risc0/risc0-ethereum/tree/main/crates/aggregation.\n- This contract does not verify any zkp on itself and rather redirects them to actual verifeirs.\n- Templatized this RiscZeroSetVerifier.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.9:\n+ {\"id\":\"0xaee8ce52716542c6fedc0f10553f1b763702d9bef05dcdcdf8c5cb2ed8d6cabb\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0xd0a6af30242f9d5b00000000000000000000000000000000000000000000000000000000000000000000000000000000844d5f01161e3559d36f23d0aa9e9620949af782\"}\n }\n```\n\n```diff\n contract RiscZeroVerifierRouter (eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319) {\n +++ description: A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711).\n values.verifier7Manual:\n- \"EXPECT_REVERT\"\n+ \"eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782\"\n }\n```\n\n```diff\n EOA (eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412) {\n +++ description: None\n receivedPermissions.5:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroSetVerifier (eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85)\n +++ description: Set verifier contract for RISC Zero proofs (version 0.9.0). It allows verifying a whole set of proofs identified with a Merkle root at once, afterwards each individual proof could be efficiently verified just by checking Merkle inclusion against the verified root.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782)\n +++ description: A verifier wrapper for the eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85 that allows pausing (emergency stop) the verifier by its owner.\n```"
}
]
},
{
"id": "983d5bd1",
"date": "Wed, 03 Sep 2025 12:05:12 GMT",
"timestamp": 1756900853,
"description": "- Scheduled tx: new risc zero verifier is being added.\n- KailuaTreasury has been updated to change a few immutables related to proving with no code changes.\n- added handler that will discover the new verifier as soon as it is deployed\n- add template for the groth16 verifier v3",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.12:\n+ {\"id\":\"0xaee8ce52716542c6fedc0f10553f1b763702d9bef05dcdcdf8c5cb2ed8d6cabb\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0xd0a6af30242f9d5b00000000000000000000000000000000000000000000000000000000000000000000000000000000844d5f01161e3559d36f23d0aa9e9620949af782\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaTreasury (eth:0x72284bbB177B13db6F7b703846EEDfB24914B764)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 30d.\n```\n\n```diff\n EOA (eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x72284bbB177B13db6F7b703846EEDfB24914B764\"\n+ \"eth:0x0e4152204995877DF34BD26d6dab78baf9393Ae2\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game1337:\n- \"eth:0xD5A72E5C2d8fC5e12cba6F81FA67d9A5F4A48B6a\"\n+ \"eth:0x9b9f9CD7A6BfCB55c18bfA35392F409F98B35B44\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaGame (eth:0xD5A72E5C2d8fC5e12cba6F81FA67d9A5F4A48B6a)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (eth:0x0e4152204995877DF34BD26d6dab78baf9393Ae2)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 30d.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0x9b9f9CD7A6BfCB55c18bfA35392F409F98B35B44)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```"
}
]
},
{
"id": "4349dbdf",
"date": "Tue, 02 Sep 2025 09:11:51 GMT",
"timestamp": 1756804191,
"description": "Increased operator fee.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.operatorFeeConstant:\n- 15000000000000\n+ 45000000000000\n }\n```"
}
]
},
{
"id": "4fcfab69",
"date": "Wed, 20 Aug 2025 13:20:38 GMT",
"timestamp": 1755696029,
"description": "Fee changes.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.basefeeScalar:\n- 10000000\n+ 2000000\n values.operatorFeeConstant:\n- 0\n+ 15000000000000\n }\n```"
}
]
},
{
"id": "5d7229ab",
"date": "Tue, 19 Aug 2025 08:50:03 GMT",
"timestamp": 1755593388,
"description": "The decoded first scheduled and then executed call can be found [here](https://tools.l2beat.com/decoder-new/?data=u7BsvUHxkfBdDESC-TOnvPbZqsA4499vd_7uAAOxpGfTAA&to=0x8eab2d97dfce405a1692a21b3ff3a172d593d319&chainId=1) and it adds a `RiscZeroVerifierEmergencyStop`\n- Address: `0x9f9994eb4cb5200198fefb470f8b50301662e696`\n- Selector: `0x73c457ba`\n\nHonestly im not sure why all other verifiers are commented out if they can still be used. Will ask basti when he gets back. For now i added this one and kept the previous one.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n+++ severity: HIGH\n values.callsExecuted.8:\n+ {\"id\":\"0x8f9bc667a318296f0c9a7a2773fd371cfedc904128c7ff5af6c246d383cb46db\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0xd0a6af3073c457ba000000000000000000000000000000000000000000000000000000000000000000000000000000009f9994eb4cb5200198fefb470f8b50301662e696\"}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.11:\n+ {\"id\":\"0x8f9bc667a318296f0c9a7a2773fd371cfedc904128c7ff5af6c246d383cb46db\",\"index\":0,\"target\":\"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319\",\"value\":0,\"data\":\"0xd0a6af3073c457ba000000000000000000000000000000000000000000000000000000000000000000000000000000009f9994eb4cb5200198fefb470f8b50301662e696\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n }\n```\n\n```diff\n contract RiscZeroVerifierRouter (0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319) {\n +++ description: A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711).\n values.verifier6Manual:\n+ \"eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696\"\n errors:\n- {\"verifier6Manual\":\"Processing error occurred.\"}\n }\n```\n\n```diff\n EOA (0xF616A4f81857CFEe54A4A049Ec187172574bd412) {\n +++ description: None\n receivedPermissions.6:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0x2a098988600d87650Fb061FfAff08B97149Fa84D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (0x9F9994Eb4Cb5200198FEfb470f8b50301662e696)\n +++ description: A verifier wrapper for the eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D that allows pausing (emergency stop) the verifier by its owner.\n```"
}
]
},
{
"id": "144a73c4",
"date": "Wed, 06 Aug 2025 12:09:36 GMT",
"timestamp": 1754482163,
"description": "single MS member switched.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Bob Multisig 1 (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n values.$members.3:\n- \"eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n+ \"eth:0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n }\n```"
}
]
},
{
"id": "7493af41",
"date": "Thu, 24 Jul 2025 16:48:18 GMT",
"timestamp": 1753375698,
"description": "set dispute game impl changes to high severity.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract KailuaTreasury (0x0fbC22B052f4745Bc9F80760D2D47E4993F36746)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 30d.\n```\n\n```diff\n EOA (0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x0fbC22B052f4745Bc9F80760D2D47E4993F36746\"\n+ \"eth:0x72284bbB177B13db6F7b703846EEDfB24914B764\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game1337:\n- \"eth:0xCD1173B1B7A93E63070E1Ec37E8c8a9316f5AfDb\"\n+ \"eth:0xD5A72E5C2d8fC5e12cba6F81FA67d9A5F4A48B6a\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaGame (0xCD1173B1B7A93E63070E1Ec37E8c8a9316f5AfDb)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (0x72284bbB177B13db6F7b703846EEDfB24914B764)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 30d.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (0xD5A72E5C2d8fC5e12cba6F81FA67d9A5F4A48B6a)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```"
}
]
},
{
"id": "2f577ebe",
"date": "Wed, 23 Jul 2025 06:06:54 GMT",
"timestamp": 1753250814,
"description": "07-23: Upgrade OptimismPortal2 again to change the finality delays ([no code changes](https://disco.l2beat.com/diff/eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4/eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273)). \n- proofMaturityDelaySeconds: 7d->1d\n- disputeGameFinalityDelaySeconds: 3.5d->1d \n\nUpgrade to standard OP stack v3 contracts (OptiPortal2) with [KAILUA Hybrid mode](https://boundless-xyz.github.io/kailua/design.html) as respected dispute game. Kailua is configured in [Vanguard mode](https://boundless-xyz.github.io/kailua/parameters.html?highlight=vanguard#vanguard-advantage).\n\nsummary:\n- standard op stack contracts\n- standard op stack DisputeGameFactory with **custom** game1337 dispute game implementation\n- state validation: hybrid optimistic + zk proven proposal tree:\n - a proposal must include a bond and a blob with intermediate state roots (3600)\n - any new proposal under the same parent state root implicitly challenges its siblings\n - but to eliminate siblings, such a new proposer needs to actively prove something after making their proposal (since the older siblings would win by their challenge window expiring first)\n - how to compete against siblings:\n 1. MAX_CLOCK_DURATION on a node (KailuaGame) expires without a fault proof or sibling's validity proof = node optimistically wins against all siblings\n 2. a validity proof over the entire range (3600*6 blocks) of a proposal can be zk-proven at any stage, immediately winning the game (**eliminating all siblings**)\n 3. a 'fault proof' **eliminates a single sibling**: proves that a single intermediary state transition (6 blocks) in an opponents proposal results in a different (proven) state root than they committed to\n - vanguard mode:\n - first child proposal (to progress the state) can only be made by the vanguard address for `vanguardAdvantage` period (30d)\n - `proveOutputFault()` and `proveValidity()` are always permissionless during that time (a vanguard's proposal can be (in)validated))\n - siblings can be created as soon as the vanguard has proposed the first, meaning the vanguard only has the 'optimistic' advantage, giving the 'burden of proof' to other actors\n - DISPUTE_GAME_FINALITY_DELAY_SECONDS (execution delay) = 3.5d\n - for everyone incl vanguard this delays finalization of a winning (resolved) state root (for example to have time to blacklist the winning dispute game by the guardian)\n\nsome code:\n- diff PermissionedDisputeGame/KailuaGame: https://disco.l2beat.com/diff/eth:0xF27d54dB0587442b01d6036C0F7f67CDaaBa1743/eth:0xCD1173B1B7A93E63070E1Ec37E8c8a9316f5AfDb\n- moved TimelockController of the RiscZeroVerifierRouter to standard template ([diff](https://disco.l2beat.com/diff/eth:0x45828180bbE489350D621d002968A0585406d487/eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711)): 3d delay, EOA-controlled\n- superchainconfigFake: added v1.2.0 template (same code as opstack superchainconf, different gov addresses): https://disco.l2beat.com/diff/eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7/eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7",
"isHighSeverity": true,
"changeCount": 136,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13\",\"role\":\"admin\"}\n directlyReceivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6\",\"role\":\"admin\"}\n directlyReceivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\",\"role\":\"admin\"}\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xdDa53E23f8a32640b04D7256e651C1db98dB11C1\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xeBA14d52F1b19cA65455E5ECaB72D2FfD9e43fEF\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract L1StandardBridge (0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x79abdbd90460fe2ac0535b5cb7b4c45284322b49a0a090d1c509cdaf35dbc87e\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"eth:0xEEAfA156A5dd3811Ee0D9F91db57A77eA53A8d31\"\n+ \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"1.1.1\"\n+ \"2.3.0\"\n values.otherBridge:\n+ \"eth:0x4200000000000000000000000000000000000010\"\n values.paused:\n+ false\n values.superchainConfig:\n+ \"eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46\"\n implementationNames.eth:0xEEAfA156A5dd3811Ee0D9F91db57A77eA53A8d31:\n- \"L1StandardBridge\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n EOA (0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {\n +++ description: None\n receivedPermissions.0.description:\n+ \"propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock.\"\n receivedPermissions.0.role:\n- \".PROPOSER\"\n+ \".vanguard\"\n receivedPermissions.0.from:\n- \"eth:0xdDa53E23f8a32640b04D7256e651C1db98dB11C1\"\n+ \"eth:0x0fbC22B052f4745Bc9F80760D2D47E4993F36746\"\n receivedPermissions.0.permission:\n- \"propose\"\n+ \"interact\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0xd7fe53899c31d6d8e73b6724694736dc3c3c4ebc8f4ddbe989fe9d3dba26692d\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\"\n values.$implementation:\n- \"eth:0x994e3B01D130944a3E67BFd3B8Fc73069b959FEc\"\n+ \"eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273\"\n values.$pastUpgrades.1:\n+ [\"2025-07-17T13:28:47.000Z\",\"0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1\",[\"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-17T13:28:47.000Z\",\"0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1\",[\"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589\"]]\n values.$pastUpgrades.3:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.4:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.5:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$pastUpgrades.6:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]]\n values.$pastUpgrades.7:\n+ [\"2025-07-22T19:58:23.000Z\",\"0xa7881069c54f1028d42b83406ac5a768154f8ff34ad37ec7641b4d45766e77c3\",[\"eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273\"]]\n values.$upgradeCount:\n- 1\n+ 8\n values.GUARDIAN:\n- \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.L2_ORACLE:\n- \"eth:0xdDa53E23f8a32640b04D7256e651C1db98dB11C1\"\n values.SYSTEM_CONFIG:\n- \"eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393\"\n values.version:\n- \"1.7.2\"\n+ \"3.14.0\"\n values.disputeGameFactory:\n+ \"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\"\n values.disputeGameFinalityDelaySeconds:\n+ 86400\n values.guardian:\n+ \"eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E\"\n values.proofMaturityDelaySeconds:\n+ 86400\n values.RespectedGameString:\n+ \"KailuaGame\"\n values.respectedGameType:\n+ 1337\n values.respectedGameTypeUpdatedAt:\n+ 1752761915\n values.superchainConfig:\n+ \"eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46\"\n values.systemConfig:\n+ \"eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393\"\n implementationNames.eth:0x994e3B01D130944a3E67BFd3B8Fc73069b959FEc:\n- \"OptimismPortal\"\n implementationNames.eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273:\n+ \"OptimismPortal2\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\",\"1337\":\"KailuaGame\"}}]\n }\n```\n\n```diff\n contract SystemConfig (0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x29908eb7685943ff431cd384af851ce36a30997bbad880f9b4385bfc3abb86a2\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"eth:0xaa0A1EfD35d6578ea6B5704dbc2c40B36A55B590\"\n+ \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.1:\n+ [\"2025-07-17T13:28:47.000Z\",\"0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1\",[\"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-17T13:28:47.000Z\",\"0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1\",[\"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]]\n values.$pastUpgrades.3:\n+ [\"2025-07-17T13:38:47.000Z\",\"0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56\",[\"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.4:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.5:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.6:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$pastUpgrades.7:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]]\n values.$upgradeCount:\n- 1\n+ 8\n values.version:\n- \"1.3.1\"\n+ \"2.5.0\"\n values.basefeeScalar:\n+ 10000000\n values.BATCH_INBOX_SLOT:\n+ \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n+ \"eth:0x3A75346f81302aAc0333FB5DCDD407e12A6CfA83\"\n values.blobbasefeeScalar:\n+ 611590\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\"\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA\",\"l1ERC721Bridge\":\"eth:0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a\",\"l1StandardBridge\":\"eth:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7\",\"disputeGameFactory\":\"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\",\"optimismPortal\":\"eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E\",\"optimismMintableERC20Factory\":\"eth:0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6\"}\n values.L1_CROSS_DOMAIN_MESSENGER_SLOT:\n+ \"0x383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580636\"\n values.L1_ERC_721_BRIDGE_SLOT:\n+ \"0x46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a7\"\n values.L1_STANDARD_BRIDGE_SLOT:\n+ \"0x9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6376\"\n values.l1CrossDomainMessenger:\n+ \"eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA\"\n values.l1ERC721Bridge:\n+ \"eth:0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a\"\n values.l1StandardBridge:\n+ \"eth:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7\"\n values.maximumGasLimit:\n+ 200000000\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n values.OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT:\n+ \"0xa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320c\"\n values.OPTIMISM_PORTAL_SLOT:\n+ \"0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac\"\n values.optimismMintableERC20Factory:\n+ \"eth:0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6\"\n values.optimismPortal:\n+ \"eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E\"\n values.START_BLOCK_SLOT:\n+ \"0xa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb19f\"\n values.startBlock:\n+ 19634330\n implementationNames.eth:0xaa0A1EfD35d6578ea6B5704dbc2c40B36A55B590:\n- \"SystemConfig\"\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract Bob Multisig 1 (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n receivedPermissions.0.role:\n- \".CHALLENGER\"\n+ \".guardian\"\n receivedPermissions.0.from:\n- \"eth:0xdDa53E23f8a32640b04D7256e651C1db98dB11C1\"\n+ \"eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46\"\n receivedPermissions.0.permission:\n- \"challenge\"\n+ \"guard\"\n receivedPermissions.1.description:\n+ \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.1.role:\n- \".GUARDIAN\"\n+ \".owner\"\n receivedPermissions.1.from:\n- \"eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E\"\n+ \"eth:0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13\"\n receivedPermissions.1.permission:\n- \"guard\"\n+ \"interact\"\n receivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xdDa53E23f8a32640b04D7256e651C1db98dB11C1\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n receivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xa70ddfb3e00fCFD083E64B200FE867104f703E1c\"}]}\n receivedPermissions.13:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xeBA14d52F1b19cA65455E5ECaB72D2FfD9e43fEF\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0\"}]}\n directlyReceivedPermissions.1:\n+ {\"permission\":\"act\",\"from\":\"eth:0xa70ddfb3e00fCFD083E64B200FE867104f703E1c\",\"role\":\".owner\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (0xdDa53E23f8a32640b04D7256e651C1db98dB11C1)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract L1CrossDomainMessenger (0xE3d981643b806FB8030CDB677D6E60892E547EdA) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xebfb36a18bcaa176678925149b43fdc5f9f943d98a6405ae1cbc26f4c168ff88\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"eth:0x237853621998a33Fa5B9B820592F4c6f4c158c12\"\n+ \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.2:\n+ [\"2025-07-17T13:28:47.000Z\",\"0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1\",[\"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1\"]]\n values.$pastUpgrades.3:\n+ [\"2025-07-17T13:28:47.000Z\",\"0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1\",[\"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.4:\n+ [\"2025-07-17T13:38:47.000Z\",\"0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.5:\n+ [\"2025-07-17T13:38:47.000Z\",\"0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56\",[\"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.6:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$pastUpgrades.7:\n+ [\"2025-07-17T14:18:35.000Z\",\"0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e\",[\"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]]\n values.$upgradeCount:\n- 2\n+ 8\n values.version:\n- \"1.4.1\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.otherMessenger:\n+ \"eth:0x4200000000000000000000000000000000000007\"\n values.paused:\n+ false\n values.portal:\n+ \"eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E\"\n values.superchainConfig:\n+ \"eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.eth:0x237853621998a33Fa5B9B820592F4c6f4c158c12:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract TimelockController (0x0b144E07A0826182B6b59788c34b32Bfa86Fb711)\n +++ description: A timelock with access control. The current minimum delay is 3d.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (0x0fbC22B052f4745Bc9F80760D2D47E4993F36746)\n +++ description: Entrypoint for state root proposals. Manages bonds and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (0x1efDd13f831ceeEa14940806705A53D3211CD698)\n +++ description: A verifier wrapper for the eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x3a1D54496cf461fFc96d3b1a8A0B43B091ea3c13)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierRouter (0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319)\n +++ description: A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711).\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x96123dbFC3253185B594c6a7472EE5A21E9B1079)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xa70ddfb3e00fCFD083E64B200FE867104f703E1c)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9)\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (0xCD1173B1B7A93E63070E1Ec37E8c8a9316f5AfDb)\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xe3BD00F57B44E7aa4A6C212878427c85D638702A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0xE925205ad05D8d612Ac205C4941CCd61Fc965C46)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xeBA14d52F1b19cA65455E5ECaB72D2FfD9e43fEF)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "6f640f84",
"date": "Mon, 14 Jul 2025 12:44:50 GMT",
"timestamp": 1752497090,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L1ERC20TokenBridge (0x091dF5E1284E49fA682407096aD34cfD42B95B72)\n +++ description: Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract Bob Multisig 1 (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0xdDa53E23f8a32640b04D7256e651C1db98dB11C1)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0xE3d981643b806FB8030CDB677D6E60892E547EdA)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xF2dc77c697e892542cC53336178a78Bb313DFDC7)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "e3a1273c",
"date": "Thu, 03 Apr 2025 10:05:37 GMT",
"timestamp": 1743674737,
"description": "ms signer change.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Bob Multisig 1 (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n values.$members.3:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n values.$members.2:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.$members.1:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n }\n```"
}
]
},
{
"id": "163173aa",
"date": "Fri, 21 Mar 2025 10:19:20 GMT",
"timestamp": 1742552360,
"description": "MS signer change.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Bob Multisig 1 (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n values.$members.6:\n- \"0xFB771f2640Dfd37B18332a84817B2a6e994f5BF6\"\n values.$members.5:\n- \"0x32B8325b7f12ADB06763D6D04c951AC94e36C3D7\"\n+ \"0xFB771f2640Dfd37B18332a84817B2a6e994f5BF6\"\n values.$members.4:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0x32B8325b7f12ADB06763D6D04c951AC94e36C3D7\"\n values.$members.3:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n values.$members.2:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n values.$members.1:\n- \"0x56b73FA51e09D0BBFA3A5346aaB7576Edc9d0436\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.$members.0:\n- \"0xC9D2c719d6C8Ba2876FC9B443c7d2690072F04ad\"\n+ \"0x3C30D693b23F77d55e14b8e0CFB6C00075ff93aB\"\n values.$threshold:\n- 5\n+ 4\n values.multisigThreshold:\n- \"5 of 7 (71%)\"\n+ \"4 of 6 (67%)\"\n }\n```"
}
]
},
{
"id": "1ffbb65f",
"date": "Fri, 14 Mar 2025 12:52:53 GMT",
"timestamp": 1741956773,
"description": "MS member change.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract BobMultisig (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n values.$members.6:\n+ \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n values.$members.5:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.$members.4:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n values.$members.3:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0xFB771f2640Dfd37B18332a84817B2a6e994f5BF6\"\n values.$members.2:\n- \"0xFB771f2640Dfd37B18332a84817B2a6e994f5BF6\"\n+ \"0xC9D2c719d6C8Ba2876FC9B443c7d2690072F04ad\"\n values.$members.1:\n- \"0xC9D2c719d6C8Ba2876FC9B443c7d2690072F04ad\"\n+ \"0x56b73FA51e09D0BBFA3A5346aaB7576Edc9d0436\"\n values.$members.0:\n- \"0x56b73FA51e09D0BBFA3A5346aaB7576Edc9d0436\"\n+ \"0x32B8325b7f12ADB06763D6D04c951AC94e36C3D7\"\n values.$threshold:\n- 4\n+ 5\n values.multisigThreshold:\n- \"4 of 6 (67%)\"\n+ \"5 of 7 (71%)\"\n }\n```"
}
]
},
{
"id": "bcb8ea75",
"date": "Wed, 22 May 2024 16:40:05 GMT",
"timestamp": 1716396005,
"description": "Fee change for the L2 fee calculation. The new scalar value is [encoded](https://specs.optimism.io/protocol/exec-engine.html#ecotone-l1-cost-fee-changes-eip-4844-da).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393) {\n +++ description: None\n values.overhead:\n- 188\n+ 0\n values.scalar:\n- 684000\n+ \"452312848583266388373324160190187140051835877600158453279131273430256651056\"\n }\n```\n\n```diff\n contract RollupOwnerMultisig (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) {\n +++ description: None\n values.nonce:\n- 2\n+ 3\n }\n```"
}
]
},
{
"id": "9ef2e5d6",
"date": "Wed, 08 May 2024 14:32:16 GMT",
"timestamp": 1715178736,
"description": "Initial discovery: BOB (build on bitcoin) is a general-purpose OP stack rollup (.97 similarity with base excluding USDC bridge).\nThey are early in their roadmap but aim to offer BTC defi options, a Bitcoin light client and security inheritance from Bitcoin PoW.",
"isHighSeverity": false,
"changeCount": 12,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract L1ERC20TokenBridge (0x091dF5E1284E49fA682407096aD34cfD42B95B72)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1UsdcBridge (0x450D55a4B4136805B0e5A6BB59377c71FC4FaCBb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x778870B55576Bdb2B5368A3CB225fBcED2B8D0Ff)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract UsdcBridgeOwnerMultisig (0xC73b6E6ec346f9f1A07D2e7A4380858D7BEa0194)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RollupOwnerMultisig (0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0xdDa53E23f8a32640b04D7256e651C1db98dB11C1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0xE3d981643b806FB8030CDB677D6E60892E547EdA)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xF2dc77c697e892542cC53336178a78Bb313DFDC7)\n +++ description: None\n```"
}
]
}
]
+1 -5
+1 -1
{
"baseTimestamp": 1791789577,
"baseTimestamp": 1791966035,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+0 -4
{
"changes": [
{
"timestamp": 1742962247,
"type": "state",
"earliest": 1742962247
},
{
"timestamp": 1743612623,
"type": "code",
"earliest": 1743612623
},
{
"timestamp": 1751883851,
"type": "code",
"earliest": 1751883851
},
{
"timestamp": 1751883851,
"type": "code",
"earliest": 1751883851
},
{
"timestamp": 1751883851,
"type": "code",
"earliest": 1751883851
},
{
"timestamp": 1751883851,
"type": "code",
"updateId": "a6b1d9a2",
"earliest": 1751883851
},
{
"timestamp": 1751883851,
"type": "code",
"updateId": "a6b1d9a2",
"earliest": 1751883851
},
{
"timestamp": 1751883851,
"type": "state",
"updateId": "a6b1d9a2",
"earliest": 1751883851
},
{
"timestamp": 1751884031,
"type": "code",
"earliest": 1751884031
},
{
"timestamp": 1751884031,
"type": "code",
"earliest": 1751884031
},
{
"timestamp": 1751884031,
"type": "code",
"earliest": 1751884031
},
{
"timestamp": 1751884031,
"type": "code",
"updateId": "a6b1d9a2",
"earliest": 1751884031
},
{
"timestamp": 1751884031,
"type": "state",
"updateId": "a6b1d9a2",
"earliest": 1751884031
},
{
"timestamp": 1753379243,
"type": "code",
"earliest": 1753379243
},
{
"timestamp": 1764092795,
"type": "code",
"earliest": 1764092795
},
{
"timestamp": 1765362083,
"type": "state",
"updateId": "4c71daa7",
"earliest": 1765362083
},
{
"timestamp": 1765362251,
"type": "state",
"updateId": "4c71daa7",
"earliest": 1765362251
},
{
"timestamp": 1769109083,
"type": "state",
"earliest": 1769109083
},
{
"timestamp": 1770648059,
"type": "state",
"updateId": "953d9862",
"earliest": 1770648059
},
{
"timestamp": 1771445567,
"type": "state",
"updateId": "eeb61c0d",
"earliest": 1771445567
},
{
"timestamp": 1774940723,
"type": "code",
"earliest": 1774940723
},
{
"timestamp": 1774940723,
"type": "code",
"earliest": 1774940723
},
{
"timestamp": 1774940723,
"type": "code",
"earliest": 1774940723
},
{
"timestamp": 1774940723,
"type": "code",
"updateId": "616cc8c8",
"earliest": 1774940723
},
{
"timestamp": 1774940723,
"type": "code",
"updateId": "616cc8c8",
"earliest": 1774940723
},
{
"timestamp": 1774940723,
"type": "state",
"updateId": "616cc8c8",
"earliest": 1774940723
},
{
"timestamp": 1774940891,
"type": "code",
"earliest": 1774940891
},
{
"timestamp": 1774940891,
"type": "code",
"earliest": 1774940891
},
{
"timestamp": 1774940891,
"type": "code",
"earliest": 1774940891
},
{
"timestamp": 1774940891,
"type": "state",
"updateId": "616cc8c8",
"earliest": 1774940891
},
{
"timestamp": 1774940891,
"type": "code",
"updateId": "616cc8c8",
"earliest": 1774940891
},
{
"timestamp": 1774940891,
"type": "code",
"updateId": "616cc8c8",
"earliest": 1774940891
},
{
"timestamp": 1774940891,
"type": "state",
"updateId": "616cc8c8",
"earliest": 1774940891
},
{
"timestamp": 1774941071,
"type": "state",
"updateId": "616cc8c8",
"earliest": 1774941071
},
{
"timestamp": 1776249827,
"type": "state",
"updateId": "4e1af81f",
"earliest": 1776249827
},
{
"timestamp": 1776370439,
"type": "state",
"updateId": "13fde891",
"earliest": 1776370439
},
{
"timestamp": 1777372319,
"type": "state",
"earliest": 1777372319
},
{
"timestamp": 1779804539,
"type": "state",
"updateId": "49f509dc",
"earliest": 1779804539
},
{
"timestamp": 1782428747,
"type": "code",
"earliest": 1782428747
},
{
"timestamp": 1790268683,
"type": "code",
"earliest": 1790268683
},
{
"timestamp": 1791526391,
"type": "state",
"updateId": "7808de1e",
"earliest": 1791526391
},
{
"timestamp": 1791526499,
"type": "state",
"updateId": "7808de1e",
"earliest": 1791526499
}
],
"contracts": [
{
"name": "SP1VerifierGateway",
"address": "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"isVerified": true,
"ossifyingSince": 1791526499,
"codeChangeCount": 0,
"stateChangeCount": 4
},
{
"name": "SuperchainConfig",
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"isVerified": true,
"ossifyingSince": 1790268683,
"codeChangeCount": 5,
"stateChangeCount": 0
},
{
"name": "DisputeGameFactory",
"address": "eth:0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683",
"isVerified": true,
"ossifyingSince": 1779804539,
"codeChangeCount": 3,
"stateChangeCount": 9
},
{
"name": "OPSuccinctFaultDisputeGame",
"address": "eth:0xfF1caC738a5263736AF258e4b3D6a4970C6351FF",
"isVerified": true,
"ossifyingSince": 1779117911,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AccessManager",
"address": "eth:0xF59a19c5578291cB7fd22618D16281aDf76f2816",
"isVerified": true,
"ossifyingSince": 1776249827,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "SP1Verifier",
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"isVerified": true,
"ossifyingSince": 1776172415,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "FaultDisputeGame",
"address": "eth:0x25Bd434Aa96EE31D6661c89CF4290281f1ed856F",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "L1StandardBridge",
"address": "eth:0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0xa83a2E8595b602aD98C928E9cD123c0E05C84FD9",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 4,
"stateChangeCount": 2
},
{
"name": "CeloSuperchainConfig",
"address": "eth:0x25035d2233d099f0BA710ca1e5a3834842870C66",
"isVerified": true,
"ossifyingSince": 1774940723,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AnchorStateRegistry",
"address": "eth:0x8fE58d2168b5412Cf1Bd212cE6137f8b7300222d",
"isVerified": true,
"ossifyingSince": 1774940723,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0x91FA5B653aFe81A79890A93ad83768A04cc011b4",
"isVerified": true,
"ossifyingSince": 1774940723,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0xC700d16428cF5Bfa71D91E66fA54Fc11A73f2552",
"isVerified": true,
"ossifyingSince": 1774940723,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SuperchainProxyAdmin",
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"isVerified": true,
"ossifyingSince": 1769109083,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "SaferSafes",
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"isVerified": true,
"ossifyingSince": 1764596735,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"isVerified": true,
"ossifyingSince": 1762212215,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DeputyPauseModule",
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"isVerified": true,
"ossifyingSince": 1748963099,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x783A434532Ee94667979213af1711505E8bFE374",
"isVerified": true,
"ossifyingSince": 1742962247,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "L2CrossDomainMessenger",
"address": "celo:0x4200000000000000000000000000000000000007",
"isVerified": true,
"ossifyingSince": 1742960663,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2StandardBridge",
"address": "celo:0x4200000000000000000000000000000000000010",
"isVerified": true,
"ossifyingSince": 1742960663,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2ToL1MessagePasser",
"address": "celo:0x4200000000000000000000000000000000000016",
"isVerified": true,
"ossifyingSince": 1742960663,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2ProxyAdmin",
"address": "celo:0x4200000000000000000000000000000000000018",
"isVerified": true,
"ossifyingSince": 1742960663,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessModule",
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"isVerified": true,
"ossifyingSince": 1742960663,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Celo native asset Token",
"address": "eth:0x057898f3C43F129a17517B9056D23851F124b19f",
"isVerified": true,
"ossifyingSince": 1742960663,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PreimageOracle",
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"isVerified": true,
"ossifyingSince": 1742960663,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessGuard",
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"isVerified": true,
"ossifyingSince": 1742960663,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressManager",
"address": "eth:0x55093104b76FAA602F9d6c35A5FFF576bE78d753",
"isVerified": true,
"ossifyingSince": 1742960663,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"deployments": [
1587571205,
1587571205,
1587571205,
1587571205,
1685377355,
1705954799,
1717149791,
1717149791,
1720099223,
1740762647,
1741879547,
1741879547,
1741879559,
1741879583,
1741879583,
1741879595,
1741879595,
1741879595,
1748963099,
1762212215,
1764596735,
1764689339,
1771497368,
1774940723,
1774940723,
1774940723,
1774940723,
1774940891,
1774940891,
1776172415,
1779117911
],
"observedSince": 1742960663
}
+66 -2
+9 -1
[]
[
{
"title": "Admin forces a transfer out of a user account",
"url": "https://etherscan.io/tx/0xcd999b6859407b249203a3ef665702cb1d2137521a068e534974d779ad035d90",
"date": "2026-10-13T00:00:00Z",
"description": "Admin swaps the Portal for 6 min to move 142,818 USDT out of a user account via a forced deposit.",
"type": "incident"
}
]
+14 -0
[
{
"address": "0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3",
"sinceTimestamp": 1734346799,
"tokens": [
"ETH",
"HSK"
],
"contract": {
"isVerified": true,
"address": "eth:0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347111,
"transactionHash": "0xa75dfc34e3c0c1cc441a5b6de207082bc8f639d7fc3d65558344b0f92785ac32",
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
},
{
"timestamp": 1791909251,
"transactionHash": "0x4951a71ae7f0a5dfe038b4b32ffd0ee7344fdc7ae9c5c22665817c1593615919",
"implementations": [
"eth:0xcF9bEC9f2769Ecc09107C58fA5eB0199D989A606"
]
},
{
"timestamp": 1791909623,
"transactionHash": "0x03fe54707b57aa5852cd9facce2f313553582bfe09b60654a23de34ce6798caa",
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
}
],
"description": "Main entry point for users depositing ETH, HSK.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be",
"sinceTimestamp": 1734346823,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x4634e74d04992BDd5192Cd75897CbD432971aAB6"
]
},
"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/0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
]
+28 -0
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x04Ec030f362CE5A0b5Fe2d4B4219f287C2EBDE50",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x71442A5586bde0f5EfD6588D01c2B2820D9D236D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347279,
"transactionHash": "0x2127945406db892b80c53ecca4038f8cd8a09bf34609bedab1abbeec104b985e",
"implementations": [
"eth:0x71442A5586bde0f5EfD6588D01c2B2820D9D236D"
]
}
],
"description": "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n* Roles:\n * **admin**: ProxyAdmin; ultimately NXV\n * **owner**: Hashkey Multisig 1",
"upgradableBy": [
{
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x04Ec030f362CE5A0b5Fe2d4B4219f287C2EBDE50#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x43F8DeFe3E9286D152E91BB16a248808E7247198",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0xE4577dCF1C44F04cf489AA995E01e988f461cc4A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347135,
"transactionHash": "0x79baffb8228b3b0b6c465fb72f7bf01eac38be1ebbabf54b9b196bd5138b9611",
"implementations": [
"eth:0xbc10fE919504D53953d27989CD5B48B9A7c08Be0"
]
},
{
"timestamp": 1785832103,
"transactionHash": "0x6dab15d826dc253e57c4cd55634e061e01df3d1045528e3dde13840bbddde1fd",
"implementations": [
"eth:0xE4577dCF1C44F04cf489AA995E01e988f461cc4A"
]
}
],
"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 NXV\n * **batcherHash**: EOA 1\n * **owner**: NXV",
"upgradableBy": [
{
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x43F8DeFe3E9286D152E91BB16a248808E7247198#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347111,
"transactionHash": "0xa75dfc34e3c0c1cc441a5b6de207082bc8f639d7fc3d65558344b0f92785ac32",
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
},
{
"timestamp": 1791909251,
"transactionHash": "0x4951a71ae7f0a5dfe038b4b32ffd0ee7344fdc7ae9c5c22665817c1593615919",
"implementations": [
"eth:0xcF9bEC9f2769Ecc09107C58fA5eB0199D989A606"
]
},
{
"timestamp": 1791909623,
"transactionHash": "0x03fe54707b57aa5852cd9facce2f313553582bfe09b60654a23de34ce6798caa",
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately NXV",
"upgradableBy": [
{
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xfd1255b6c09D939E7F3896A16C32CDBCD6F8B40A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x1d31a15050DBE75c6c060D6da696332a5CB943e1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734346751,
"transactionHash": "0x1dcf3f8b738b3dfa3a01a25f98c6d34364a7f72bc076d559a3871b732b27cccd",
"implementations": [
"eth:0x1d31a15050DBE75c6c060D6da696332a5CB943e1"
]
},
{
"timestamp": 1779688283,
"transactionHash": "0x3bfc8a22ff71232436c67628de837c36002264a5dfbc55b38b957f5ba471538c",
"implementations": [
"eth:0x3a6CBE32Ed9E11662362400C293485109bdF2CcC"
]
},
{
"timestamp": 1779688283,
"transactionHash": "0x3bfc8a22ff71232436c67628de837c36002264a5dfbc55b38b957f5ba471538c",
"implementations": [
"eth:0x1d31a15050DBE75c6c060D6da696332a5CB943e1"
]
}
],
"description": "This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately NXV\n * **guardian**: NXV",
"upgradableBy": [
{
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfd1255b6c09D939E7F3896A16C32CDBCD6F8B40A#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x4634e74d04992BDd5192Cd75897CbD432971aAB6"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately NXV",
"upgradableBy": [
{
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x899F07862D3A03F70E07b7f01183934b485d2e97",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x21971eCC803C30A181ee111803253C869083baF1"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347231,
"transactionHash": "0x18124dec0d690b8070dc4f7a465bd3fa4da20624e726077230504fbe284dd411",
"implementations": [
"eth:0x21971eCC803C30A181ee111803253C869083baF1"
]
}
],
"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 NXV",
"upgradableBy": [
{
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x899F07862D3A03F70E07b7f01183934b485d2e97#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xd4C83D93c6fAE3E0804B785F9Cf465BE95449D04",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0xcD8f943e7d506cD92dE582Ac5065dE718E568580"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347171,
"transactionHash": "0x6d78b2810917cff9e25fa59661d3700154876bd1e70ff9887cfc8862eeac2ac9",
"implementations": [
"eth:0xcD8f943e7d506cD92dE582Ac5065dE718E568580"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately NXV",
"upgradableBy": [
{
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd4C83D93c6fAE3E0804B785F9Cf465BE95449D04#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x0407af506d86bFA5e401099b2fC2355590638f19",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x3FAe8259417036C02156DF91BdaF9d8F0ae5551f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347183,
"transactionHash": "0x1d7aab4c1ea1fedbcee0d9b737149bb551b8f621b2fe4ce8222fe3d34359c155",
"implementations": [
"eth:0x3FAe8259417036C02156DF91BdaF9d8F0ae5551f"
]
}
],
"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 NXV",
"upgradableBy": [
{
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0407af506d86bFA5e401099b2fC2355590638f19#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x4deC2aA521108d78d983c0c12656c6CF8631F2ED",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0xE5a698154470AF2626b27fEecb684F8fb265F2E0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347315,
"transactionHash": "0x471f2f867ef5c389027fcb43bb83162a2aa4af482029a0f4c45c3db2765b0134",
"implementations": [
"eth:0xE5a698154470AF2626b27fEecb684F8fb265F2E0"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n* Roles:\n * **admin**: ProxyAdmin; ultimately NXV",
"upgradableBy": [
{
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4deC2aA521108d78d983c0c12656c6CF8631F2ED#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x5B9bEf4d8C36FB013c70d0A6F455807c6BD5270b",
"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/0x5B9bEf4d8C36FB013c70d0A6F455807c6BD5270b#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x7447b25b91336127042CC6899B2C15668a1Ab8BA",
"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/0x7447b25b91336127042CC6899B2C15668a1Ab8BA#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: NXV",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7986eD289935A0F47FC434C00cDE309fE2c51f1C#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xBb70D595147A141e268532BFEF61A8c25054d26D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0xB8566D805b8DD2E2EC41542A2dc4Af96855f75d8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347291,
"transactionHash": "0xe2e1492dc5adea04088b786ca327df8addc15e95b1714c442dc9aee0b96da2ea",
"implementations": [
"eth:0xB8566D805b8DD2E2EC41542A2dc4Af96855f75d8"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It 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 NXV\n * **owner**: Hashkey Multisig 1",
"upgradableBy": [
{
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBb70D595147A141e268532BFEF61A8c25054d26D#code"
},
{
"name": "FaultDisputeGame",
"isVerified": true,
"address": "eth:0xC3E7f3606aeAC543bD268a637c6847E92d69B8aA",
"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/0xC3E7f3606aeAC543bD268a637c6847E92d69B8aA#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xd9c31D15f2c649e525C2574bC025b3CAafAaf6fe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0xB8566D805b8DD2E2EC41542A2dc4Af96855f75d8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347303,
"transactionHash": "0x7ac81f23f33c8fd25cb3c9bb918ced8f032989fdfdbfd98c7ac23f1735ae397f",
"implementations": [
"eth:0xB8566D805b8DD2E2EC41542A2dc4Af96855f75d8"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It 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 NXV\n * **owner**: Hashkey Multisig 1",
"upgradableBy": [
{
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd9c31D15f2c649e525C2574bC025b3CAafAaf6fe#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xE38135e20BA018a5542C83De258d80d6883Da8A3",
"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/0xE38135e20BA018a5542C83De258d80d6883Da8A3#code"
}
]
},
"escrows": [
{
"address": "0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3",
"sinceTimestamp": 1734346799,
"tokens": [
"ETH",
"HSK"
],
"contract": {
"isVerified": true,
"address": "eth:0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347111,
"transactionHash": "0xa75dfc34e3c0c1cc441a5b6de207082bc8f639d7fc3d65558344b0f92785ac32",
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
},
{
"timestamp": 1791909251,
"transactionHash": "0x4951a71ae7f0a5dfe038b4b32ffd0ee7344fdc7ae9c5c22665817c1593615919",
"implementations": [
"eth:0xcF9bEC9f2769Ecc09107C58fA5eB0199D989A606"
]
},
{
"timestamp": 1791909623,
"transactionHash": "0x03fe54707b57aa5852cd9facce2f313553582bfe09b60654a23de34ce6798caa",
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
}
],
"description": "Main entry point for users depositing ETH, HSK.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be",
"sinceTimestamp": 1734346823,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x4634e74d04992BDd5192Cd75897CbD432971aAB6"
]
},
"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/0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.3.1",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-node/v1.3.1/op-program/client",
"verificationStatus": "successful",
"verificationSteps": "Steps are based on [this guide](https://docs.optimism.io/chain-operators/tutorials/absolute-prestate).\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running.\n2. Check out the correct branch of [optimism](https://github.com/ethereum-optimism/optimism) repo: `git checkout op-program/v1.3.1` . Commit hash should be `e3c2f046c2d7103c765cbd47e949a284e511a47d`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.",
"hash": "0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1788816891,
"baseTimestamp": 1791965742,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "b2b0f43d",
"date": "Wed, 14 Oct 2026 08:17:12 GMT",
"timestamp": 1791965742,
"description": "OptimismPortal2: implementation replaced by a custom `OptimismPortalDeposit` build and restored 6 min later. In between, the ProxyAdmin owner emitted one deposit with an arbitrary `from`, moving 142,818.28 USDT on L2 out of a third-party EOA.\nhttps://disco.l2beat.com/diff/eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1/eth:0xcF9bEC9f2769Ecc09107C58fA5eB0199D989A606\nhttps://etherscan.io/tx/0xcd999b6859407b249203a3ef665702cb1d2137521a068e534974d779ad035d90\nhttps://hashkey.blockscout.com/tx/0x1704ca93fa79b4256a4d6ba9f5ea9eb72e1dab96cbb6032c65abbd5d5e2b37e7",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (eth:0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n values.$pastUpgrades.1:\n+ [\"2026-10-13T16:34:11.000Z\",\"0x4951a71ae7f0a5dfe038b4b32ffd0ee7344fdc7ae9c5c22665817c1593615919\",[\"eth:0xcF9bEC9f2769Ecc09107C58fA5eB0199D989A606\"]]\n values.$pastUpgrades.2:\n+ [\"2026-10-13T16:40:23.000Z\",\"0x03fe54707b57aa5852cd9facce2f313553582bfe09b60654a23de34ce6798caa\",[\"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1\"]]\n values.$upgradeCount:\n- 1\n+ 3\n }\n```"
}
]
},
{
"id": "fb2de611",
"date": "Mon, 07 Sep 2026 21:35:56 GMT",
"timestamp": 1788816891,
"description": "SystemConfig `unsafeBlockSigner` rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x43F8DeFe3E9286D152E91BB16a248808E7247198) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.unsafeBlockSigner:\n- \"eth:0x0dD773e949a7E53f622A3A5cC89a6C6663652638\"\n+ \"eth:0x98a6bBaE1f8F7e78c96d90f1705c1fA3BD29fbfC\"\n }\n```"
}
]
},
{
"id": "3db07948",
"date": "Tue, 11 Aug 2026 08:23:09 GMT",
"timestamp": 1786436525,
"description": "SystemConfig implementation upgraded (upgradeCount 1 -> 2), adding owner-gated eip1559Denominator/Elasticity, operatorFeeScalar/Constant, daFootprintGasScalar (all 0, unconfigured) and minBaseFee (set to 500 gwei floor). l2ChainId and superchainConfig are new storage slots the source comments mark as reserved placeholders for a future OP v5 upgrade, intentionally left unset here. Owner unchanged (NXV Safe, 3-of-5).\n\nDiff: https://disco.l2beat.com/diff/eth:0xbc10fE919504D53953d27989CD5B48B9A7c08Be0/eth:0xE4577dCF1C44F04cf489AA995E01e988f461cc4A",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x43F8DeFe3E9286D152E91BB16a248808E7247198) [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- \"0x5d5d38c092a6c8e1ec90659e0b12a8a490cfe629934e11c688e5e55c948a134d\"\n+ \"0xf27c4a47f5f30ee0ed7d69662eb98874c98bc6957423153a1383eb983a2bbf5f\"\n values.$implementation:\n- \"eth:0xbc10fE919504D53953d27989CD5B48B9A7c08Be0\"\n+ \"eth:0xE4577dCF1C44F04cf489AA995E01e988f461cc4A\"\n values.$pastUpgrades.1:\n+ [\"2026-08-04T08:28:23.000Z\",\"0x6dab15d826dc253e57c4cd55634e061e01df3d1045528e3dde13840bbddde1fd\",[\"eth:0xE4577dCF1C44F04cf489AA995E01e988f461cc4A\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.daFootprintGasScalar:\n+ 0\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.l2ChainId:\n+ 0\n values.minBaseFee:\n+ 500000000000\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n values.superchainConfig:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n implementationNames.eth:0xbc10fE919504D53953d27989CD5B48B9A7c08Be0:\n- \"SystemConfig\"\n implementationNames.eth:0xE4577dCF1C44F04cf489AA995E01e988f461cc4A:\n+ \"SystemConfig\"\n }\n```"
}
]
},
{
"id": "fa40cfa1",
"date": "Tue, 23 Jun 2026 11:38:41 GMT",
"timestamp": 1782210335,
"description": "Moved some GnosisSafes to NXV multisigs (supposedly simplified version of GnosisSafe), see: nexvault.com",
"isHighSeverity": false,
"changeCount": 25,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract Hashkey Multisig 3 (eth:0x29Fbda675Fa5a07B621C2C1a6E3F874C14F612F3) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract SystemConfig (eth:0x43F8DeFe3E9286D152E91BB16a248808E7247198) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.owner:\n- \"eth:0x29Fbda675Fa5a07B621C2C1a6E3F874C14F612F3\"\n+ \"eth:0x391832Fb1884E6772Dbd9f24cE2db35E9B20B696\"\n }\n```\n\n```diff\n contract Hashkey Multisig 1 (eth:0x441F31C4cdf772558D4EA31f3114de59aE145E7c) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x679A65aD62972Ea3561F40A12e93CcA6f79F35E6\",\"description\":\"set and change address mappings.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C\"}]}\n receivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x0407af506d86bFA5e401099b2fC2355590638f19\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C\"}]}\n receivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x04Ec030f362CE5A0b5Fe2d4B4219f287C2EBDE50\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C\"}]}\n receivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be\",\"description\":\"upgrading the bridge implementation can give access to all funds escrowed therein.\",\"role\":\".$admin\",\"via\":[{\"address\":\"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C\"}]}\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x43F8DeFe3E9286D152E91BB16a248808E7247198\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C\"}]}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x4deC2aA521108d78d983c0c12656c6CF8631F2ED\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C\"}]}\n receivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x899F07862D3A03F70E07b7f01183934b485d2e97\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C\"}]}\n receivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xBb70D595147A141e268532BFEF61A8c25054d26D\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C\"}]}\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xd4C83D93c6fAE3E0804B785F9Cf465BE95449D04\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C\"}]}\n receivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xd9c31D15f2c649e525C2574bC025b3CAafAaf6fe\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C\"}]}\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C\"}]}\n receivedPermissions.13:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xfd1255b6c09D939E7F3896A16C32CDBCD6F8B40A\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C\"}]}\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C) [global/ProxyAdmin] {\n +++ description: None\n values.owner:\n- \"eth:0x441F31C4cdf772558D4EA31f3114de59aE145E7c\"\n+ \"eth:0x3228F00FbFD0e1F4c282601c489664B10932C40f\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Hashkey Multisig 2 (eth:0xC7fCbE26c1Db751d63869F72F782a56710f6be5A) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract OptimismPortal2 (eth:0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n values.guardian:\n- \"eth:0xC7fCbE26c1Db751d63869F72F782a56710f6be5A\"\n+ \"eth:0x6F2b20996ADAf3ae64Da901A67f659C2c48f66C9\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0xfd1255b6c09D939E7F3896A16C32CDBCD6F8B40A) [opstack/SuperchainConfigFake] {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n values.$pastUpgrades.1:\n+ [\"2026-05-25T05:51:23.000Z\",\"0x3bfc8a22ff71232436c67628de837c36002264a5dfbc55b38b957f5ba471538c\",[\"eth:0x3a6CBE32Ed9E11662362400C293485109bdF2CcC\"]]\n values.$pastUpgrades.2:\n+ [\"2026-05-25T05:51:23.000Z\",\"0x3bfc8a22ff71232436c67628de837c36002264a5dfbc55b38b957f5ba471538c\",[\"eth:0x1d31a15050DBE75c6c060D6da696332a5CB943e1\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"eth:0xC7fCbE26c1Db751d63869F72F782a56710f6be5A\"\n+ \"eth:0x6F2b20996ADAf3ae64Da901A67f659C2c48f66C9\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract NXV (eth:0x3228F00FbFD0e1F4c282601c489664B10932C40f) [NXV]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract NXV (eth:0x391832Fb1884E6772Dbd9f24cE2db35E9B20B696) [NXV]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract NXV (eth:0x6F2b20996ADAf3ae64Da901A67f659C2c48f66C9) [NXV]\n +++ description: None\n```"
}
]
},
{
"id": "ab0dc62f",
"date": "Wed, 04 Mar 2026 12:17:34 GMT",
"timestamp": 1772626589,
"description": "PermissionedDisputeGame redeployed with a new proposer address (same implementation, same version 1.3.1-beta.2, same absolutePrestate). Proposer rotated from 0xD1B3Ea8b98C86b1fc00B28096CB504d930D17A54 to 0xF660E0982b3720bc01692f9D10c647f688FD07ba. [Diff (identical code)](https://disco.l2beat.com/diff/eth:0x80243779986D4F08b7bc2888a8Ce086E0d45dF41/eth:0xE38135e20BA018a5542C83De258d80d6883Da8A3)\n\nBatcher and unsafeBlockSigner addresses rotated in SystemConfig.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x04Ec030f362CE5A0b5Fe2d4B4219f287C2EBDE50) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x80243779986D4F08b7bc2888a8Ce086E0d45dF41\"\n+ \"eth:0xE38135e20BA018a5542C83De258d80d6883Da8A3\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x43F8DeFe3E9286D152E91BB16a248808E7247198) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0xFa35501cab42175918093F40C317642919F45165\"\n+ \"eth:0x5e70713222FaF60c9e9fB69240D06ae6D688563A\"\n values.unsafeBlockSigner:\n- \"eth:0x38Eb7BDa08297a65d399FbE46F061116f6Dd0ECB\"\n+ \"eth:0x0dD773e949a7E53f622A3A5cC89a6C6663652638\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x80243779986D4F08b7bc2888a8Ce086E0d45dF41)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xE38135e20BA018a5542C83De258d80d6883Da8A3)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "2c971eee",
"date": "Tue, 27 Jan 2026 16:58:54 GMT",
"timestamp": 1769532941,
"description": "Key rotation: New PermissionedDisputeGame deployed with new proposer address (0xC5576... → 0xD1B3E...). Since PermissionedDisputeGame has immutable constructor params, a new contract was needed to change the proposer. SystemConfig also updated with new batcher (0xFa35501...) and new unsafe block signer (0x38Eb7B...). Same implementation code and absolutePrestate (v1.3.1 govApproved).",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x04Ec030f362CE5A0b5Fe2d4B4219f287C2EBDE50) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x78075eA46A562c3201E61664645c0f0537a8DDd5\"\n+ \"eth:0x80243779986D4F08b7bc2888a8Ce086E0d45dF41\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x43F8DeFe3E9286D152E91BB16a248808E7247198) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0xf09ebb62b5ba0cf402b77aBA61691cBCf005206f\"\n+ \"eth:0xFa35501cab42175918093F40C317642919F45165\"\n values.unsafeBlockSigner:\n- \"eth:0xCc467FdB41B5b5A4E23021CAd69ED27550a41694\"\n+ \"eth:0x38Eb7BDa08297a65d399FbE46F061116f6Dd0ECB\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x78075eA46A562c3201E61664645c0f0537a8DDd5)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n EOA (eth:0xFCF35CeE40325db21c3dc5b45849251E78Be47eb) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"challenge\",\"from\":\"eth:0x78075eA46A562c3201E61664645c0f0537a8DDd5\",\"role\":\".challenger\"}]\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x80243779986D4F08b7bc2888a8Ce086E0d45dF41)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "bab26bd9",
"date": "Mon, 01 Sep 2025 12:26:10 GMT",
"timestamp": 1756721254,
"description": "Multisig update.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Hashkey Multisig 3 (0x29Fbda675Fa5a07B621C2C1a6E3F874C14F612F3) {\n +++ description: None\n values.$members.2:\n- \"eth:0x936A3612A17FFAF824F80F4386e21d3a3F80EafD\"\n+ \"eth:0xC10499Cdb8102229ED191b9637175e846e1E5824\"\n }\n```\n\n```diff\n contract Hashkey Multisig 1 (0x441F31C4cdf772558D4EA31f3114de59aE145E7c) {\n +++ description: None\n values.$members.0:\n- \"eth:0x1524C875105840c7DCdd269463b0f968BB0B2358\"\n+ \"eth:0xa4e139F57FCE42f5603a3A714c9a6613Ce09B2B6\"\n }\n```\n\n```diff\n contract Hashkey Multisig 2 (0xC7fCbE26c1Db751d63869F72F782a56710f6be5A) {\n +++ description: None\n values.$members.2:\n- \"eth:0xaF462439A057f32A0f2Ce0353cBC6E0515c40dE3\"\n+ \"eth:0xc36B2F7D3e7996C80086AF5adee5BbF91082D570\"\n }\n```"
}
]
},
{
"id": "dff7a45c",
"date": "Mon, 14 Jul 2025 12:45:09 GMT",
"timestamp": 1752497109,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 20,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x0407af506d86bFA5e401099b2fC2355590638f19)\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 DisputeGameFactory (0x04Ec030f362CE5A0b5Fe2d4B4219f287C2EBDE50)\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 L1StandardBridge (0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be)\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 Hashkey Multisig 3 (0x29Fbda675Fa5a07B621C2C1a6E3F874C14F612F3)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x43F8DeFe3E9286D152E91BB16a248808E7247198)\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 Hashkey Multisig 1 (0x441F31C4cdf772558D4EA31f3114de59aE145E7c)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x4deC2aA521108d78d983c0c12656c6CF8631F2ED)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x5B9bEf4d8C36FB013c70d0A6F455807c6BD5270b)\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 AddressManager (0x679A65aD62972Ea3561F40A12e93CcA6f79F35E6)\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 (0x7447b25b91336127042CC6899B2C15668a1Ab8BA)\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 (0x78075eA46A562c3201E61664645c0f0537a8DDd5)\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 ProxyAdmin (0x7986eD289935A0F47FC434C00cDE309fE2c51f1C)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x899F07862D3A03F70E07b7f01183934b485d2e97)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xBb70D595147A141e268532BFEF61A8c25054d26D)\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 (0xC3E7f3606aeAC543bD268a637c6847E92d69B8aA)\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 Hashkey Multisig 2 (0xC7fCbE26c1Db751d63869F72F782a56710f6be5A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0xd4C83D93c6fAE3E0804B785F9Cf465BE95449D04)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xd9c31D15f2c649e525C2574bC025b3CAafAaf6fe)\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 OptimismPortal2 (0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0xfd1255b6c09D939E7F3896A16C32CDBCD6F8B40A)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```"
}
]
},
{
"id": "9b1fee7b",
"date": "Fri, 11 Apr 2025 06:42:55 GMT",
"timestamp": 1744353775,
"description": "batcherHash changed, added nonTemplateTrackedTransactions.\nConfig: anchorGame ignored.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x04Ec030f362CE5A0b5Fe2d4B4219f287C2EBDE50) {\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- \"0x3fEF4F3e99936E89A8bBdD9E08D83c471D5E152D\"\n+ \"0x78075eA46A562c3201E61664645c0f0537a8DDd5\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x3fEF4F3e99936E89A8bBdD9E08D83c471D5E152D)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SystemConfig (0x43F8DeFe3E9286D152E91BB16a248808E7247198) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n issuedPermissions.1.permission:\n- \"sequence\"\n+ \"upgrade\"\n issuedPermissions.1.to:\n- \"0x9391791f7CB74F8BFDA65edc0749efd964311b55\"\n+ \"0x441F31C4cdf772558D4EA31f3114de59aE145E7c\"\n issuedPermissions.1.via.0:\n+ {\"address\":\"0x7986eD289935A0F47FC434C00cDE309fE2c51f1C\"}\n issuedPermissions.0.permission:\n- \"upgrade\"\n+ \"sequence\"\n issuedPermissions.0.to:\n- \"0x441F31C4cdf772558D4EA31f3114de59aE145E7c\"\n+ \"0xf09ebb62b5ba0cf402b77aBA61691cBCf005206f\"\n issuedPermissions.0.via.0:\n- {\"address\":\"0x7986eD289935A0F47FC434C00cDE309fE2c51f1C\"}\n values.batcherHash:\n- \"0x9391791f7CB74F8BFDA65edc0749efd964311b55\"\n+ \"0xf09ebb62b5ba0cf402b77aBA61691cBCf005206f\"\n values.unsafeBlockSigner:\n- \"0xBc80De532cf87543aaD3267Cc8A4cAA2813130E7\"\n+ \"0xCc467FdB41B5b5A4E23021CAd69ED27550a41694\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x78075eA46A562c3201E61664645c0f0537a8DDd5)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "433bbc4e",
"date": "Wed, 19 Mar 2025 15:45:13 GMT",
"timestamp": 1742399113,
"description": "Ignore.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DelayedWETH (0xd9c31D15f2c649e525C2574bC025b3CAafAaf6fe) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n values.owner:\n- \"0xa31d8CDDf0D931Dfda2C9D03E35bd8b5d3A6aEC9\"\n+ \"0x441F31C4cdf772558D4EA31f3114de59aE145E7c\"\n }\n```"
}
]
},
{
"id": "e235d7ca",
"date": "Wed, 22 Jan 2025 14:18:50 GMT",
"timestamp": 1737555530,
"description": "Initial discovery. Uses OptiPortal2 (post OPFP) and system contract beta versions to allow for custom gasTokens. No other significant changes to the current Optimism contracts.\n\nRespected Game type is permissioned, no SecurityCouncil, no Superchain gov.",
"isHighSeverity": false,
"changeCount": 20,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x0407af506d86bFA5e401099b2fC2355590638f19)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x04Ec030f362CE5A0b5Fe2d4B4219f287C2EBDE50)\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 L1StandardBridge (0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be)\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 HashkeyOpsMultisig (0x29Fbda675Fa5a07B621C2C1a6E3F874C14F612F3)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x3fEF4F3e99936E89A8bBdD9E08D83c471D5E152D)\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 (0x43F8DeFe3E9286D152E91BB16a248808E7247198)\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 HashkeyUpgradeMultisig (0x441F31C4cdf772558D4EA31f3114de59aE145E7c)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x4deC2aA521108d78d983c0c12656c6CF8631F2ED)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x5B9bEf4d8C36FB013c70d0A6F455807c6BD5270b)\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 AddressManager (0x679A65aD62972Ea3561F40A12e93CcA6f79F35E6)\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 (0x7447b25b91336127042CC6899B2C15668a1Ab8BA)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x7986eD289935A0F47FC434C00cDE309fE2c51f1C)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x899F07862D3A03F70E07b7f01183934b485d2e97)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xBb70D595147A141e268532BFEF61A8c25054d26D)\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 (0xC3E7f3606aeAC543bD268a637c6847E92d69B8aA)\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 HashkeyGuardianMultisig (0xC7fCbE26c1Db751d63869F72F782a56710f6be5A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0xd4C83D93c6fAE3E0804B785F9Cf465BE95449D04)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xd9c31D15f2c649e525C2574bC025b3CAafAaf6fe)\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 OptimismPortal2 (0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0xfd1255b6c09D939E7F3896A16C32CDBCD6F8B40A)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```"
}
]
}
]
+28 -165
+0 -4
{
"redWarning": {
"text": "Critical contracts can be upgraded by an EOA which could result in the loss of all funds.",
"detailAnchor": "permissions"
},
"unverifiedContracts": []
}
+4 -4
{
"architectureImage": "mantapacific",
"dataAvailability": [
{
"name": "Data is posted to Celestia",
"description": "Transactions roots are posted onchain and the full data is posted on Celestia. Since the Blobstream bridge is not used, availability of the data is not verified against Celestia validators, meaning that the Sequencer can single-handedly publish unavailable roots. If Celestia becomes unavailable, the sequencer falls back to Ethereum.",
"risks": [
{
"category": "Funds can be lost if",
"text": "the sequencer posts an unavailable transaction root.",
"isCritical": true
},
{
"category": "Funds can be lost if",
"text": "the data is not available on the external provider.",
"isCritical": true
}
],
"references": [
{
"title": "Introducing Blobstream: streaming modular DA to Ethereum",
"url": "https://blog.celestia.org/introducing-blobstream/"
},
{
"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/0xAEbA8e2307A22B6824a9a7a39f8b016C357Cd1Fe#code"
},
{
"title": "OptimismPortal.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388#code"
}
]
}
],
"exitMechanisms": [
{
"name": "Regular messaging",
"description": "The user initiates L2->L1 messages by submitting a regular transaction on this chain. When the block containing that transaction is settled, the message becomes available for processing on L1. The process of block finalization takes a challenge period of 3d to complete.",
"risks": [
{
"category": "Funds can be frozen if",
"text": "the centralized validator goes down. Users cannot produce blocks themselves and exiting the system requires new block production.",
"isCritical": true
}
],
"references": [
{
"title": "OptimismPortal.sol - source code, proveWithdrawalTransaction function",
"url": "https://etherscan.io/address/0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388#code"
},
{
"title": "OptimismPortal.sol - source code, finalizeWithdrawalTransaction function",
"url": "https://etherscan.io/address/0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388#code"
},
{
"title": "L2OutputOracle.sol - source code, PROPOSER check",
"url": "https://etherscan.io/address/0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441#code"
"url": "https://etherscan.io/address/0xc9E9b111c5a14C0C75Ef753e26eA5D4D7D2610FE#code"
}
]
},
{
"name": "Forced messaging",
"description": "If the user experiences censorship from the operator with regular L2->L1 messaging they can submit their messages directly on L1. The system is then obliged to service this request or halt all messages, including forced withdrawals from L1 and regular messages initiated on L2. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular message.",
"risks": [],
"references": [
{
"title": "Forced withdrawal from an OP Stack blockchain",
"url": "https://docs.optimism.io/stack/transactions/forced-transaction"
}
]
}
],
"forceTransactions": {
"name": "Users can force any transaction",
"description": "Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly.",
"risks": [],
"references": [
{
"title": "Sequencing Window - OP Mainnet Specs",
"url": "https://github.com/ethereum-optimism/optimism/blob/51eeb76efeb32b3df3e978f311188aa29f5e3e94/specs/glossary.md#sequencing-window"
},
{
"title": "OptimismPortal.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388#code"
}
]
},
"operator": {
"name": "The system has a centralized operator",
"description": "The operator is the only entity that can propose blocks. A live and trustworthy operator is vital to the health of the system.",
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
],
"references": [
{
"title": "L2OutputOracle.sol - source code, CHALLENGER address",
"url": "https://etherscan.io/address/0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441#code"
"url": "https://etherscan.io/address/0xc9E9b111c5a14C0C75Ef753e26eA5D4D7D2610FE#code"
},
{
"title": "L2OutputOracle.sol - source code, PROPOSER address",
"url": "https://etherscan.io/address/0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441#code"
"url": "https://etherscan.io/address/0xc9E9b111c5a14C0C75Ef753e26eA5D4D7D2610FE#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"
}
]
}
],
"stateValidation": {
"categories": [
{
"title": "No state validation",
"description": "OP Stack projects can use the OP fault proof system, already being deployed on some. This project though is not using fault proofs yet and is relying on the honesty of the permissioned Proposer and Challengers to ensure state correctness. The smart contract system permits invalid state roots.",
"risks": [
{
"category": "Funds can be stolen if",
"text": "an invalid state root is submitted to the system.",
"isCritical": true
}
],
"references": [
{
"title": "L2OutputOracle.sol - source code, deleteL2Outputs function",
"url": "https://etherscan.io/address/0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441#code"
"url": "https://etherscan.io/address/0xc9E9b111c5a14C0C75Ef753e26eA5D4D7D2610FE#code"
}
]
}
]
},
"warning": "Fraud proof system is currently under development. Users need to trust the block proposer to submit correct L1 state roots."
}
+0 -83
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "MantaMultisig",
"name": "MantaMultisig",
"description": "A Multisig with 5/7 threshold. \n* Can upgrade **with no delay**\n * L2OutputOracle [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * OptimismPortal [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]",
"accounts": [
{
"address": "eth:0x3c46C05c2eba8eDd0B0f0C8B1D2fBf9fc53ea01E",
"type": "Contract",
"isVerified": true,
"name": "0x3c46…a01E",
"url": "https://etherscan.io/address/0x3c46C05c2eba8eDd0B0f0C8B1D2fBf9fc53ea01E"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x12ee26aD74d50a1f6BDD90811387d1e0f3e7C76A",
"type": "EOA",
"isVerified": true,
"name": "0x12ee…C76A",
"url": "https://etherscan.io/address/0x12ee26aD74d50a1f6BDD90811387d1e0f3e7C76A"
},
{
"address": "eth:0x4b1A788B20bb85eb19f8e9B69B8a584e7fA29fe5",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1"
},
{
"address": "eth:0x356000Cec4fC967f8FC372381D983426760A0391",
"type": "EOA",
"isVerified": true,
"name": "Caldera",
"url": "https://etherscan.io/address/0x356000Cec4fC967f8FC372381D983426760A0391"
},
{
"address": "eth:0xB44948Ff3E8a4d3Ac32A376B4b3209AdC7620770",
"type": "EOA",
"isVerified": true,
"name": "0xB449…0770",
"url": "https://etherscan.io/address/0xB44948Ff3E8a4d3Ac32A376B4b3209AdC7620770"
},
{
"address": "eth:0xDC80503b718Ff3B2e43db42460A718c119e75cdd",
"type": "EOA",
"isVerified": true,
"name": "0xDC80…5cdd",
"url": "https://etherscan.io/address/0xDC80503b718Ff3B2e43db42460A718c119e75cdd"
},
{
"address": "eth:0x92124ee0e7238992E5E7F34f9FBBCD71931ABC6D",
"type": "EOA",
"isVerified": true,
"name": "0x9212…BC6D",
"url": "https://etherscan.io/address/0x92124ee0e7238992E5E7F34f9FBBCD71931ABC6D"
},
{
"address": "eth:0x35Aee2b2aa6ACB13C3a38a58AEb069C163734FaD",
"type": "EOA",
"isVerified": true,
"name": "0x35Ae…4FaD",
"url": "https://etherscan.io/address/0x35Aee2b2aa6ACB13C3a38a58AEb069C163734FaD"
}
],
"discoveryDrivenData": true
},
{
"id": "FinalityRelayerManager",
"name": "FinalityRelayerManager",
"accounts": [
{
"address": "eth:0x8E132B3bD37f3f6E223cD23adD390111e674C94E",
"type": "Contract",
"isVerified": true,
"name": "0x8E13…C94E",
"url": "https://etherscan.io/address/0x8E132B3bD37f3f6E223cD23adD390111e674C94E"
}
],
"chain": "ethereum",
"description": "Contract managing challenge period reductions based on whitelisted signer and staked amounts. No threshold is currently enforced and no validation is done on the staked amounts. The current challenge period is set to 3d, the manta quorum can reduce it by a maximum of 1d, the bitcoin quorum can reduce it by a maximum of 1d, and the minimum challenge period allowed is set to 12h.\n* Can interact with L2OutputOracle\n * can reduce the challenge period for selected state roots ",
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x4b1A788B20bb85eb19f8e9B69B8a584e7fA29fe5",
"type": "EOA",
"isVerified": true,
"name": "0x4b1A…9fe5",
"url": "https://etherscan.io/address/0x4b1A788B20bb85eb19f8e9B69B8a584e7fA29fe5",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "Member of MantaMultisig.\n* Can interact with L2OutputOracle\n * Allowed to challenge or delete state roots proposed by a Proposer \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with OptimismPortal\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0x853bDfF715eFeDc280C16241dD30A6d651f90aCa",
"type": "EOA",
"isVerified": true,
"name": "0x853b…0aCa",
"url": "https://etherscan.io/address/0x853bDfF715eFeDc280C16241dD30A6d651f90aCa",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with L2OutputOracle\n * Allowed to post new state roots of the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0xA76E31D8471D569EfDd3D95d1b11Ce6710f4533F",
"type": "EOA",
"isVerified": true,
"name": "0xA76E…533F",
"url": "https://etherscan.io/address/0xA76E31D8471D569EfDd3D95d1b11Ce6710f4533F",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-4,-EOA-5-and-EOA-6",
"name": "EOA 4, EOA 5 and EOA 6",
"accounts": [
{
"address": "eth:0x170f4f5a53901d40f8394eBBB2E2B5eC536EBC21",
"type": "EOA",
"isVerified": true,
"name": "0x170f…BC21",
"url": "https://etherscan.io/address/0x170f4f5a53901d40f8394eBBB2E2B5eC536EBC21",
"displayName": "EOA 4"
},
{
"address": "eth:0x2eB258090Fb1Ea635eb4eEB410693278823537FC",
"type": "EOA",
"isVerified": true,
"name": "0x2eB2…37FC",
"url": "https://etherscan.io/address/0x2eB258090Fb1Ea635eb4eEB410693278823537FC",
"displayName": "EOA 5"
},
{
"address": "eth:0x83E3fa69086af892B02D58fB181f5a8bCC11aBA6",
"type": "EOA",
"isVerified": true,
"name": "0x83E3…aBA6",
"url": "https://etherscan.io/address/0x83E3fa69086af892B02D58fB181f5a8bCC11aBA6",
"displayName": "EOA 6"
}
],
"chain": "ethereum",
"description": "* Can interact with FinalityRelayerManager\n * can vote for challenge period reductions ",
"discoveryDrivenData": true
},
{
"id": "EOA-7",
"name": "EOA 7",
"accounts": [
{
"address": "eth:0xBFdA2dF9Cd91cF7A3e794EDB9C268588d42d7c01",
"type": "EOA",
"isVerified": true,
"name": "0xBFdA…7c01",
"url": "https://etherscan.io/address/0xBFdA2dF9Cd91cF7A3e794EDB9C268588d42d7c01",
"displayName": "EOA 7"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * FinalityRelayerManager [via: ProxyAdmin]\n * BLSApkRegistry [via: ProxyAdmin]",
"discoveryDrivenData": true
},
{
"id": "EOA-8",
"name": "EOA 8",
"accounts": [
{
"address": "eth:0xfdaD88aE58677281C8Bc75d35CB4a6bb8ACaec4a",
"type": "EOA",
"isVerified": true,
"name": "0xfdaD…ec4a",
"url": "https://etherscan.io/address/0xfdaD88aE58677281C8Bc75d35CB4a6bb8ACaec4a",
"displayName": "EOA 8"
}
],
"chain": "ethereum",
"description": "* Can interact with FinalityRelayerManager\n * can add or remove operators, set the target for manta and bitcoin votes, and provide data for signature validation, including addresses to be excluded from validation \n* Can interact with BLSApkRegistry\n * it can add or remove whitelisted addresses that can register BLS keys ",
"discoveryDrivenData": true
}
]
}
}
+9 -73
{
"addresses": {
"ethereum": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x30c789674ad3B458886BBC9abf42EEe19EA05C1D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441"
"eth:0xc9E9b111c5a14C0C75Ef753e26eA5D4D7D2610FE"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694225207,
"transactionHash": "0x1a87e499b70152ea3a2a6efdd564f52ca0feafea4b5ebf3bec1dea1744ce26bd",
"implementations": [
"eth:0x1E5e634981564fc645dcbC6546aE618d7870B30a"
]
},
{
"timestamp": 1757652443,
"transactionHash": "0x5c9d3e19dd335e1defb86ab47187fdb2b4416756d4a1226479cb3582b169771a",
"implementations": [
"eth:0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441"
]
},
{
"timestamp": 1791931151,
"transactionHash": "0x9785856bac155883f8a5f03c17345796820218b3553051e627b9d009fc6423df",
"implementations": [
"eth:0xc9E9b111c5a14C0C75Ef753e26eA5D4D7D2610FE"
]
}
],
"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. The challenge period can be reduced by the FinalityRelayerManager contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantaMultisig\n * **challenger**: EOA 1\n * **finalityProvider**: FinalityRelayerManager\n * **proposer**: EOA 2",
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Each proposal records its own finalization period.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantaMultisig\n * **challenger**: EOA 1\n * **proposer**: EOA 2",
"upgradableBy": [
{
"name": "MantaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x30c789674ad3B458886BBC9abf42EEe19EA05C1D#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x895E00269A05848F3c9889EfA677D02fF7351a5D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0xeF01a6aE995791FfFcA3d70bDA7B91E5Fa1aD0aE"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694225099,
"transactionHash": "0x3fc415e1bb3f7da0c3242d8f9e94155fa39724cbbac34b0846b9a2249eaae22f",
"implementations": [
"eth:0xeF01a6aE995791FfFcA3d70bDA7B91E5Fa1aD0aE"
]
}
],
"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 MantaMultisig\n * **batcherHash**: EOA 3\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "MantaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x895E00269A05848F3c9889EfA677D02fF7351a5D#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694225231,
"transactionHash": "0x3ba5fd8ebd0374b77f27332c31ddfdac6e67d7317ab4668043a2e26cb0bb5996",
"implementations": [
"eth:0x445c62F4948f3B08a6bB1DbC51Ef985b3Eb199F1"
]
},
{
"timestamp": 1757652443,
"transactionHash": "0x5c9d3e19dd335e1defb86ab47187fdb2b4416756d4a1226479cb3582b169771a",
"implementations": [
"eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantaMultisig\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "MantaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x3B95bC951EE0f553ba487327278cAc44f29715E5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x62b257A1b1fC81c4e6E5Dc5b47F1E6184341Cd58"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantaMultisig",
"upgradableBy": [
{
"name": "MantaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B95bC951EE0f553ba487327278cAc44f29715E5#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x635ba609680c55C3bDd0B3627b4c5dB21b13c310",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x9cDDc6F65eD67Ef19743fFDFD53501457ce8B51f"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694224931,
"transactionHash": "0xa9f1d5a75b77547488322b8de82f0c63c27cdab4e58ffb59ac181c606cfbf460",
"implementations": [
"eth:0x635ba609680c55C3bDd0B3627b4c5dB21b13c310"
]
},
{
"timestamp": 1694225183,
"transactionHash": "0xc778764049cb9f0cd852c1361f73a39b1e6aeb4b368a4456f2f77c34369eb6df",
"implementations": [
"eth:0x9cDDc6F65eD67Ef19743fFDFD53501457ce8B51f"
]
}
],
"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 MantaMultisig",
"upgradableBy": [
{
"name": "MantaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x635ba609680c55C3bDd0B3627b4c5dB21b13c310#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: MantaMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa2DCa85BB892De55D8B262d1806114733106e8D1#code"
},
{
"name": "BLSApkRegistry",
"isVerified": true,
"address": "eth:0xa80f2401c8AE7D95C7995295DC2c0D651F25FD60",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xab64A3Da57886cD4205176c72b8Be63C34E46366"
],
"implementations": [
"eth:0x8ad2384aaf9525bd7B4D3f73e8CC07421af2046F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1756743095,
"transactionHash": "0xfb62fc1475f085af10fc1e24a622ae14e47dc2d6dd542d45624a4dacb41071d9",
"implementations": [
"eth:0xbA8F537c029c3754e8EB34EA1cE2c0eaDE2745B5"
]
},
{
"timestamp": 1756743095,
"transactionHash": "0xe1efad46bfcd85ec8e1b55643fc79cbd833f53a28161ee11273302a5a717b837",
"implementations": [
"eth:0x8ad2384aaf9525bd7B4D3f73e8CC07421af2046F"
]
}
],
"description": "Contract used to register BLS keys and verify aggregated signatures. No specific threshold is enforced here, as all addresses to exclude from the signature check are provided as an input.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 7\n * **relayerManager**: EOA 8",
"upgradableBy": [
{
"id": "EOA-7",
"name": "EOA 7",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa80f2401c8AE7D95C7995295DC2c0D651F25FD60#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xab64A3Da57886cD4205176c72b8Be63C34E46366",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 7",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xab64A3Da57886cD4205176c72b8Be63C34E46366#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xeC638D2C7d0F07c0245ac94e51A51Bac427d8262",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 7",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeC638D2C7d0F07c0245ac94e51A51Bac427d8262#code"
}
]
},
"escrows": [
{
"address": "0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622",
"sinceTimestamp": 1694224871,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694225231,
"transactionHash": "0x3ba5fd8ebd0374b77f27332c31ddfdac6e67d7317ab4668043a2e26cb0bb5996",
"implementations": [
"eth:0x445c62F4948f3B08a6bB1DbC51Ef985b3Eb199F1"
]
},
{
"timestamp": 1757652443,
"transactionHash": "0x5c9d3e19dd335e1defb86ab47187fdb2b4416756d4a1226479cb3582b169771a",
"implementations": [
"eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x3B95bC951EE0f553ba487327278cAc44f29715E5",
"sinceTimestamp": 1694224907,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x3B95bC951EE0f553ba487327278cAc44f29715E5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x62b257A1b1fC81c4e6E5Dc5b47F1E6184341Cd58"
]
},
"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/0x3B95bC951EE0f553ba487327278cAc44f29715E5#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1787230124,
"baseTimestamp": 1792012114,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "73fe1454",
"date": "Wed, 14 Oct 2026 21:09:38 GMT",
"timestamp": 1792012114,
"description": "L2OutputOracle implementation replaced: the finality-provider path (`finalityProvider`, `proposalChangeFinalizationPeriodSeconds`, `setFinalityProvider`) removed. FinalityRelayerManager and BLSApkRegistry dropped from the graph. Upgraded by the MantaMultisig; one of its members is now a 7702-delegated EOA.\nhttps://disco.l2beat.com/diff/eth:0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441/eth:0xc9E9b111c5a14C0C75Ef753e26eA5D4D7D2610FE",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2OutputOracle (eth:0x30c789674ad3B458886BBC9abf42EEe19EA05C1D) [mantapacific/L2OutputOracle] {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Each proposal records its own finalization period.\n template:\n- \"mantapacific/L2OutputOracle_FinalityProvider\"\n+ \"mantapacific/L2OutputOracle\"\n sourceHashes.1:\n- \"0x3437a7a092d08f59ae124806ebb927c551003d6c2b04bdcc21079332bb6d30c8\"\n+ \"0xaab2d5f257c8ae0e9785689bc0da144b1ba3c05ff39cb502758e8f378feb81bb\"\n description:\n- \"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. The challenge period can be reduced by the FinalityRelayerManager contract.\"\n+ \"Contains a list of proposed state roots which Proposers assert to be a result of block execution. Each proposal records its own finalization period.\"\n values.$implementation:\n- \"eth:0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441\"\n+ \"eth:0xc9E9b111c5a14C0C75Ef753e26eA5D4D7D2610FE\"\n values.$pastUpgrades.2:\n+ [\"2026-10-13T22:39:11.000Z\",\"0x9785856bac155883f8a5f03c17345796820218b3553051e627b9d009fc6423df\",[\"eth:0xc9E9b111c5a14C0C75Ef753e26eA5D4D7D2610FE\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.finalityProvider:\n- \"eth:0x8E132B3bD37f3f6E223cD23adD390111e674C94E\"\n implementationNames.eth:0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441:\n- \"L2OutputOracle\"\n implementationNames.eth:0xc9E9b111c5a14C0C75Ef753e26eA5D4D7D2610FE:\n+ \"L2OutputOracle\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FinalityRelayerManager (eth:0x8E132B3bD37f3f6E223cD23adD390111e674C94E) [mantapacific/FinalityRelayerManager]\n +++ description: Contract managing challenge period reductions based on whitelisted signer and staked amounts. No threshold is currently enforced and no validation is done on the staked amounts. The current challenge period is set to 3d, the manta quorum can reduce it by a maximum of 1d, the bitcoin quorum can reduce it by a maximum of 1d, and the minimum challenge period allowed is set to 12h.\n```\n\n```diff\n- Status: DELETED\n contract BLSApkRegistry (eth:0xa80f2401c8AE7D95C7995295DC2c0D651F25FD60) [mantapacific/BLSApkRegistry]\n +++ description: Contract used to register BLS keys and verify aggregated signatures. No specific threshold is enforced here, as all addresses to exclude from the signature check are provided as an input.\n```\n\n```diff\n- Status: DELETED\n contract ProxyAdmin (eth:0xab64A3Da57886cD4205176c72b8Be63C34E46366) [global/ProxyAdmin]\n +++ description: None\n```\n\n```diff\n EOA (eth:0xB44948Ff3E8a4d3Ac32A376B4b3209AdC7620770) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n sourceHashes:\n+ [\"0x1f44812af62d28f019e30e8eb2af596fb36c7db9d34576972c0405e110a6ef45\"]\n values:\n+ {\"$implementation\":\"eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B\",\"delegationManager\":\"eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3\",\"DOMAIN_VERSION\":\"1\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"EIP7702StatelessDeleGator\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0xB44948Ff3E8a4d3Ac32A376B4b3209AdC7620770\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"entryPoint\":\"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032\",\"getDeposit\":0,\"getDomainHash\":\"0x4c207837aa7768d63d9263927b37af857abd763bf15acfef36498c066f633f54\",\"getNonce\":0,\"NAME\":\"EIP7702StatelessDeleGator\",\"PACKED_USER_OP_TYPEHASH\":\"0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18\",\"VERSION\":\"1.3.0\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract ProxyAdmin (eth:0xeC638D2C7d0F07c0245ac94e51A51Bac427d8262) [global/ProxyAdmin]\n +++ description: None\n```"
}
]
},
{
"id": "d327ddcb",
"date": "Thu, 20 Aug 2026 12:49:54 GMT",
"timestamp": 1787230124,
"description": "Verified the sources of two proxy admin contracts, permissions auto resolved for their EOA owner.",
"isHighSeverity": false,
"changeCount": 18,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n contract ProxyAdmin (eth:0xab64A3Da57886cD4205176c72b8Be63C34E46366) [global/ProxyAdmin] {\n +++ description: None\n name:\n- \"\"\n+ \"ProxyAdmin\"\n unverified:\n- true\n receivedPermissions:\n- [{\"permission\":\"upgrade\",\"from\":\"eth:0xa80f2401c8AE7D95C7995295DC2c0D651F25FD60\",\"role\":\"admin\"}]\n values.owner:\n+ \"eth:0xBFdA2dF9Cd91cF7A3e794EDB9C268588d42d7c01\"\n values.UPGRADE_INTERFACE_VERSION:\n+ \"5.0.0\"\n implementationNames.eth:0xab64A3Da57886cD4205176c72b8Be63C34E46366:\n- \"\"\n+ \"ProxyAdmin\"\n template:\n+ \"global/ProxyAdmin\"\n sourceHashes:\n+ [\"0x8fd8f837bb320bd2a7463c103bea2ff207b0969b5795f320a6c868858aa92074\"]\n directlyReceivedPermissions:\n+ [{\"permission\":\"upgrade\",\"from\":\"eth:0xa80f2401c8AE7D95C7995295DC2c0D651F25FD60\",\"role\":\"admin\"}]\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xeC638D2C7d0F07c0245ac94e51A51Bac427d8262) [global/ProxyAdmin] {\n +++ description: None\n name:\n- \"\"\n+ \"ProxyAdmin\"\n unverified:\n- true\n receivedPermissions:\n- [{\"permission\":\"upgrade\",\"from\":\"eth:0x8E132B3bD37f3f6E223cD23adD390111e674C94E\",\"role\":\"admin\"}]\n values.owner:\n+ \"eth:0xBFdA2dF9Cd91cF7A3e794EDB9C268588d42d7c01\"\n values.UPGRADE_INTERFACE_VERSION:\n+ \"5.0.0\"\n implementationNames.eth:0xeC638D2C7d0F07c0245ac94e51A51Bac427d8262:\n- \"\"\n+ \"ProxyAdmin\"\n template:\n+ \"global/ProxyAdmin\"\n sourceHashes:\n+ [\"0x8fd8f837bb320bd2a7463c103bea2ff207b0969b5795f320a6c868858aa92074\"]\n directlyReceivedPermissions:\n+ [{\"permission\":\"upgrade\",\"from\":\"eth:0x8E132B3bD37f3f6E223cD23adD390111e674C94E\",\"role\":\"admin\"}]\n }\n```"
}
]
},
{
"id": "beb9a314",
"date": "Fri, 12 Sep 2025 10:10:08 GMT",
"timestamp": 1757662779,
"description": "- [L2OutputOracle](https://disco.l2beat.com/diff/eth:0x1E5e634981564fc645dcbC6546aE618d7870B30a/eth:0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441): added a \"finalityProvider\" field that can arbitrarily set the challenge period for each L2 output.\n- [OptimismPortal](https://disco.l2beat.com/diff/eth:0x445c62F4948f3B08a6bB1DbC51Ef985b3Eb199F1/eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388): updated to support finalizing outputs with different challenge periods.\n- FinalityRelayerManager: allows to reduce the challenge period based on some BLS signers and staked amounts. No threshold is enforced, and \"staked amounts\" is just an input with no validation. The current challenge period is set to 3d, the manta quorum can reduce it by a maximum of 1d, the bitcoin quorum can reduce it by a maximum of 1d, and the minimum challenge period allowed is set to 12h. To me it looks like this is a partial deployment and the feature is not used yet.\n- BLSApkRegistry: used to register BLS keys and verify aggregated signatures.",
"isHighSeverity": true,
"changeCount": 19,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2OutputOracle (eth:0x30c789674ad3B458886BBC9abf42EEe19EA05C1D) {\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. The challenge period can be reduced by the FinalityRelayerManager contract.\n template:\n- \"opstack/L2OutputOracle\"\n+ \"mantapacific/L2OutputOracle_FinalityProvider\"\n sourceHashes.1:\n- \"0xcca8986d0789aa489ba57cd234e886bd92cb5a0d477e1f5ae5e6e030e15fb183\"\n+ \"0xdd40fbb2ff24f7f8cd28e462753c0953064c62d6fe0615fdae6724cc4d3ab04d\"\n description:\n- \"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+ \"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. The challenge period can be reduced by the FinalityRelayerManager contract.\"\n values.$implementation:\n- \"eth:0x1E5e634981564fc645dcbC6546aE618d7870B30a\"\n+ \"eth:0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441\"\n values.$pastUpgrades.1:\n+ [\"2025-09-12T04:47:23.000Z\",\"0x5c9d3e19dd335e1defb86ab47187fdb2b4416756d4a1226479cb3582b169771a\",[\"eth:0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.finalityProvider:\n+ \"eth:0x8E132B3bD37f3f6E223cD23adD390111e674C94E\"\n implementationNames.eth:0x1E5e634981564fc645dcbC6546aE618d7870B30a:\n- \"L2OutputOracle\"\n implementationNames.eth:0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441:\n+ \"L2OutputOracle\"\n }\n```\n\n```diff\n contract OptimismPortal (eth:0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622) {\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n sourceHashes.1:\n- \"0xd7fe53899c31d6d8e73b6724694736dc3c3c4ebc8f4ddbe989fe9d3dba26692d\"\n+ \"0xec062613f3e0e9ba555b2c11164c199a0137d5b4e9021710092037355d8ed513\"\n values.$implementation:\n- \"eth:0x445c62F4948f3B08a6bB1DbC51Ef985b3Eb199F1\"\n+ \"eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388\"\n values.$pastUpgrades.1:\n+ [\"2025-09-12T04:47:23.000Z\",\"0x5c9d3e19dd335e1defb86ab47187fdb2b4416756d4a1226479cb3582b169771a\",[\"eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.eth:0x445c62F4948f3B08a6bB1DbC51Ef985b3Eb199F1:\n- \"OptimismPortal\"\n implementationNames.eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388:\n+ \"OptimismPortal\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract FinalityRelayerManager (eth:0x8E132B3bD37f3f6E223cD23adD390111e674C94E)\n +++ description: Contract managing challenge period reductions based on whitelisted signer and staked amounts. No threshold is currently enforced and no validation is done on the staked amounts. The current challenge period is set to 3d, the manta quorum can reduce it by a maximum of 1d, the bitcoin quorum can reduce it by a maximum of 1d, and the minimum challenge period allowed is set to 12h.\n```\n\n```diff\n+ Status: CREATED\n contract BLSApkRegistry (eth:0xa80f2401c8AE7D95C7995295DC2c0D651F25FD60)\n +++ description: Contract used to register BLS keys and verify aggregated signatures. No specific threshold is enforced here, as all addresses to exclude from the signature check are provided as an input.\n```\n\n```diff\n+ Status: CREATED\n contract (eth:0xab64A3Da57886cD4205176c72b8Be63C34E46366)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract (eth:0xeC638D2C7d0F07c0245ac94e51A51Bac427d8262)\n +++ description: None\n```"
}
]
},
{
"id": "d9f5e6c1",
"date": "Mon, 14 Jul 2025 12:45:22 GMT",
"timestamp": 1752497122,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 8,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L2OutputOracle (0x30c789674ad3B458886BBC9abf42EEe19EA05C1D)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x3Ad319BB4872F8cB75a26Ac30CC4bD2d56b67b05)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x3B95bC951EE0f553ba487327278cAc44f29715E5)\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 MantaMultisig (0x3c46C05c2eba8eDd0B0f0C8B1D2fBf9fc53ea01E)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x635ba609680c55C3bDd0B3627b4c5dB21b13c310)\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 SystemConfig (0x895E00269A05848F3c9889EfA677D02fF7351a5D)\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 OptimismPortal (0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xa2DCa85BB892De55D8B262d1806114733106e8D1)\n +++ description: None\n```"
}
]
},
{
"id": "1140d52d",
"date": "Thu, 14 Mar 2024 07:47:54 GMT",
"timestamp": 1710402474,
"description": "The scalar value has been decreased, which decreases the result of the L2 fee calculation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x895E00269A05848F3c9889EfA677D02fF7351a5D) {\n +++ description: None\n+++ description: Dynamic L2 gas overhead. Used as part of the L2 fee calculation.\n+++ severity: LOW\n values.scalar:\n- 66666\n+ 6666\n }\n```"
}
]
},
{
"id": "bc6de12f",
"date": "Wed, 13 Mar 2024 10:01:47 GMT",
"timestamp": 1710324107,
"description": "The scalar value has been decreased, which reduces the result of the L2 fee calculation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x895E00269A05848F3c9889EfA677D02fF7351a5D) {\n +++ description: None\n+++ description: Dynamic L2 gas overhead. Used as part of the L2 fee calculation.\n+++ severity: LOW\n values.scalar:\n- 333333\n+ 66666\n }\n```"
}
]
},
{
"id": "b3961f5c",
"date": "Mon, 22 Jan 2024 09:26:23 GMT",
"timestamp": 1705915583,
"description": "L2 Block gas limit decreased, but still increased from the previous 30000000.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x895E00269A05848F3c9889EfA677D02fF7351a5D) {\n values.gasLimit:\n- 100000000\n+ 50000000\n }\n```"
}
]
},
{
"id": "68b22442",
"date": "Fri, 19 Jan 2024 12:03:31 GMT",
"timestamp": 1705665811,
"description": "L2 Block gas limit increased.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x895E00269A05848F3c9889EfA677D02fF7351a5D) {\n values.gasLimit:\n- 30000000\n+ 100000000\n }\n```"
}
]
},
{
"id": "c44b5bc0",
"date": "Wed, 03 Jan 2024 15:26:09 GMT",
"timestamp": 1704295569,
"description": "Scalar - a system configuration parameter used as dynamic L2 gas overhead in the L2 fee calculation, has been increased.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x895E00269A05848F3c9889EfA677D02fF7351a5D) {\n values.scalar:\n- 166667\n+ 333333\n }\n```"
}
]
},
{
"id": "53ddf449",
"date": "Tue, 19 Dec 2023 14:23:07 GMT",
"timestamp": 1702995787,
"description": "Scalar - a system configuration parameter used as dynamic L2 gas overhead in the L2 fee calculation, has been decreased.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x895E00269A05848F3c9889EfA677D02fF7351a5D) {\n values.scalar:\n- 700000\n+ 166667\n }\n```"
}
]
},
{
"id": "3e1c53bb",
"date": "Thu, 30 Nov 2023 10:07:56 GMT",
"timestamp": 1701338876,
"description": "Scalar - a system configuration parameter used as dynamic L2 gas overhead in the L2 fee calculation, has been decreased.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x895E00269A05848F3c9889EfA677D02fF7351a5D) {\n values.scalar:\n- 1000000\n+ 700000\n }\n```"
}
]
},
{
"id": "6eaaccf2",
"date": "Fri, 17 Nov 2023 12:11:23 GMT",
"timestamp": 1700223083,
"description": "System configuration parameters used for L2 fee calculation have been decreased:\n\n- overhead: 2100 -> 1000\n- scalar: 1300000 -> 1000000",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x895E00269A05848F3c9889EfA677D02fF7351a5D) {\n values.overhead:\n- 2100\n+ 1000\n values.scalar:\n- 1300000\n+ 1000000\n }\n```"
}
]
},
{
"id": "1447fd74",
"date": "Mon, 02 Oct 2023 13:46:59 GMT",
"timestamp": 1696254419,
"description": "",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0xa2DCa85BB892De55D8B262d1806114733106e8D1) {\n values.owner:\n- \"0x4b1A788B20bb85eb19f8e9B69B8a584e7fA29fe5\"\n+ \"0x3c46C05c2eba8eDd0B0f0C8B1D2fBf9fc53ea01E\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract AdminMultisig (0x3c46C05c2eba8eDd0B0f0C8B1D2fBf9fc53ea01E) {\n }\n```"
}
]
},
{
"id": "cfe65f06",
"date": "Tue, 26 Sep 2023 10:12:59 GMT",
"timestamp": 1695723179,
"description": "",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2OutputOracle (0x30c789674ad3B458886BBC9abf42EEe19EA05C1D) {\n values.deletedOutputs:\n+ []\n }\n```"
}
]
},
{
"id": "bd4d1ed9",
"date": "Wed, 20 Sep 2023 14:08:40 GMT",
"timestamp": 1695218920,
"description": "",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x895E00269A05848F3c9889EfA677D02fF7351a5D) {\n values.batcherHash:\n- \"0x000000000000000000000000a76e31d8471d569efdd3d95d1b11ce6710f4533f\"\n+ \"0xA76E31D8471D569EfDd3D95d1b11Ce6710f4533F\"\n derivedName:\n+ \"SystemConfig\"\n }\n```"
}
]
}
]
+15 -1
+1 -1
{
"baseTimestamp": 1787834329,
"baseTimestamp": 1791966833,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "d519fcea",
"date": "Wed, 14 Oct 2026 08:35:01 GMT",
"timestamp": 1791966833,
"description": "SystemConfig `blobbasefeeScalar` 801949 → 0.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x8a502d8EEa2Ed3e89c4D52DE51364688590cE591) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.blobbasefeeScalar:\n- 801949\n+ 0\n }\n```"
}
]
},
{
"id": "bf75a0c9",
"date": "Wed, 23 Sep 2026 05:48:03 GMT",
"timestamp": 1787834329,
"description": "Refresh config-derived discovery metadata at the main-branch block.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "0b69f4e0",
"date": "Thu, 27 Aug 2026 12:40:03 GMT",
"timestamp": 1787834329,
"description": "Conduit Multisig 1: member added; threshold 4/10 → 4/11.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0x9402c42dB162d5a0927c032136f40Cc9C71853F2\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "95245875",
"date": "Fri, 14 Aug 2026 15:43:09 GMT",
"timestamp": 1786722114,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0): core L1 contracts upgraded to their v7 implementations (OptimismPortal2, SystemConfig, DisputeGameFactory, AnchorStateRegistry, bridges, etc.), executed via a Conduit-deployed OPContractsManagerV2 (v7.1.17). The chain remains on permissioned fault proofs (respected game type 1); it did not move to CANNON_KONA.",
"isHighSeverity": true,
"changeCount": 136,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC) [opstack/SuperchainConfigFake_expiry] {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.8:\n+ [\"2026-08-13T13:32:47.000Z\",\"0x2c62c31e4108c24123b9f5b3c26a87e5ec6b4fc3b85163c7257edb523316f9db\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-08-13T13:32:47.000Z\",\"0x2c62c31e4108c24123b9f5b3c26a87e5ec6b4fc3b85163c7257edb523316f9db\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x64A42dB261E1a19a56C51E541F45b42139a4488a\",\"description\":\"Allowed to challenge or delete state roots proposed by a Proposer.\",\"role\":\".challenger\"}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x643207A886613F651A9D4c49138c761c61C5df3B\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x5306B2A086d477eCc7302447519dA688f9176e3D\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xae6115713F1FD54ea754A1519034BB3839A9b7F6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x5306B2A086d477eCc7302447519dA688f9176e3D\"}]}\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x5306B2A086d477eCc7302447519dA688f9176e3D) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x643207A886613F651A9D4c49138c761c61C5df3B\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xae6115713F1FD54ea754A1519034BB3839A9b7F6\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x5931f05809932a43C2A6c86f3F9BC2788f840b1C) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x7daf6049672fd2ab7dc8dd3b6287e1d0a40958346c5e2857c4616a73dcac4da6\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.3:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$pastUpgrades.4:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 3\n+ 6\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x64A42dB261E1a19a56C51E541F45b42139a4488a\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [0,0,0,0,0]\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6acc005dcd857b401e4732e6f7837135a22825cfa92a4334c1b7876d3a6fba0614ac3ceccf2121568ae6115713f1fd54ea754a1519034bb3839a9b7f6000000000000000000000000000000000000000000000000000000000001823b6303836f83b9bc24f80be698d97256daf688905e4a4962275df8c60a80d3a25faec5aa7de116a746\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x6303836F83B9bC24F80bE698D97256DAf688905E\"\n values.version:\n- \"1.3.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xae6115713F1FD54ea754A1519034BB3839A9b7F6\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.game8Args:\n+ \"0x\"\n values.game8Vm:\n+ \"UNRESOLVED\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ 0\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ 0\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x6201ED1a86d680B443f44382964ceCf83BEb9c2F) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.2:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$pastUpgrades.3:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 2\n+ 5\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x5306B2A086d477eCc7302447519dA688f9176e3D\"\n values.proxyAdminOwner:\n+ \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n EOA (eth:0x6303836F83B9bC24F80bE698D97256DAf688905E) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"eth:0x64A42dB261E1a19a56C51E541F45b42139a4488a\",\"description\":\"Allowed to post new state roots of the current layer to the host chain.\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x643207A886613F651A9D4c49138c761c61C5df3B) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract 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 PermissionedDisputeGame (eth:0x64A42dB261E1a19a56C51E541F45b42139a4488a) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x793c90d3f04ac72Cc7E46Faa8AcaDEA0A10e8D52) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.3:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$pastUpgrades.4:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 3\n+ 6\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x7b96e2c80696D5D2d673f0EA62b67352E18747C0) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x3e7e2cb08ba995795937c9c2e8ea9d0e4d2e2de852f389055073384d5f79c59d\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.3:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$pastUpgrades.4:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 3\n+ 6\n values.version:\n- \"5.1.1\"\n+ \"5.6.1\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x8a502d8EEa2Ed3e89c4D52DE51364688590cE591) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xaa1b3bedab4e63198240e9dea4503f0e615e4d18a545961c9f11b72143279fbc\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.3:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$pastUpgrades.4:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 3\n+ 6\n values.getAddresses.delayedWETH:\n+ \"eth:0xae6115713F1FD54ea754A1519034BB3839A9b7F6\"\n values.getAddresses.opcm:\n+ \"eth:0xbfb9219d933ec96Ac99C4f3D7231eFE43757811F\"\n values.version:\n- \"3.11.0\"\n+ \"3.14.2\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0xae6115713F1FD54ea754A1519034BB3839A9b7F6\"\n values.isCustomGasToken:\n+ false\n values.lastUsedOPCM:\n+ \"eth:0xbfb9219d933ec96Ac99C4f3D7231eFE43757811F\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x92A4334C1B7876d3A6Fba0614ac3CECcF2121568) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xf808a203af41f7932eb8e39985e56a7c75c940a260fb17d76d1003a3793281b5\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.1:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$pastUpgrades.2:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 1\n+ 4\n values.absolutePrestateFromGame:\n- \"0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n values.version:\n- \"3.5.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0x643207A886613F651A9D4c49138c761c61C5df3B\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0xdead000000000000000000000000000000000000000000000000000000000000\",\"l2SequenceNumber\":0}\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xDD72d0bD01Fc7BeCe4Cc0cFdD2be6a29b846B072) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xeA869DCE9Fd2Fdda1ec61492662dD715755b24E1) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.3:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$pastUpgrades.4:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-08-13T15:16:35.000Z\",\"0x8a8c4c8088ec9aa3b462938d7e631bb6241d52aa3a813aefda82ef44da948b10\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 3\n+ 6\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xae6115713F1FD54ea754A1519034BB3839A9b7F6) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "3a95e38b",
"date": "Tue, 04 Aug 2026 21:29:19 GMT",
"timestamp": 1785878882,
"description": "Shared SuperchainConfig implementation rolled back v2.4.2 → v2.4.0. The two versions differ only in comments, unused internal constants, and the version string; no change to logic or storage.",
"isHighSeverity": true,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC) [opstack/SuperchainConfigFake_expiry] {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n sourceHashes.1:\n- \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n+ \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n values.$implementation:\n- \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2026-08-04T13:59:35.000Z\",\"0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de\",[\"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$pastUpgrades.6:\n+ [\"2026-08-04T14:11:35.000Z\",\"0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$pastUpgrades.7:\n+ [\"2026-08-04T14:16:11.000Z\",\"0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 8\n values.version:\n- \"2.4.2\"\n+ \"2.4.0\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "a3452171",
"date": "Mon, 20 Jul 2026 15:58:44 GMT",
"timestamp": 1784563060,
"description": "Shared Conduit SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — just an import-path move, a stale pause-state warning removed, and the version tick, as with the main-Superchain upgrade on 2026-06-25.",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC) [opstack/SuperchainConfigFake_expiry] {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.3:\n+ [\"2026-07-17T11:30:11.000Z\",\"0x1f1d4768cc0d3f218a3f5aea7b6ceed0ae663498958e8194f208e88522c6404b\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-07-17T11:30:11.000Z\",\"0x1f1d4768cc0d3f218a3f5aea7b6ceed0ae663498958e8194f208e88522c6404b\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "7184d4af",
"date": "Thu, 11 Jun 2026 11:21:44 GMT",
"timestamp": 1781176827,
"description": "Conduit Multisig 1 dropped two signers.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.4:\n- \"eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007\"\n values.$members.8:\n- \"eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "874d2a42",
"date": "Thu, 04 Jun 2026 17:42:22 GMT",
"timestamp": 1780397597,
"description": "Conduit Multisig 1 rotated one signer (operator key `0x3840…fd5f` → `0xcdC9…4853`); same rotation propagated across Conduit Multisigs 1/2/3 on eth/arb1/base.\n\nNew game name (aggregateVerifier) added to portal.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xcdC931935768c0562AfE989A366a3Dc4d52F4853\"\n values.$members.8:\n- \"eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n }\n```"
}
]
},
{
"id": "0c89ff35",
"date": "Tue, 05 May 2026 15:18:53 GMT",
"timestamp": 1777994269,
"description": "Conduit Multisig 1 (`eth:0x4a496227...`) — signer `0x381624F7` removed. Threshold unchanged at 4; total signers 13 → 12 (31% → 33%). Shared multisig (referenced by multiple Conduit-managed chains).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.1:\n- \"eth:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07\"\n values.multisigThreshold:\n- \"4 of 13 (31%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "d532660f",
"date": "Fri, 30 Jan 2026 15:41:57 GMT",
"timestamp": 1769787652,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 17,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract SuperchainConfig (eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (eth:0x5306B2A086d477eCc7302447519dA688f9176e3D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (eth:0x5931f05809932a43C2A6c86f3F9BC2788f840b1C)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (eth:0x6201ED1a86d680B443f44382964ceCf83BEb9c2F)\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 DelayedWETH (eth:0x643207A886613F651A9D4c49138c761c61C5df3B)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x64A42dB261E1a19a56C51E541F45b42139a4488a)\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 L1CrossDomainMessenger (eth:0x793c90d3f04ac72Cc7E46Faa8AcaDEA0A10e8D52)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (eth:0x7b96e2c80696D5D2d673f0EA62b67352E18747C0)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (eth:0x8a502d8EEa2Ed3e89c4D52DE51364688590cE591)\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 AnchorStateRegistry (eth:0x92A4334C1B7876d3A6Fba0614ac3CECcF2121568)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (eth:0xDD72d0bD01Fc7BeCe4Cc0cFdD2be6a29b846B072)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (eth:0xe86C1ea70e6ef0D9EBBe303aAFAbc4a7369669Fc)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (eth:0xeA869DCE9Fd2Fdda1ec61492662dD715755b24E1)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```"
}
]
}
]
+15 -1
+1 -1
{
"baseTimestamp": 1791533505,
"baseTimestamp": 1791965839,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "de384b20",
"date": "Wed, 14 Oct 2026 08:18:34 GMT",
"timestamp": 1791965839,
"description": "RISC Zero verifier owner Safe: ownership transfer of the five RiscZeroVerifierEmergencyStops to an EOA started (`pendingOwner`), and Proposer, Executor and Canceller role grants to the same EOA scheduled on the TimelockController, 3d delay.",
"isHighSeverity": false,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) [global/TimelockController] {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.21:\n+ {\"id\":\"0xb88d38cc5995760c99a754e1fef6919fc7ee643d4de92b098d916b906b359910\",\"index\":0,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15db09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.22:\n+ {\"id\":\"0xb88d38cc5995760c99a754e1fef6919fc7ee643d4de92b098d916b906b359910\",\"index\":1,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15dd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n+++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.\n values.callsScheduled.23:\n+ {\"id\":\"0xb88d38cc5995760c99a754e1fef6919fc7ee643d4de92b098d916b906b359910\",\"index\":2,\"target\":\"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711\",\"value\":0,\"data\":\"0x2f2ff15dfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412\",\"predecessor\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"delay\":259200}\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x1efDd13f831ceeEa14940806705A53D3211CD698) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9 that allows pausing (emergency stop) the verifier by its owner.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97 that allows pausing (emergency stop) the verifier by its owner.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85 that allows pausing (emergency stop) the verifier by its owner.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D that allows pausing (emergency stop) the verifier by its owner.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF that allows pausing (emergency stop) the verifier by its owner.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```"
}
]
},
{
"id": "58ac1fd1",
"date": "Fri, 09 Oct 2026 08:13:19 GMT",
"timestamp": 1791533505,
"description": "RISC Zero verifier owner Safe: member rotated, threshold 3/5 → 2/5.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0xd5D43445d0227a47cA2eACCb9392352746eD9926\"\n+ \"eth:0x9a017883e4A6BB2a6261D92D70f71107F2C39D12\"\n values.$threshold:\n- 3\n+ 2\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"2 of 5 (40%)\"\n }\n```"
}
]
},
{
"id": "b817e3a5",
"date": "Fri, 02 Oct 2026 12:42:51 GMT",
"timestamp": 1790944906,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0), executed on 2026-09-21 by RoninConduitOwner via a Conduit-deployed OPContractsManagerV2 (v7.1.17). Absolute prestate unchanged (op-program v1.3.1).\n\nVersion changes and implementation diffs:\n\n- OptimismPortal2 5.2.0 -> 5.6.1: https://disco.l2beat.com/diff/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B/eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\n- SystemConfig 3.13.1 -> 3.14.2: https://disco.l2beat.com/diff/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\n- DisputeGameFactory 1.4.0 -> 1.6.1: https://disco.l2beat.com/diff/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c/eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\n- AnchorStateRegistry 3.7.0 -> 3.9.0: https://disco.l2beat.com/diff/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5/eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\n- L1StandardBridge 2.8.0 -> 2.8.2: https://disco.l2beat.com/diff/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A/eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\n- L1CrossDomainMessenger 2.11.0 -> 2.11.1: https://disco.l2beat.com/diff/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0/eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\n- L1ERC721Bridge 2.9.0 -> 2.9.1: https://disco.l2beat.com/diff/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9/eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\n- OptimismMintableERC20Factory 1.10.2 -> 1.11.0: https://disco.l2beat.com/diff/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB/eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\n- SuperchainConfig 2.4.0 -> 2.4.2: https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\n- PermissionedDisputeGame 2.2.0 -> 2.4.0: https://disco.l2beat.com/diff/eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A/eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\n- MIPS 1.9.0 -> 1.10.1: https://disco.l2beat.com/diff/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908/eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\n- PreimageOracle 1.1.4 -> 1.1.5: https://disco.l2beat.com/diff/eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3/eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0\n- DelayedWETH 1.5.0 -> 1.5.1: https://disco.l2beat.com/diff/eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998/eth:0xE440CC08A71694C8229323803F59024E3144630e",
"isHighSeverity": true,
"changeCount": 175,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AnchorStateRegistry (eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.1:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.absolutePrestateFromGame:\n- \"0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434\"\n+++ severity: HIGH\n values.blacklistedGames:\n+ []\n fieldMeta.$admin:\n- {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFactory:\n- {\"severity\":\"HIGH\"}\n fieldMeta.systemConfig:\n- {\"severity\":\"HIGH\"}\n fieldMeta.blacklistedGames:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.1:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.1:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [0,0,0,0,0]\n values.permissionedGameArgs:\n- \"0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c6463dee3828677f6270d83d45408044fc5edb9080b95ff1d1b113bac3e29ac0bbf2089126c9ae81a69fcd2e75af364295eaf48dc058338f80cffb43400000000000000000000000000000000000000000000000000000000000007e4d379de941e78ab394d4d4917fcce1cc45b6cd6204a4962275df8c60a80d3a25faec5aa7de116a746\"\n+ \"0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54cacc005dcd857b401e4732e6f7837135a22825cfa0b95ff1d1b113bac3e29ac0bbf2089126c9ae81a2562ae2fb030274e3ceb63fcd32c232ab0fcec6d00000000000000000000000000000000000000000000000000000000000007e4d379de941e78ab394d4d4917fcce1cc45b6cd6204a4962275df8c60a80d3a25faec5aa7de116a746\"\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n+++ severity: HIGH\n values.wethFromDGF:\n- \"eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434\"\n+ \"eth:0x2562ae2FB030274E3cEB63fCd32C232ab0FceC6d\"\n+++ severity: HIGH\n values.absolutePrestateFromDGF:\n+ \"0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c\"\n+++ severity: HIGH\n values.anchorStateRegistryFromDGF:\n+ \"eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A\"\n+++ severity: HIGH\n values.chainIdFromDGF:\n+ 2020\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game5:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game5AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game5Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game5Proposer:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8AbsolutePrestate:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game8Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game8ChainId:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Vm:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Weth:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game9AbsolutePrestate:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game9Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game9Vm:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9Weth:\n+ \"UNRESOLVED\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ 0\n values.initBondGame5:\n+ 0\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ 0\n values.initBondGame9:\n+ 0\n+++ severity: HIGH\n values.vmFromDGF:\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n fieldMeta.$admin:\n- {\"severity\":\"HIGH\"}\n fieldMeta.owner:\n- {\"severity\":\"HIGH\"}\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game5:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.absolutePrestateFromDGF:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.vmFromDGF:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8AbsolutePrestate:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8Vm:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8AnchorStateRegistry:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8Weth:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8ChainId:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9AbsolutePrestate:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9Vm:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9AnchorStateRegistry:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9Weth:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game5AnchorStateRegistry:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game5Proposer:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.anchorStateRegistryFromDGF:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.chainIdFromDGF:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceBytes32\",\"arg\":{\"offset\":0}}\n usedTypes.1:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n usedTypes.2:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n usedTypes.3:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":52}}\n usedTypes.4:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":72}}\n usedTypes.5:\n+ {\"typeCaster\":\"SliceUint256\",\"arg\":{\"offset\":92}}\n usedTypes.6:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":0}}\n usedTypes.7:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":20}}\n usedTypes.2:\n- {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":72}}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x51639D151456d0384285C6974e441A5D2B784B7D) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.1:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"\n values.proxyAdminOwner:\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.1:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract AddressManager (eth:0x6FFbcf498CcF81111f397fa6065dEA13A47E573C) [opstack/AddressManager] {\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n+++ severity: HIGH\n values.OVM_L1CrossDomainMessenger:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x2562ae2FB030274E3cEB63fCd32C232ab0FceC6d\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.1:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x2562ae2FB030274E3cEB63fCd32C232ab0FceC6d\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x2562ae2FB030274E3cEB63fCd32C232ab0FceC6d\"\n values.getAddresses.opcm:\n+ \"eth:0x0D5058007D566E60b5473c63A4d43e87F31f348c\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x0D5058007D566E60b5473c63A4d43e87F31f348c\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract RoninConduitOwner (eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607) [GnosisSafe] {\n +++ description: 5-of-6 joint Ronin/Conduit Safe.\n receivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x2562ae2FB030274E3cEB63fCd32C232ab0FceC6d\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c) [opstack/SuperchainConfigFake_expiry] {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.3:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xF9aD628d9F907ad5d46Ab80100dacDf09EAc9A8e) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.1:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-21T06:51:59.000Z\",\"0x93c0f8357f9f3810aebe40cd46f78bdacb72da718f5c5b6e96c6f2fb5b0a0b34\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x2562ae2FB030274E3cEB63fCd32C232ab0FceC6d) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "8c7d17d4",
"date": "Fri, 11 Sep 2026 16:12:17 GMT",
"timestamp": 1789077777,
"description": "`respectedGameType` switched from `1337` (KailuaGame) to `1` (PermissionedDisputeGame) on the AnchorStateRegistry and OptimismPortal2. No implementation change, no game retirement or blacklist. Withdrawals now settle against permissioned proposals.\n\nThe type-1 prestate is op-program v1.3.1 (`0x038512e0…`), which cannot execute for chain 2020.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AnchorStateRegistry (eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A) [opstack/AnchorStateRegistry_post13] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.RespectedGameString:\n- \"KailuaGame\"\n+ \"PermissionedDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 1337\n+ 1\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.RespectedGameString:\n- \"KailuaGame\"\n+ \"PermissionedDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 1337\n+ 1\n }\n```"
}
]
},
{
"id": "572b36cc",
"date": "Thu, 27 Aug 2026 12:41:08 GMT",
"timestamp": 1787834376,
"description": "Conduit Multisig 1: member added; threshold 4/10 → 4/11.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0x9402c42dB162d5a0927c032136f40Cc9C71853F2\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "f6059a61",
"date": "Mon, 06 Jul 2026 08:53:30 GMT",
"timestamp": 1783327943,
"description": "Kailua cutover: `respectedGameType` on OptimismPortal2 and AnchorStateRegistry moved from 1 (PermissionedDisputeGame) to 1337 (KailuaGame). Withdrawals now clear through the ZK fault-proof game.\n\nDisputeGameFactory `game1337` slot repointed from KailuaTreasury (`eth:0xc7EaCDd1…`) to the KailuaGame implementation (`eth:0x296e7aD6…`); the treasury continues to hold bonds and mint game clones.\n\nKailuaVerifier proxy upgraded (impl `eth:0x7fC721AC…` → `eth:0xDd26da83…`, 2026-07-01), with new `FPVM_IMAGE_ID` (`0xd3c097df…`) and `ROLLUP_CONFIG_HASH` (`0x96ff8605…`).\n\nKailuaTreasury economic parameters now live: `participationBond` = 0.5 ETH, `vanguard` = `eth:0xD379de94…`, `vanguardAdvantage` = 1 month.",
"isHighSeverity": true,
"changeCount": 21,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AnchorStateRegistry (eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A) [opstack/AnchorStateRegistry_post13] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\"\n values.RespectedGameString:\n- \"PermissionedDisputeGame\"\n+ \"KailuaGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 1\n+ 1337\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game1337:\n- \"eth:0xc7EaCDd1E755d2823463Abc4434CA445F752b336\"\n+ \"eth:0x296e7aD6D441b0627768bC0650179a4206479444\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\"\n values.RespectedGameString:\n- \"PermissionedDisputeGame\"\n+ \"KailuaGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 1\n+ 1337\n }\n```\n\n```diff\n contract KailuaVerifier (eth:0x6b49976a7340D0A3C00d1bEBE0E36E2367D89c7C) [N/A] {\n +++ description: Proxy in front of the Kailua proof verifier; routes verification requests to the canonical RiscZeroVerifierRouter and asserts the chain-specific rollup config and FPVM image ID.\n values.$implementation:\n- \"eth:0x7fC721ACC2183c292737C5a28Ea1B30d19f1cF29\"\n+ \"eth:0xDd26da83B27987A7040caE31f2E35d9Bd6f5DE59\"\n values.$pastUpgrades.1:\n+ [\"2026-07-01T10:19:35.000Z\",\"0x07bf7a192a2ea3b5324ef5cef339715fc6b972b261463e751f39a3f7bb2ae72d\",[\"eth:0xDd26da83B27987A7040caE31f2E35d9Bd6f5DE59\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.FPVM_IMAGE_ID:\n- \"0xc2e7bc71ae10caf806a1a073e4170daf3f4ac31099f1f854f7062dd70ed12fe3\"\n+ \"0xd3c097dfec583bb305eefcb5dcddc313b072e372cee66e13492c37fb50e6a90b\"\n values.ROLLUP_CONFIG_HASH:\n- \"0xc1f5bee1ef35d2b73a7cd351e650b2b123cb3bec91b0de3941af90539d5fc829\"\n+ \"0x96ff86054c51b6b832108a14d93ced530c42e0ee5a113b47671c912fc19f5b1a\"\n implementationNames.eth:0x7fC721ACC2183c292737C5a28Ea1B30d19f1cF29:\n- \"KailuaVerifier\"\n implementationNames.eth:0xDd26da83B27987A7040caE31f2E35d9Bd6f5DE59:\n+ \"KailuaVerifier\"\n }\n```\n\n```diff\n contract KailuaTreasury (eth:0xc7EaCDd1E755d2823463Abc4434CA445F752b336) [risc0/KailuaTreasury] {\n +++ description: Kailua (RISC Zero ZK fault-proof) treasury: holds participation bonds, mints KailuaGame clones, and defines the vanguard proposer economics. Bonds confiscated from eliminated proposers are split 1/3 to the prover, 1/3 to the tournament winner, 1/3 burned.\n values.participationBond:\n- 0\n+ \"500000000000000000\"\n values.participationBondFmt:\n- \"0\"\n+ \"0.5\"\n values.vanguard:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xD379de941E78Ab394d4D4917FcCE1CC45b6cd620\"\n values.vanguardAdvantage:\n- 0\n+ 2592000\n values.vanguardAdvantageFmt:\n- \"0s\"\n+ \"1mo\"\n }\n```\n\n```diff\n EOA (eth:0xD379de941E78Ab394d4D4917FcCE1CC45b6cd620) {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xc7EaCDd1E755d2823463Abc4434CA445F752b336\",\"description\":\"propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock.\",\"role\":\".vanguard\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0x296e7aD6D441b0627768bC0650179a4206479444) [risc0/KailuaGame]\n +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n```"
}
]
},
{
"id": "02745172",
"date": "Mon, 15 Jun 2026 13:58:14 GMT",
"timestamp": 1781531783,
"description": "Guardian role on OptimismPortal2, SystemConfig and SuperchainConfig moved from Conduit Multisig 1 to the joint Ronin/Conduit Safe (RoninConduitOwner): SuperchainConfig was re-initialized via the standard StorageSetter→same-impl pattern, bumping `initVersion` 1 → 2 and setting the new guardian address. Conduit Multisig 1 remains challenger in DGF.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.4:\n- \"eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007\"\n values.$members.8:\n- \"eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 10 (40%)\"\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c\",\"description\":\"Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless).\",\"role\":\".guardian\"}\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n values.guardian:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.guardian:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract RoninConduitOwner (eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607) [GnosisSafe] {\n +++ description: 5-of-6 joint Ronin/Conduit Safe.\n receivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c\",\"description\":\"Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless).\",\"role\":\".guardian\"}\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c) [opstack/SuperchainConfigFake_expiry] {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n values.$pastUpgrades.1:\n+ [\"2026-06-09T07:02:35.000Z\",\"0x7e9202c4d6cb60aa8f0d86f9524f58cc3b5edb505495f61503d9374e3859cdb6\",[\"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1\"]]\n values.$pastUpgrades.2:\n+ [\"2026-06-09T07:02:35.000Z\",\"0x7e9202c4d6cb60aa8f0d86f9524f58cc3b5edb505495f61503d9374e3859cdb6\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```"
}
]
},
{
"id": "8d0ae0ed",
"date": "Thu, 04 Jun 2026 20:29:53 GMT",
"timestamp": 1780557929,
"description": "Kailua (RISC Zero ZK fault-proof) deployed but not yet active.\nDisputeGameFactory registered game type 1337 → KailuaTreasury (`eth:0xc7EaCDd1…`).\nOptimismPortal2 and AnchorStateRegistry still have respectedGameType = 1 (PermissionedDisputeGame); cutover requires a separate change.\n\nRonin KailuaTreasury (v1.2.0, `eth:0xc7EaCDd1…`): verifier extracted to a separate `KAILUA_VERIFIER` proxy, bond accounting reworked. Diff vs BOB v0.1.0 baseline: https://disco.l2beat.com/diff/eth:0xc7EaCDd1E755d2823463Abc4434CA445F752b336/eth:0x9B3E1661bccAF907893B71e4016c01513ae9263C.\n\nRoninConduitOwner got admin over the KailuaVerifier proxy (`eth:0x6b49976a…`), so the verifier proxy is upgradable along the same path as the other OP Stack contracts.\n\nRiscZeroVerifierRouter (`eth:0x8EaB2D97…`) is the shared RISC Zero verifier-selector router. Owner is a TimelockController (`eth:0x0b144E07…`, 3d delay) governed by Safe `eth:0x2E5bcc…`. Both are shared RISC Zero infrastructure, not Ronin-specific.",
"isHighSeverity": true,
"changeCount": 21,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game1337:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xc7EaCDd1E755d2823463Abc4434CA445F752b336\"\n }\n```\n\n```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xcdC931935768c0562AfE989A366a3Dc4d52F4853\"\n values.$members.8:\n- \"eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n }\n```\n\n```diff\n contract RoninConduitOwner (eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607) [GnosisSafe] {\n +++ description: 5-of-6 joint Ronin/Conduit Safe.\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6b49976a7340D0A3C00d1bEBE0E36E2367D89c7C\",\"role\":\"admin\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) [global/TimelockController]\n +++ description: A timelock with access control. The current minimum delay is 3d.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x1efDd13f831ceeEa14940806705A53D3211CD698) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 3.0.0).\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroSetVerifier (eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85) [risc0/RiscZeroSetVerifier]\n +++ description: Set verifier contract for RISC Zero proofs (version 0.9.0). It allows verifying a whole set of proofs identified with a Merkle root at once, afterwards each individual proof could be efficiently verified just by checking Merkle inclusion against the verified root.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaVerifier (eth:0x6b49976a7340D0A3C00d1bEBE0E36E2367D89c7C) [N/A]\n +++ description: Proxy in front of the Kailua proof verifier; routes verification requests to the canonical RiscZeroVerifierRouter and asserts the chain-specific rollup config and FPVM image ID.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierRouter (eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319) [risc0/RiscZeroVerifierRouter]\n +++ description: A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711).\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (eth:0xc7EaCDd1E755d2823463Abc4434CA445F752b336) [risc0/KailuaTreasury]\n +++ description: Kailua (RISC Zero ZK fault-proof) game implementation registered as game type 1337 in the DisputeGameFactory. Deployed but NOT yet active. Bonds confiscated from eliminated proposers are split 1/3 to the prover, 1/3 to the tournament winner, 1/3 burned.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C) [N/A]\n +++ description: None\n```"
}
]
},
{
"id": "3f3ba4f2",
"date": "Thu, 21 May 2026 21:43:21 GMT",
"timestamp": 1779399734,
"description": "ProxyAdminOwner / `owner` rotated from Conduit Multisig 1 to a new 5-of-6 Safe (`eth:0xE9Ad9723…`) that is a joint Ronin/Conduit multisig (per Ronin team: 4 Ronin signers + 2 Conduit signers retained from Conduit Multisig 1). Affects AnchorStateRegistry, L1ERC721Bridge, DisputeGameFactory (owner + proxyAdminOwner), and the other Ronin contracts under that ProxyAdmin.",
"isHighSeverity": false,
"changeCount": 29,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AnchorStateRegistry (eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A) [opstack/AnchorStateRegistry_post13] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n values.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.owner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n values.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"eth:0x6FFbcf498CcF81111f397fa6065dEA13A47E573C\",\"description\":\"set and change address mappings.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.3:\n- {\"permission\":\"interact\",\"from\":\"eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}\n receivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x51639D151456d0384285C6974e441A5D2B784B7D\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1\",\"description\":\"upgrading the bridge implementation can give access to all funds escrowed therein.\",\"role\":\".$admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x502e993a5aFC9fE59b00B07ee500729D71092E34\"}]}\n receivedPermissions.13:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xF9aD628d9F907ad5d46Ab80100dacDf09EAc9A8e\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\"}]}\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0x502e993a5aFC9fE59b00B07ee500729D71092E34\",\"role\":\".owner\"},{\"permission\":\"act\",\"from\":\"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x502e993a5aFC9fE59b00B07ee500729D71092E34) [global/ProxyAdmin] {\n +++ description: None\n values.owner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n values.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract DelayedWETH (eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434) [opstack/DelayedWETH] {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n values.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC) [global/ProxyAdmin] {\n +++ description: None\n values.owner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n values.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.owner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n values.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c) [opstack/SuperchainConfigFake_expiry] {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n values.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xF9aD628d9F907ad5d46Ab80100dacDf09EAc9A8e) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.proxyAdminOwner:\n- \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607) [GnosisSafe]\n +++ description: None\n```"
}
]
},
{
"id": "02af6712",
"date": "Mon, 18 May 2026 09:19:34 GMT",
"timestamp": 1779095885,
"description": "Initial discovery.",
"isHighSeverity": false,
"changeCount": 20,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A) [opstack/AnchorStateRegistry_post13]\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract MainchainBridgeManager (eth:0x2Cf3CFb17774Ce0CFa34bB3f3761904e7fc3FaDB) [N/A]\n +++ description: Governance and proxy-admin contract for the legacy MainchainGateway bridge. Holds the operator/governor set, tallies stake-weighted votes for bridge proposals (operator rotations, threshold changes, withdrawals).\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (eth:0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959) [opstack/L1ERC721Bridge]\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a) [opstack/DisputeGameFactory]\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (eth:0x502e993a5aFC9fE59b00B07ee500729D71092E34) [global/ProxyAdmin]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (eth:0x51639D151456d0384285C6974e441A5D2B784B7D) [opstack/OptimismMintableERC20Factory]\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract LegacyBridgeOwner (eth:0x51F6696Ae42C6C40CA9F5955EcA2aaaB1Cefb26e) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MainchainGateway (eth:0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08) [N/A]\n +++ description: Legacy multi-sig-secured Ronin bridge contract holding the L1 side of deposits made before the April 2025 Chainlink CCIP migration. Still custodies residual user balances (ETH backing legacy WETH on Ronin, the deprecated WBTC contract, and dust). Withdrawals authorised by the Ronin BridgeOperator stake-weighted threshold via MainchainBridgeManager.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77) [opstack/OptimismPortal2]\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (eth:0x6FFbcf498CcF81111f397fa6065dEA13A47E573C) [opstack/AddressManager]\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC) [global/ProxyAdmin]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (eth:0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1) [opstack/L1StandardBridge]\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract Wrapped Ether Token (eth:0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1) [opstack/SystemConfig]\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c) [opstack/SuperchainConfigFake_expiry]\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n```\n\n```diff\n+ Status: CREATED\n contract PauseEnforcer (eth:0xF184a6Cd470Cac2CF5cD4fBa34e20D482D6A6062) [N/A]\n +++ description: Immutable emergency-pause contract for the legacy MainchainGateway. Holders of the SENTRY_ROLE can flip MainchainGateway into a paused state to halt deposits and withdrawals in an emergency.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (eth:0xF9aD628d9F907ad5d46Ab80100dacDf09EAc9A8e) [opstack/L1CrossDomainMessenger]\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```"
}
]
}
]
+15 -1
+1 -1
{
"baseTimestamp": 1790862358,
"baseTimestamp": 1791965773,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "c0fbf0ac",
"date": "Wed, 14 Oct 2026 08:17:42 GMT",
"timestamp": 1791965773,
"description": "SystemConfig `minBaseFee` 0 → 13000000, set by the Soneium Multisig.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.minBaseFee:\n- 0\n+ 13000000\n }\n```"
}
]
},
{
"id": "21232ddf",
"date": "Thu, 01 Oct 2026 13:47:05 GMT",
"timestamp": 1790862358,
"description": "OP Contracts Upgrade 20 (op-contracts/v8.0.0-rc.3), executed 2026-09-24.\n\nState roots are now proposed as super roots, which are addressed by an L2 timestamp rather than by a block number on this chain. The starting anchor sequence number is therefore a timestamp, changing from 5084269 to 1788848425. The format carries per-chain roots for a future interop set; today each game commits only to this chain. Proving a withdrawal now requires a game whose sequence number is at or after the timestamp of the initiating block rather than its block number; `proveWithdrawalTransaction` is unchanged, as the portal reads this chain's output root out of the super root.\n\nThe respected game type changed 1 → 5, PERMISSIONED_CANNON to SUPER_PERMISSIONED. Game types 0, 1 and 8 were cleared and type 5 is the only type registered; no permissionless type is installed.\n\nThe type 5 game defines only a proposer and an anchor state registry. It carries no bond, runs no VM and has no challenger, so proposals cannot be disputed by execution and the OP Foundation Operations Safe no longer holds a challenger role. Validity is governed by the AnchorStateRegistry, and the Guardian can blacklist games and change the respected game type.\n\nSystemConfig v3.14.2 → v4.0.0 removes the `batchInbox()` getter; the batch inbox address now lives only in the rollup config.\n\nThe Soneium Multisig moved from Safe 1.4.1 to Safe 1.5.0 and its signer set was replaced: 6 members reduced to 5, threshold unchanged at 3.\n\nVersion changes and implementation diffs:\n\n- PermissionedDisputeGame -> SuperPermissionedDisputeGame (type 1 -> 5): https://disco.l2beat.com/diff/eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e/eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\n- Soneium Multisig implementation rotated: https://disco.l2beat.com/diff/eth:0x41675C099F32341bf84BFc5382aF534df5C7461a/eth:0xFf51A5898e281Db6DfC7855790607438dF2ca44b\n- SystemConfig 3.14.2 -> 4.0.0: https://disco.l2beat.com/diff/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9/eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\n- OptimismPortal2 5.6.1 -> 5.8.0: https://disco.l2beat.com/diff/eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2/eth:0x1005217ad392DC64CEf501FA1777A27D42166748\n- SuperchainConfig 2.4.2 -> 2.4.3: https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504",
"isHighSeverity": true,
"changeCount": 109,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DelayedWETH (eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47) [opstack/DelayedWETH] {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n values.$pastUpgrades.2:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xE440CC08A71694C8229323803F59024E3144630e\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xE440CC08A71694C8229323803F59024E3144630e\"]]\n values.$upgradeCount:\n- 2\n+ 6\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x4890928941e62e273dA359374b105F803329F473) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 5\n+ 9\n values.getStartingAnchorRoot.root:\n- \"0x17ce11194e3dd58b940485ebc70141f3654183ceb2700d590a6bc57c4cc7f68c\"\n+ \"0x08a53686fd0b1671ff7b89c3a994582503f15f7be00f0f2e7c9f0d3b187ab124\"\n values.getStartingAnchorRoot.l2SequenceNumber:\n- 5084269\n+ 1788848425\n values.RespectedGameString:\n- \"PermissionedDisputeGame\"\n+ \"SuperPermissionedDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 1\n+ 5\n }\n```\n\n```diff\n contract Soneium Multisig (eth:0x509182eC226b3B71D36A3255A80EF0b1A9D43033) [GnosisSafe] {\n +++ description: None\n sourceHashes.1:\n- \"0xe23c519b7324d6dc9132c8567ac55ae72bdf168c914d22825c7614d822364b0f\"\n+ \"0xb66849da6643e8cd188f73efe4edb32704a1540eda5b1aef77a2217ad2d81f78\"\n values.$implementation:\n- \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n+ \"eth:0xFf51A5898e281Db6DfC7855790607438dF2ca44b\"\n values.$members.0:\n- \"eth:0xd45F9F3990C48AfA5C90404c7a748b4c23FB2cba\"\n values.$members.1:\n- \"eth:0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E\"\n+ \"eth:0x0e22018D5D2E676aD5f72F0Ac435b001Eb6d07E0\"\n values.$members.2:\n- \"eth:0x556Eb1b888eF0a02be4360e960824fc5aC197d65\"\n+ \"eth:0x9c60eE40a77f76E59D92C0F860FE22b581b70587\"\n values.$members.3:\n- \"eth:0xb9269f274E7Edc73bf3d923E347d0784e4a5e452\"\n+ \"eth:0x989a65FfBe51B22987c08F722Ba09cB3784e7DAd\"\n values.$members.4:\n- \"eth:0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a\"\n+ \"eth:0xEFe58621C63620CF4d7F6027fD867455e2e8dBdD\"\n values.$members.5:\n- \"eth:0x1edae2A7C9ECF37319D4E113588d946e9901F5ea\"\n+ \"eth:0x08968F6Ebf7bfd3987410d5dafd45d59B5537a0e\"\n values.getChainId:\n- 1\n values.multisigThreshold:\n- \"3 of 6 (50%)\"\n+ \"3 of 5 (60%)\"\n values.VERSION:\n- \"1.4.1\"\n+ \"1.5.0\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n- \"Safe\"\n implementationNames.eth:0xFf51A5898e281Db6DfC7855790607438dF2ca44b:\n+ \"Safe\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 8\n+ 12\n+++ severity: HIGH\n values.absolutePrestateFromDGF:\n- \"0xdead000000000000000000000000000000000000000000000000000000000000\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.anchorStateRegistryFromDGF:\n- \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.chainIdFromDGF:\n- 1868\n+ \"UNRESOLVED\"\n values.challengerFromDGF:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game1:\n- \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game5:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\"\n+++ severity: HIGH\n values.game5AnchorStateRegistry:\n- \"UNRESOLVED\"\n+ \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n values.game5Args:\n- \"0x\"\n+ \"0x4890928941e62e273da359374b105f803329f473400c164c4a8ca84385b70eed6eb03ea847c8e1b8\"\n+++ severity: HIGH\n values.game5Proposer:\n- \"UNRESOLVED\"\n+ \"eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8\"\n values.permissionedGameArgs:\n- \"0xdead000000000000000000000000000000000000000000000000000000000000acc005dcd857b401e4732e6f7837135a22825cfa4890928941e62e273da359374b105f803329f47318fbb58c366e21f395ddec7cba0510a2d9116b47000000000000000000000000000000000000000000000000000000000000074c400c164c4a8ca84385b70eed6eb03ea847c8e1b89ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0x\"\n values.proposerFromDGF:\n- \"eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.vmFromDGF:\n- \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.wethFromDGF:\n- \"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\"\n+ \"UNRESOLVED\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 9\n+ 13\n }\n```\n\n```diff\n contract ETHLockbox (eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 3\n+ 7\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n+ \"0x532730df835e1a130919ca2afe170505acde568abb77ed1f9a018e5019415ab6\"\n values.$implementation:\n- \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n+ \"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.13:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$pastUpgrades.14:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.15:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$upgradeCount:\n- 12\n+ 16\n values.BATCH_INBOX_SLOT:\n- \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n- \"eth:0x008dC74CecC9dedA8595B2Fe210cE5979F0BfA8e\"\n values.getAddresses.opcm:\n- \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCM:\n- \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCMVersion:\n- \"7.1.17\"\n+ \"8.0.1\"\n values.version:\n- \"3.14.2\"\n+ \"4.0.0\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n- \"SystemConfig\"\n implementationNames.eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperPermissionedDisputeGame.\n sourceHashes.1:\n- \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n+ \"0x5a3a97f72d46aaebbcbdba3783f7c5a8acfcd5ae928afe402abdb21acc0be49f\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperPermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n+ \"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$upgradeCount:\n- 9\n+ 13\n values.RespectedGameString:\n- \"PermissionedDisputeGame\"\n+ \"SuperPermissionedDisputeGame\"\n values.respectedGameType:\n- 1\n+ 5\n values.version:\n- \"5.6.1\"\n+ \"5.8.0\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n- \"OptimismPortal2\"\n implementationNames.eth:0x1005217ad392DC64CEf501FA1777A27D42166748:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n+ \"0xb74ed3aa109bd981b095c02d6e3bda2b2467d40e9d1060b4c89b01de32ebad3a\"\n values.$implementation:\n- \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n+ \"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$upgradeCount:\n- 8\n+ 12\n values.version:\n- \"2.4.2\"\n+ \"2.4.3\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n- \"SuperchainConfig\"\n implementationNames.eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 9\n+ 13\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) [gnosisSafeModules/SaferSafes] {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n directlyReceivedPermissions.1:\n- {\"permission\":\"act\",\"from\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\"role\":\".GnosisSafe_modules\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 6\n+ 10\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract SuperPermissionedDisputeGame (eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691) [opstack/SuperPermissionedDisputeGame]\n +++ description: Logic of the permissioned dispute game introduced in Upgrade 20. Only the proposer configured in the DisputeGameFactory can create games of this type, and each one commits to a super root anchored to an L2 timestamp. Unlike the permissioned game it replaces, it runs no VM and exposes no challenger, bond, clock or absolute prestate: validity is governed by the AnchorStateRegistry and the Guardian.\n```"
}
]
},
{
"id": "b32adc2e",
"date": "Wed, 23 Sep 2026 05:49:46 GMT",
"timestamp": 1789044630,
"description": "Refresh config-derived discovery metadata at the main-branch block.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "1909b060",
"date": "Thu, 10 Sep 2026 12:51:56 GMT",
"timestamp": 1789044630,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "3721600c",
"date": "Fri, 17 Jul 2026 10:15:48 GMT",
"timestamp": 1784283256,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "128d1cfd",
"date": "Wed, 01 Jul 2026 09:39:21 GMT",
"timestamp": 1782898692,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0): core L1 contracts upgraded to their v7 implementations (OptimismPortal2, SystemConfig, DisputeGameFactory, AnchorStateRegistry, bridges, etc.). The chain remains on permissioned fault proofs (respected game type 1); it did not move to CANNON_KONA.",
"isHighSeverity": true,
"changeCount": 130,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x4890928941e62e273dA359374b105F803329F473) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.3:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [0,0,0,0,0]\n values.permissionedGameArgs:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb9084890928941e62e273da359374b105f803329f47370277624cde90492231eb23309e1251beb18dff5000000000000000000000000000000000000000000000000000000000000074c400c164c4a8ca84385b70eed6eb03ea847c8e1b89ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0xdead000000000000000000000000000000000000000000000000000000000000acc005dcd857b401e4732e6f7837135a22825cfa4890928941e62e273da359374b105f803329f47318fbb58c366e21f395ddec7cba0510a2d9116b47000000000000000000000000000000000000000000000000000000000000074c400c164c4a8ca84385b70eed6eb03ea847c8e1b89ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\"\n+ \"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.game8Args:\n+ \"0x\"\n values.game8Vm:\n+ \"UNRESOLVED\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ 0\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ 0\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) [GnosisSafe] {\n +++ description: None\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract ETHLockbox (eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n sourceHashes.1:\n- \"0x330c0ee4ca969ca3a1deda35d8ce83d1861361088ef0b4b8efe0ec23b4f24c19\"\n+ \"0x99fabdfb3d8ef02962877763f6f3c7ec26d39e15e700fa854a040321a79f61ec\"\n values.$implementation:\n- \"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6\"\n+ \"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"\n values.$pastUpgrades.1:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.2.0\"\n+ \"1.3.1\"\n implementationNames.eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6:\n- \"ETHLockbox\"\n implementationNames.eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad:\n+ \"ETHLockbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.10:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 10\n+ 12\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\"\n values.getAddresses.opcm:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "fc8d2f1c",
"date": "Fri, 15 May 2026 13:11:06 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe and OpFoundationOperationsSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "bea2e1b9",
"date": "Tue, 05 May 2026 15:19:06 GMT",
"timestamp": 1777994278,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "f3346f20",
"date": "Wed, 25 Mar 2026 10:08:02 GMT",
"timestamp": 1774433216,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe and OpFoundationOperationsSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "f7cc47be",
"date": "Fri, 27 Feb 2026 13:25:30 GMT",
"timestamp": 1772198392,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "cfa271f4",
"date": "Thu, 19 Feb 2026 10:12:44 GMT",
"timestamp": 1771495897,
"description": "Upgrade to op-contracts/v6.0.0-rc.1 (Upgrade 18 - \"Cannon + Kona and Custom Gas Token v2\"). Approved via Optimism governance.\n\nAnchorStateRegistry (v3.5.0 → v3.7.0): now the central authority for game validity and anchor state management. Adds granular game validation (isGameRegistered, isGameRespected, isGameBlacklisted, isGameRetired, isGameFinalized, isGameClaimValid). Stores disputeGameFactory directly, delegates pause logic to SystemConfig.\n[diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5)\n\nDisputeGameFactory (v1.3.0 → v1.4.0): adds the \"Creator Pattern\" refactor with new `gameArgs` storage mapping and overloaded `setImplementation()` accepting CWIA args. Enables a single dispute game implementation to serve multiple game types (e.g., CANNON and CANNON_KONA) with different configuration.\n[diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c)\n\nOptimismPortal2 (v5.1.1 → v5.2.0): adds Custom Gas Token mode enforcement (reverts on native ETH ops in CGT mode), ETHLockbox integration for ETH custody during deposits/withdrawals. Legacy getters (disputeGameFactory, disputeGameFinalityDelaySeconds, etc.) now proxy through AnchorStateRegistry.\n[diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B)\n\nSystemConfig (v3.11.0 → v3.13.1): replaces hardcoded custom gas token logic with feature flag system (`isFeatureEnabled` mapping). New state variables: daFootprintGasScalar, minBaseFee, l2ChainId, superchainConfig reference. Updated `isCustomGasToken()` and `paused()` to read from feature flags.\n[diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2)\n\nOld PermissionedDisputeGame (v1.8.0) deleted, replaced by PermissionedDisputeGameV2 (v2.2.0) inheriting from FaultDisputeGameV2 with dual credit tracking (normalModeCredit/refundModeCredit), bond distribution mode system, and credit unlock mechanism.\n[diff](https://disco.l2beat.com/diff/eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1/eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n\nL1ERC721Bridge, L1CrossDomainMessenger, OptimismMintableERC20Factory also upgraded (implementation changes only).",
"isHighSeverity": true,
"changeCount": 49,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n EOA (eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x4890928941e62e273dA359374b105F803329F473) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x1601463fd2e47d8994c28a90b556c6933f38e8685214f702dc41a5ae08d9787c\"\n+ \"0xa1c629e3a86e4cba49482956c04d921b52551c4ee9833ddda7e44ca155bc6cab\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.2:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x17ce11194e3dd58b940485ebc70141f3654183ceb2700d590a6bc57c4cc7f68c\",\"l2SequenceNumber\":5084269}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n+ \"0x0fdb3ea7873ad716dd0f5f9d2fdbab989f3b308066977be182ddc31d150e12f5\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.5:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb9084890928941e62e273da359374b105f803329f47370277624cde90492231eb23309e1251beb18dff5000000000000000000000000000000000000000000000000000000000000074c400c164c4a8ca84385b70eed6eb03ea847c8e1b89ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.6:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n+ \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.9:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n+ \"0x3410684a7a8c16c4f87db990b834ce7c3be33136857c103791b132b824bfd951\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.6:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"challenge\",\"from\":\"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\",\"role\":\".challenger\"}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.6:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\",\"role\":\".challenger\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}]}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.3:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 3\n+ 4\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "fa0e13bf",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272398,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "8e9a85af",
"date": "Thu, 18 Dec 2025 09:00:21 GMT",
"timestamp": 1766048336,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n sourceHashes.1:\n- \"0x263aadde480629cd3ca5704cc7d4e7df809d437e68f8d9864039801ddf820367\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.domainSeparator:\n- \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\"\n+ \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\"\n values.getModules:\n- []\n values.NAME:\n- \"Gnosis Safe\"\n values.VERSION:\n- \"1.1.1\"\n+ \"1.4.1\"\n values.getChainId:\n+ 1\n implementationNames.eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "d71e9fdb",
"date": "Fri, 05 Dec 2025 11:25:37 GMT",
"timestamp": 1764933869,
"description": "Multisig member change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Soneium Multisig (eth:0x509182eC226b3B71D36A3255A80EF0b1A9D43033) {\n +++ description: None\n values.$members.2:\n- \"eth:0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n+ \"eth:0x556Eb1b888eF0a02be4360e960824fc5aC197d65\"\n values.$members.5:\n- \"eth:0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n+ \"eth:0x1edae2A7C9ECF37319D4E113588d946e9901F5ea\"\n }\n```"
}
]
},
{
"id": "14177f52",
"date": "Fri, 28 Nov 2025 10:11:10 GMT",
"timestamp": 1764324554,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202), [System Config](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\n- Jovian block values\n- fee updates `MIN_BASE_FEE`, `DA_FOOTPRINT_GAS_SCALAR` and operator fee\n\n[L1StandardBridge](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A), [SuperchainConfig](https://disco.l2beat.com/diff/eth:0xCe28685EB204186b557133766eCA00334EB441E4/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957), [OptimismMintableERC20Factory](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB), [DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50), [L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9),[L1CrossDomainMessenger](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0), [MIPS](https://disco.l2beat.com/diff/eth:0x07BABE08EE4D07dBA236530183B24055535A7011/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908), [PermissionedDisputeGame](https://disco.l2beat.com/diff/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f/eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n- minimal diff",
"isHighSeverity": true,
"changeCount": 63,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n EOA (eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n+ \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.4:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 4\n+ 5\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n+ \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.8:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n+ \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.2:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "977cb2fc",
"date": "Tue, 04 Nov 2025 17:13:36 GMT",
"timestamp": 1762276338,
"description": "gas market changes.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Elasticity:\n- 9\n+ 10\n }\n```"
}
]
},
{
"id": "6913c543",
"date": "Thu, 23 Oct 2025 12:41:45 GMT",
"timestamp": 1761223197,
"description": "msig change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "41a013f9",
"date": "Fri, 03 Oct 2025 14:25:50 GMT",
"timestamp": 1759501481,
"description": "This is upgrade 16a (https://gov.optimism.io/t/maintenance-upgrade-proposal-u16a/10288)\n\nOptimismPortal2 - removed unused superchain withdrawal code, ETH lockbox feature moved out to its own contract.\nhttps://disco.l2beat.com/diff/eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\n\nSystemConfig - setFeature function to activate/deactivate features (currently used for the ETHLockbox feature).\nhttps://disco.l2beat.com/diff/eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\n\nL1ERC721Bridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F/eth:0x7f1d12fB2911EB095278085f721e644C1f675696\n\nL1CrossDomainMessenger - minor changes.\nhttps://disco.l2beat.com/diff/eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\n\nL1StandardBridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x44AfB7722AF276A601D524F429016A18B6923df0/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\n\nPermissionedDisputeGame (via DisputeGameFactory gameImpls[1]) - no code changes; constructor variables updated (e.g., DelayedWETH, VM).\nhttps://disco.l2beat.com/diff/eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4/eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\n\nMIPS → MIPS64 - added function for pseudorandomness generation.\nhttps://disco.l2beat.com/diff/eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a/eth:0x07BABE08EE4D07dBA236530183B24055535A7011\n\nDelayedWETH (replacement) - same code, same admin; only diff is totalSupply.\nhttps://disco.l2beat.com/diff/eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754/eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5",
"isHighSeverity": true,
"changeCount": 58,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x4890928941e62e273dA359374b105F803329F473) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n values.$pastUpgrades.1:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.$pastUpgrades.3:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4\"\n+ \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig_pauseId\"\n+ \"opstack/SystemConfig\"\n sourceHashes.1:\n- \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.7:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"3.4.0\"\n+ \"3.7.0\"\n fieldMeta.paused:\n- {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n template:\n- \"opstack/OptimismPortal2_post13\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.superRootsActive:\n- false\n values.version:\n- \"4.6.0\"\n+ \"5.0.0\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) {\n +++ description: None\n directlyReceivedPermissions.1:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.9.0\"\n+ \"2.10.0\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1StandardBridge (eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.6.0\"\n+ \"2.7.0\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "0f300c05",
"date": "Mon, 29 Sep 2025 14:50:42 GMT",
"timestamp": 1759157377,
"description": "Increase in EIP-1559 elasticity (from 8 to 9), meaning that in periods of high demand the block can expand up to 9x the block gas target.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Elasticity:\n- 8\n+ 9\n }\n```"
}
]
},
{
"id": "27698393",
"date": "Mon, 18 Aug 2025 09:03:38 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "121c7f76",
"date": "Fri, 25 Jul 2025 17:48:25 GMT",
"timestamp": 1753465705,
"description": "Check optimism diffhistory for [the upgrade 16 breakdown](https://gov.optimism.io/t/upgrade-16-proposal-interop-contracts-stage-1-and-go-1-23-support-in-cannon/10037).",
"isHighSeverity": true,
"changeCount": 126,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\",\"role\":\".challenger\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"},{\"address\":\"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\",\"condition\":\"though restricted to the SuperchainConfig's `pause()` function\"}]}\n receivedPermissions.1.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.1.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.1.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x3D56d47b9E7E34A46612BadC70377F74051E6b17)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n EOA (0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\"\n+ \"eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.3.from:\n- \"eth:0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n+ \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n }\n```\n\n```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig\"\n+ \"opstack/SystemConfig_pauseId\"\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n values.$pastUpgrades.6:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.4.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 2\n values.l2ChainId:\n+ 1868\n+++ description: `superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\n+++ severity: HIGH\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n fieldMeta.paused:\n+ {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the PermissionedDisputeGame.\n template:\n- \"opstack/OptimismPortal2\"\n+ \"opstack/OptimismPortal2_post13\"\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n+ \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.respectedGameTypeUpdatedAt:\n- 1733134751\n+ 1753380095\n values.version:\n- \"3.14.0\"\n+ \"4.6.0\"\n values.anchorStateRegistry:\n+ \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n values.ethLockbox:\n+ \"eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superRootsActive:\n+ false\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n- \"OptimismPortal2\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\"}\n directlyReceivedPermissions.1.from:\n- \"eth:0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n+ \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions:\n- [{\"permission\":\"challenge\",\"from\":\"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\",\"role\":\".challenger\"},{\"permission\":\"guard\",\"from\":\"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}]\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"role\":\".deputyGuardian\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.6.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n values.version:\n- \"2.3.0\"\n+ \"2.6.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x4890928941e62e273dA359374b105F803329F473)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ETHLockbox (0x67B4de6FfA66EF201Ea6099A89cA397D56622E31)\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "45a0bccb",
"date": "Mon, 14 Jul 2025 12:46:24 GMT",
"timestamp": 1752497184,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 30,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC20TokenBridge (0x2F543A7C9cc80Cc2427c892B96263098d23ee55a)\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x3D56d47b9E7E34A46612BadC70377F74051E6b17)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Soneium Multisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xB24bFEeCE1B3b7A44559F4Cbc21BeD312b130b70)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "290530b8",
"date": "Thu, 08 May 2025 08:50:59 GMT",
"timestamp": 1746694259,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```"
}
]
},
{
"id": "091522c5",
"date": "Fri, 25 Apr 2025 13:16:01 GMT",
"timestamp": 1745586961,
"description": "[Isthmus upgrade](https://vote.optimism.io/proposals/8705916809146420472067303211131851783087744913535435360574720946039078686841):\n- upgraded proof system VM: MIPS (MT-Cannon MIPS64)\n- operator fee (fee mechanism to improve fee config for zk proven and alt-DA systems)\n- pectra readiness",
"isHighSeverity": true,
"changeCount": 61,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x1661af719956198628F7e67087F19f8A79524a1d)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x1661af719956198628F7e67087F19f8A79524a1d\"\n+ \"0x3D56d47b9E7E34A46612BadC70377F74051E6b17\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.1.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n values.$pastUpgrades.1.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n values.$pastUpgrades.1.0:\n- [\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]\n+ \"2024-12-02T10:19:11.000Z\"\n values.$pastUpgrades.0.2.0:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.0.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.3.1\"\n+ \"2.4.0\"\n }\n```\n\n```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.5:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.4.2:\n- \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.4.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.4.0:\n- \"2025-02-28T14:55:35.000Z\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$pastUpgrades.3.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n values.$pastUpgrades.3.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2025-02-28T14:55:35.000Z\"\n values.$pastUpgrades.3.0.0:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n values.$pastUpgrades.2.2:\n- \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n+ [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n values.$pastUpgrades.2.1:\n- \"2025-02-28T14:55:35.000Z\"\n+ \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n values.$pastUpgrades.2.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2024-12-02T10:19:11.000Z\"\n values.$pastUpgrades.0.2:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$pastUpgrades.0.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ [\"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n }\n```\n\n```diff\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n values.$implementation:\n- \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.2:\n+ [\"2024-12-02T10:19:11.000Z\",\"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.1.2:\n- [\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.1.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.1.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$pastUpgrades.0.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]\n values.$pastUpgrades.0.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.13.0\"\n+ \"3.14.0\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$pastUpgrades.1.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]\n values.$pastUpgrades.1.1:\n- [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.1.0:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.5.0\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n sourceHashes.0:\n- \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"2.2.2\"\n+ \"2.3.0\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x3D56d47b9E7E34A46612BadC70377F74051E6b17)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "388a5c88",
"date": "Sun, 06 Apr 2025 08:10:27 GMT",
"timestamp": 1743927027,
"description": "eip 1559 gas conf added.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Denominator:\n- 0\n+ 250\n values.eip1559Elasticity:\n- 0\n+ 7\n }\n```"
}
]
},
{
"id": "21bc44c3",
"date": "Fri, 04 Apr 2025 09:40:12 GMT",
"timestamp": 1743759612,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": true,
"changeCount": 78,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x42D15f045159Ce4adE9EDC7da5704eF36056c936)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.4:\n- \"0x42D15f045159Ce4adE9EDC7da5704eF36056c936\"\n+ \"0x1661af719956198628F7e67087F19f8A79524a1d\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.8.from:\n- \"0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522\"\n+ \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n receivedPermissions.7.from:\n- \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n+ \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n receivedPermissions.6.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.6.from:\n- \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n+ \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n receivedPermissions.6.via.0.address:\n- \"0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n receivedPermissions.6.description:\n+ \"set and change address mappings.\"\n receivedPermissions.5.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.5.from:\n- \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n+ \"0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n receivedPermissions.5.description:\n- \"set and change address mappings.\"\n receivedPermissions.5.via.0.address:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.4:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.3.2:\n- \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.3.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.3.0:\n- \"2025-02-28T14:55:35.000Z\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$upgradeCount:\n- 4\n+ 5\n values.gasPayingToken:\n- {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f\",\"l1ERC721Bridge\":\"0x5933e323bE8896DfaCd1cD671442F27dAA10a053\",\"l1StandardBridge\":\"0xeb9bf100225c214Efc3E7C651ebbaDcF85177607\",\"disputeGameFactory\":\"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\",\"optimismPortal\":\"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\",\"optimismMintableERC20Factory\":\"0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F\"}\n }\n```\n\n```diff\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n values.$implementation:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.1:\n+ [\"2024-12-02T10:19:11.000Z\",\"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.0.2:\n- [\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.0.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) {\n +++ description: None\n directlyReceivedPermissions.6.from:\n- \"0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522\"\n+ \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n directlyReceivedPermissions.5.from:\n- \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n+ \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n directlyReceivedPermissions.4.from:\n- \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n+ \"0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```\n\n```diff\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n sourceHashes.0:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n values.$implementation:\n- \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n }\n```\n\n```diff\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x1661af719956198628F7e67087F19f8A79524a1d)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "561654de",
"date": "Fri, 07 Mar 2025 13:56:40 GMT",
"timestamp": 1741355800,
"description": "Single member added to SoneiumMultisig.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SoneiumMultisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033) {\n +++ description: None\n values.$members.5:\n+ \"0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n values.$members.4:\n- \"0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n+ \"0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a\"\n values.$members.3:\n- \"0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a\"\n+ \"0xb9269f274E7Edc73bf3d923E347d0784e4a5e452\"\n values.$members.2:\n- \"0xb9269f274E7Edc73bf3d923E347d0784e4a5e452\"\n+ \"0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n values.$members.1:\n- \"0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n+ \"0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E\"\n values.$members.0:\n- \"0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E\"\n+ \"0xd45F9F3990C48AfA5C90404c7a748b4c23FB2cba\"\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"3 of 6 (50%)\"\n }\n```"
}
]
},
{
"id": "d9882500",
"date": "Mon, 03 Mar 2025 09:03:39 GMT",
"timestamp": 1740992619,
"description": "SystemConfig upgrade to known version:\n- libraries added (Constants, LibString, GasPayingToken)\n- minor changes",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.3:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.2:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 2\n+ 4\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 9736\n values.blobbasefeeScalar:\n+ 1540079\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n }\n```"
}
]
},
{
"id": "16e985d9",
"date": "Wed, 26 Feb 2025 16:48:30 GMT",
"timestamp": 1740588510,
"description": "gasLimit raised a bit (60M->30M in last update).\n\nconfig related: added categories for all opstack, op stack and polygoncdk stack templates.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 30000000\n+ 40000000\n }\n```"
}
]
},
{
"id": "7e304e4a",
"date": "Tue, 18 Feb 2025 10:39:42 GMT",
"timestamp": 1739875182,
"description": "Soneium gas limit halved (checked on l2 block explorer since some op stacks have weird custom gas config).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 60000000\n+ 30000000\n }\n```"
}
]
},
{
"id": "a5169023",
"date": "Wed, 12 Feb 2025 10:00:33 GMT",
"timestamp": 1739354433,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "c5f0da11",
"date": "Sat, 08 Feb 2025 15:58:23 GMT",
"timestamp": 1739030303,
"description": "Single SC member rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "01cba5d1",
"date": "Thu, 06 Feb 2025 09:17:21 GMT",
"timestamp": 1738833441,
"description": "OP Stack SC signer rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "340dbb94",
"date": "Tue, 04 Feb 2025 14:08:55 GMT",
"timestamp": 1738678135,
"description": "Added standard lido external canonical escrow (shapes in stock).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L1LidoTokensBridge (0x2F543A7C9cc80Cc2427c892B96263098d23ee55a)\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n```"
}
]
},
{
"id": "e2f22d1d",
"date": "Mon, 27 Jan 2025 12:04:05 GMT",
"timestamp": 1737979445,
"description": "Soneium external bridge gov change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1OpUSDCBridgeAdapter (0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb) {\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n values.$admin:\n- \"0x448dAe9299366ff611678fdA2f3a386791C95d41\"\n+ \"0xE7c9a9DddAb8a384c38D721DE64E4222Fe76DF75\"\n values.owner:\n- \"0x448dAe9299366ff611678fdA2f3a386791C95d41\"\n+ \"0xE7c9a9DddAb8a384c38D721DE64E4222Fe76DF75\"\n }\n```"
}
]
},
{
"id": "3af4d993",
"date": "Wed, 22 Jan 2025 12:20:00 GMT",
"timestamp": 1737548400,
"description": "MS member changes.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SoneiumMultisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033) {\n +++ description: None\n values.$members.4:\n- \"0x48FF760E582c3740336656349684b4FD4c6ED88F\"\n+ \"0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n values.$members.3:\n- \"0x127Bae6Fc751dC92111a359500ae91EB437f3dCb\"\n+ \"0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a\"\n values.$members.2:\n- \"0x83cC8195856b0463dEd5f052021009b7985FDa2C\"\n+ \"0xb9269f274E7Edc73bf3d923E347d0784e4a5e452\"\n values.$members.1:\n- \"0xEc33045FA66cF43E9b5b9F332dc124dbc71c0917\"\n+ \"0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n values.$members.0:\n- \"0x2b3Aa0Dc0622eFb9426F5A44015aE9151Bd8224C\"\n+ \"0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E\"\n values.$threshold:\n- 2\n+ 3\n values.multisigThreshold:\n- \"2 of 5 (40%)\"\n+ \"3 of 5 (60%)\"\n }\n```"
}
]
},
{
"id": "5829ccae",
"date": "Wed, 15 Jan 2025 17:33:42 GMT",
"timestamp": 1736962422,
"description": "First discovery of Soneium.",
"isHighSeverity": false,
"changeCount": 28,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainGuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x42D15f045159Ce4adE9EDC7da5704eF36056c936)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SoneiumMultisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xB24bFEeCE1B3b7A44559F4Cbc21BeD312b130b70)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```"
}
]
}
]
+15 -1
+1 -1
{
"baseTimestamp": 1791789577,
"baseTimestamp": 1791966804,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "c25f83dd",
"date": "Wed, 14 Oct 2026 08:34:44 GMT",
"timestamp": 1791966804,
"description": "RISC Zero verifier owner Safe: ownership transfer of the five RiscZeroVerifierEmergencyStops to an EOA started (`pendingOwner`).",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x1efDd13f831ceeEa14940806705A53D3211CD698) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9 that allows pausing (emergency stop) the verifier by its owner.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97 that allows pausing (emergency stop) the verifier by its owner.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85 that allows pausing (emergency stop) the verifier by its owner.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D that allows pausing (emergency stop) the verifier by its owner.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF that allows pausing (emergency stop) the verifier by its owner.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```"
}
]
},
{
"id": "659e0548",
"date": "Mon, 12 Oct 2026 08:28:43 GMT",
"timestamp": 1791789361,
"description": "[L2 bridges and vaults upgrade](https://gist.github.com/sekuba/415516336b2e9b6e4cdea5a21662d2bd). Recalls are disabled, so failed deliveries can strand funds until they succeed (recall proves a message failed on the destination and refunds funds on the source chain). ERC20 deposits add signed permits, and ETH sends receive more gas. The separate RISC0 governance Safe lowers its threshold from 3/5 to 2/5.\n\n- [L1 Bridge, first upgrade](https://disco.l2beat.com/diff/eth:0x1c94D798CFA08F396E5BA9F81697289c53273381/eth:0xA15dca0A72da684f20e0FC708DECFb230a715462)\n- [L1 Bridge, second upgrade](https://disco.l2beat.com/diff/eth:0xA15dca0A72da684f20e0FC708DECFb230a715462/eth:0xe6BF63dCc936063caD2300f32DaA67d9eE5c57b6)\n- [L1 ERC20Vault, first upgrade](https://disco.l2beat.com/diff/eth:0x024253C6FDC27d3161aFd43fb0241411A28dDc3c/eth:0x32E47c04E8c329E8c10062731448e7658aDEEB8e)\n- [L1 ERC20Vault, second upgrade](https://disco.l2beat.com/diff/eth:0x32E47c04E8c329E8c10062731448e7658aDEEB8e/eth:0xd429A698d19b5789ce6Eb72d8B3ae9fad3b28A92)\n- [L2 Bridge, first upgrade](https://disco.l2beat.com/diff/taiko:0x95ae2918dcbc6aFF8B4c1F1BCC1bf819b6e08B83/taiko:0xa200c2268d77737a8Fd2CA1698dA6eeab2a85CEb)\n- [L2 Bridge, second upgrade](https://disco.l2beat.com/diff/taiko:0xa200c2268d77737a8Fd2CA1698dA6eeab2a85CEb/taiko:0xF372Db3F06AcaB3347697866d2047a54D1BA8eB3)\n- [L2 ERC20Vault, first upgrade](https://disco.l2beat.com/diff/taiko:0xb96AbB41b01E3ad519D00E80355a1c3801910F62/taiko:0xa01d464ca3982DAa97B19fa7F8a232eB11A9DDb3)\n- [L2 ERC20Vault, second upgrade](https://disco.l2beat.com/diff/taiko:0xa01d464ca3982DAa97B19fa7F8a232eB11A9DDb3/taiko:0x25D8465fD0C8D89bfdE910E47c41f4E465672B5c)\n- [L1 ERC721Vault](https://disco.l2beat.com/diff/eth:0xA4C5c20aB33C96B1c281Dca37D03E23609274C49/eth:0x611f3Dc278A14b6ED14410Cd9d56E1721cf33802)\n- [L1 ERC1155Vault](https://disco.l2beat.com/diff/eth:0x838ed469db456b67EB3b0B74D759Be4DA999b9c8/eth:0xca775D0Bb8CEFe388E344f75De91Aebd0E73c58E)\n- [L2 ERC721Vault](https://disco.l2beat.com/diff/taiko:0xd532f20a4751156C566Da7745db95E7f80145B36/taiko:0x4cAb75DBE321084fD15c7AA9f7398e073A7EaBd0)\n- [L2 ERC1155Vault](https://disco.l2beat.com/diff/taiko:0xBBBC4ad39488b990E095042fa6c59A90d3817846/taiko:0xe148CceFFcd5494301c20e047634995C60611e57)\n- [L2 resolver replacement](https://disco.l2beat.com/diff/taiko:0x0167000000000000000000000000000000000006/taiko:0x8Af4669E3068Bae96b92cD73603f5D86beD07a9a)\n- [L1 NFT resolver replacement](https://disco.l2beat.com/diff/eth:0xEC1a9aa1C648F047752fe4eeDb2C21ceab0c6449/eth:0xFca4F0Ab7B95EEf2e3A60EF2Bc0c42DdAA62E66D)\n- [L1 default ERC20](https://disco.l2beat.com/diff/eth:0x65666141a541423606365123Ed280AB16a09A2e1/eth:0x9ccB9eBa4335096c5B64f050C3c734632D497c3b)\n- [L1 default ERC721](https://disco.l2beat.com/diff/eth:0xC3310905E2BC9Cfb198695B75EF3e5B69C6A1Bf7/eth:0xD9c9dB7519011437C54BCD32495c0347A410bc4D)\n- [L1 default ERC1155](https://disco.l2beat.com/diff/eth:0x3c90963cFBa436400B0F9C46Aa9224cB379c2c40/eth:0x35001aB6f53CF9fE583653Ca3F56cae75E8C385e)\n- [L2 default ERC20](https://disco.l2beat.com/diff/taiko:0x98161D67f762A9E589E502348579FA38B1Ac47A8/taiko:0xD6601cdea5857338EbdEE4CF38298aff43f01431)\n- [L2 default ERC721](https://disco.l2beat.com/diff/taiko:0x0167000000000000000000000000000000010097/taiko:0x71c2f41AEDe913AAEf2c62596E03702E348D6Cd0)\n- [L2 default ERC1155](https://disco.l2beat.com/diff/taiko:0x0167000000000000000000000000000000010098/taiko:0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F)",
"isHighSeverity": true,
"changeCount": 198,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ERC721Vault (eth:0x0b470dd3A0e1C41228856Fb319649E7c08f419Aa) [taiko/ERC721Vault] {\n +++ description: Escrows canonical ERC721 tokens and mints or burns their bridged representations. An immutable resolver selects the local bridge, counterpart vaults and default bridged token implementation. Releases authenticate the bridge and source vault.\n name:\n- \"MainnetERC721Vault\"\n+ \"ERC721Vault\"\n sourceHashes.1:\n- \"0x18fe27b80aff596fa58d3499fbe1ac44e8bd72cdc9ce0942afb53c5d9caa4b6e\"\n+ \"0x783ac50fedc4522f4b68132d77dbab84b7738869e0c79eccc12ecca89e33be01\"\n values.$implementation:\n- \"eth:0xA4C5c20aB33C96B1c281Dca37D03E23609274C49\"\n+ \"eth:0x611f3Dc278A14b6ED14410Cd9d56E1721cf33802\"\n values.$pastUpgrades.6:\n+ [\"2026-10-12T01:04:35.000Z\",\"0x935e4a93cf26e7bef2ac3c445815e253496d82d51e4205e7073a3d511a9111f4\",[\"eth:0x611f3Dc278A14b6ED14410Cd9d56E1721cf33802\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.addressManager:\n- \"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n values.impl:\n- \"eth:0xA4C5c20aB33C96B1c281Dca37D03E23609274C49\"\n+ \"eth:0x611f3Dc278A14b6ED14410Cd9d56E1721cf33802\"\n values.lastUnpausedAt:\n- 0\n+++ description: Immutable resolver selecting trusted bridge and vault counterparties and default token implementations.\n values.resolver:\n+ \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n errors:\n- {\"proxiableUUID\":\"Processing error occurred.\"}\n implementationNames.eth:0xA4C5c20aB33C96B1c281Dca37D03E23609274C49:\n- \"MainnetERC721Vault\"\n implementationNames.eth:0x611f3Dc278A14b6ED14410Cd9d56E1721cf33802:\n+ \"ERC721Vault\"\n template:\n+ \"taiko/ERC721Vault\"\n description:\n+ \"Escrows canonical ERC721 tokens and mints or burns their bridged representations. An immutable resolver selects the local bridge, counterpart vaults and default bridged token implementation. Releases authenticate the bridge and source vault.\"\n critical:\n+ true\n fieldMeta:\n+ {\"owner\":{\"severity\":\"MEDIUM\"},\"pendingOwner\":{\"severity\":\"MEDIUM\"},\"paused\":{\"severity\":\"MEDIUM\"},\"resolver\":{\"description\":\"Immutable resolver selecting trusted bridge and vault counterparties and default token implementations.\"}}\n }\n```\n\n```diff\n contract SignerList (Security Council) (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) [taiko/SignerList] {\n +++ description: A signer list for storing multisig members and their agents, stores the addresses of the Multisigs that use this signer list. Each signer delegates their permissions to their agent address that they can configure here.\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x0b470dd3A0e1C41228856Fb319649E7c08f419Aa\",\"description\":\"pause and unpause NFT deposits, releases and refunds.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.9:\n- {\"permission\":\"interact\",\"from\":\"eth:0x91f67118DD47d502B1f0C354D0611997B022f29E\",\"description\":\"update token withdrawal quotas and the quota refill period.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.11.description:\n- \"pause and unpause token bridge flows and change the bridged token implementation for a canonical token after the migration delay.\"\n+ \"pause and unpause token flows and change a canonical token's bridged representation after the migration delay.\"\n receivedPermissions.15:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xaf145913EA4a56BE22E120ED9C24589659881702\",\"description\":\"pause and unpause NFT deposits, releases and refunds.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.15.description:\n- \"pause and unpause bridge message flows and execute one-time bridge recovery initializers.\"\n+ \"pause and unpause bridge flows and run one-time message recovery initializers.\"\n receivedPermissions.18:\n- {\"permission\":\"interact\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.20:\n+ {\"permission\":\"interact\",\"from\":\"taiko:0x1670000000000000000000000000000000000001\",\"description\":\"pause and unpause bridge flows and run one-time message recovery initializers.\",\"role\":\".owner\",\"via\":[{\"address\":\"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"},{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.21:\n+ {\"permission\":\"interact\",\"from\":\"taiko:0x1670000000000000000000000000000000000002\",\"description\":\"pause and unpause token flows and change a canonical token's bridged representation after the migration delay.\",\"role\":\".owner\",\"via\":[{\"address\":\"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"},{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.22:\n+ {\"permission\":\"interact\",\"from\":\"taiko:0x1670000000000000000000000000000000000003\",\"description\":\"pause and unpause NFT deposits, releases and refunds.\",\"role\":\".owner\",\"via\":[{\"address\":\"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"},{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.23:\n+ {\"permission\":\"interact\",\"from\":\"taiko:0x1670000000000000000000000000000000000004\",\"description\":\"pause and unpause NFT deposits, releases and refunds.\",\"role\":\".owner\",\"via\":[{\"address\":\"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"},{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.21.description:\n- \"can update the contract address for a given name\"\n+ \"update the contract address registered for any chainId-name pair.\"\n receivedPermissions.21.from:\n- \"taiko:0x1670000000000000000000000000000000000006\"\n+ \"taiko:0x2ea05A9CD06984Cf533a1829d8b0BE6289a43984\"\n receivedPermissions.29:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x91f67118DD47d502B1f0C354D0611997B022f29E\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.36:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.44:\n- {\"permission\":\"upgrade\",\"from\":\"taiko:0x1670000000000000000000000000000000000006\",\"role\":\"admin\",\"via\":[{\"address\":\"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"},{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.47:\n+ {\"permission\":\"upgrade\",\"from\":\"taiko:0x2ea05A9CD06984Cf533a1829d8b0BE6289a43984\",\"role\":\"admin\",\"via\":[{\"address\":\"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"},{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n }\n```\n\n```diff\n contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0xd5D43445d0227a47cA2eACCb9392352746eD9926\"\n+ \"eth:0x9a017883e4A6BB2a6261D92D70f71107F2C39D12\"\n values.$threshold:\n- 3\n+ 2\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"2 of 5 (40%)\"\n }\n```\n\n```diff\n contract TaikoDAOController (eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) [taiko/TaikoDAOController] {\n +++ description: Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n directlyReceivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x0b470dd3A0e1C41228856Fb319649E7c08f419Aa\",\"description\":\"pause and unpause NFT deposits, releases and refunds.\",\"role\":\".owner\"}\n directlyReceivedPermissions.8:\n- {\"permission\":\"interact\",\"from\":\"eth:0x91f67118DD47d502B1f0C354D0611997B022f29E\",\"description\":\"update token withdrawal quotas and the quota refill period.\",\"role\":\".owner\"}\n directlyReceivedPermissions.9.description:\n- \"pause and unpause token bridge flows and change the bridged token implementation for a canonical token after the migration delay.\"\n+ \"pause and unpause token flows and change a canonical token's bridged representation after the migration delay.\"\n directlyReceivedPermissions.12:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xaf145913EA4a56BE22E120ED9C24589659881702\",\"description\":\"pause and unpause NFT deposits, releases and refunds.\",\"role\":\".owner\"}\n directlyReceivedPermissions.12.description:\n- \"pause and unpause bridge message flows and execute one-time bridge recovery initializers.\"\n+ \"pause and unpause bridge flows and run one-time message recovery initializers.\"\n directlyReceivedPermissions.14:\n- {\"permission\":\"interact\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n directlyReceivedPermissions.22:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x91f67118DD47d502B1f0C354D0611997B022f29E\",\"role\":\"admin\"}\n directlyReceivedPermissions.28:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract DefaultResolver (eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e) [taiko/DefaultResolver] {\n +++ description: Maps chainId-name pairs to contract addresses. Bridge and vault contracts resolve their counterparties through this registry, so changes in this mapping effectively act as contract upgrades. The pause function is intentionally disabled in this implementation.\n values.namedAddresses.10.address:\n- \"eth:0x65666141a541423606365123Ed280AB16a09A2e1\"\n+ \"eth:0x9ccB9eBa4335096c5B64f050C3c734632D497c3b\"\n values.namedAddresses.11.address:\n- \"eth:0xC3310905E2BC9Cfb198695B75EF3e5B69C6A1Bf7\"\n+ \"eth:0xD9c9dB7519011437C54BCD32495c0347A410bc4D\"\n values.namedAddresses.12.address:\n- \"eth:0x3c90963cFBa436400B0F9C46Aa9224cB379c2c40\"\n+ \"eth:0x35001aB6f53CF9fE583653Ca3F56cae75E8C385e\"\n }\n```\n\n```diff\n- Status: DELETED\n contract QuotaManager (eth:0x91f67118DD47d502B1f0C354D0611997B022f29E) [taiko/QuotaManager]\n +++ description: Defines withdrawal quotas for ETH and ERC20 releases from the shared bridge. A token quota of zero means unlimited withdrawals for that token.\n```\n\n```diff\n contract ERC20Vault (eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) [taiko/ERC20Vault] {\n +++ description: Vault for canonical ERC20 tokens and their bridged representations. Deposits support standing approvals, ERC-2612 permits and Permit2 signatures. Successful deliveries consume token quota when a quota manager is configured. The bridge controls access to the refund callback.\n name:\n- \"MainnetERC20Vault\"\n+ \"ERC20Vault\"\n template:\n- \"taiko/SharedERC20Vault\"\n+ \"taiko/ERC20Vault\"\n sourceHashes.1:\n- \"0x9b624be34d3f91047fd5ee6a056fd5d81ed43c3ba757e53661aeb4e4dabfe4aa\"\n+ \"0x3a8df12e5f7ee6611bebe6784bc06bdd7ff8cc3c63d230e0260ca7ef9c97ead8\"\n description:\n- \"Shared vault for Taiko chains for bridged ERC20 tokens. Pausing stops token sends, message-triggered releases, and recalls. Released or minted tokens are subject to the configured quota manager.\"\n+ \"Vault for canonical ERC20 tokens and their bridged representations. Deposits support standing approvals, ERC-2612 permits and Permit2 signatures. Successful deliveries consume token quota when a quota manager is configured. The bridge controls access to the refund callback.\"\n values.$implementation:\n- \"eth:0x024253C6FDC27d3161aFd43fb0241411A28dDc3c\"\n+ \"eth:0xd429A698d19b5789ce6Eb72d8B3ae9fad3b28A92\"\n values.$pastUpgrades.9:\n+ [\"2026-10-08T07:28:47.000Z\",\"0x17c27b257bb1445a512d4426c962de5c5f4b282f459c7e851c413702ad11d10c\",[\"eth:0x32E47c04E8c329E8c10062731448e7658aDEEB8e\"]]\n values.$pastUpgrades.10:\n+ [\"2026-10-12T01:04:35.000Z\",\"0x935e4a93cf26e7bef2ac3c445815e253496d82d51e4205e7073a3d511a9111f4\",[\"eth:0xd429A698d19b5789ce6Eb72d8B3ae9fad3b28A92\"]]\n values.$upgradeCount:\n- 9\n+ 11\n values.impl:\n- \"eth:0x024253C6FDC27d3161aFd43fb0241411A28dDc3c\"\n+ \"eth:0xd429A698d19b5789ce6Eb72d8B3ae9fad3b28A92\"\n values.proxiableUUID:\n- \"EXPECT_REVERT\"\n values.PERMIT2:\n+ \"eth:0x000000000022D473030F116dDEE9F6B43aC78BA3\"\n fieldMeta.quotaManager.description:\n- \"Quota manager that rate-limits ERC20 tokens released or minted by this vault.\"\n+ \"Immutable quota manager limiting successful token deliveries. Refunds consume no quota. The zero address disables quotas.\"\n fieldMeta.btokenDenylist.description:\n- \"Bridged tokens denied by migration logic. Denied tokens cannot be sent through the vault.\"\n+ \"Bridged tokens excluded from sends by token migration logic.\"\n fieldMeta.owner:\n+ {\"severity\":\"MEDIUM\"}\n fieldMeta.pendingOwner:\n+ {\"severity\":\"MEDIUM\"}\n fieldMeta.resolver:\n+ {\"description\":\"Immutable registry resolving the bridge, counterpart vaults and default bridged token implementation.\"}\n implementationNames.eth:0x024253C6FDC27d3161aFd43fb0241411A28dDc3c:\n- \"MainnetERC20Vault\"\n implementationNames.eth:0xd429A698d19b5789ce6Eb72d8B3ae9fad3b28A92:\n+ \"ERC20Vault\"\n }\n```\n\n```diff\n contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) [GnosisSafe] {\n +++ description: None\n receivedPermissions.4.description:\n- \"pause and unpause bridge message flows and fund the bridge through direct ETH transfers.\"\n+ \"pause and unpause bridge flows and fund the bridge through direct ETH transfers.\"\n }\n```\n\n```diff\n contract ERC1155Vault (eth:0xaf145913EA4a56BE22E120ED9C24589659881702) [taiko/ERC1155Vault] {\n +++ description: Escrows canonical ERC1155 tokens and mints or burns their bridged representations. An immutable resolver selects the local bridge, counterpart vaults and default bridged token implementation. Releases authenticate the bridge and source vault.\n name:\n- \"MainnetERC1155Vault\"\n+ \"ERC1155Vault\"\n sourceHashes.1:\n- \"0x4493f2ac281fab06a2ac9a899815cfeb485eb5f3c813020f91d6091bb85f101b\"\n+ \"0xf2cbbe079d267fc8e34c5014c14f0dd4269da004cf9c1dc223ac4cb9ec351163\"\n values.$implementation:\n- \"eth:0x838ed469db456b67EB3b0B74D759Be4DA999b9c8\"\n+ \"eth:0xca775D0Bb8CEFe388E344f75De91Aebd0E73c58E\"\n values.$pastUpgrades.6:\n+ [\"2026-10-12T01:04:35.000Z\",\"0x935e4a93cf26e7bef2ac3c445815e253496d82d51e4205e7073a3d511a9111f4\",[\"eth:0xca775D0Bb8CEFe388E344f75De91Aebd0E73c58E\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.addressManager:\n- \"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n values.impl:\n- \"eth:0x838ed469db456b67EB3b0B74D759Be4DA999b9c8\"\n+ \"eth:0xca775D0Bb8CEFe388E344f75De91Aebd0E73c58E\"\n values.lastUnpausedAt:\n- 0\n+++ description: Immutable resolver selecting trusted bridge and vault counterparties and default token implementations.\n values.resolver:\n+ \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n errors:\n- {\"proxiableUUID\":\"Processing error occurred.\"}\n implementationNames.eth:0x838ed469db456b67EB3b0B74D759Be4DA999b9c8:\n- \"MainnetERC1155Vault\"\n implementationNames.eth:0xca775D0Bb8CEFe388E344f75De91Aebd0E73c58E:\n+ \"ERC1155Vault\"\n template:\n+ \"taiko/ERC1155Vault\"\n description:\n+ \"Escrows canonical ERC1155 tokens and mints or burns their bridged representations. An immutable resolver selects the local bridge, counterpart vaults and default bridged token implementation. Releases authenticate the bridge and source vault.\"\n critical:\n+ true\n fieldMeta:\n+ {\"owner\":{\"severity\":\"MEDIUM\"},\"pendingOwner\":{\"severity\":\"MEDIUM\"},\"paused\":{\"severity\":\"MEDIUM\"},\"resolver\":{\"description\":\"Immutable resolver selecting trusted bridge and vault counterparties and default token implementations.\"}}\n }\n```\n\n```diff\n contract Bridge (eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) [taiko/Bridge] {\n +++ description: Bridge escrow for ETH and cross-chain messages. Pausing stops all message flows. The immutable recallEnabled setting controls failed-message refunds. Successful ETH releases use the configured quota manager.\n name:\n- \"MainnetBridge\"\n+ \"Bridge\"\n template:\n- \"taiko/TaikoBridge\"\n+ \"taiko/Bridge\"\n sourceHashes.1:\n- \"0x61b87867a3f041292eb5da7940c9fc5d33aee32c063a7cf1696beb6eafac4a2b\"\n+ \"0x765f8d75f0a63f536ea3c68dd988c86a2d844ec6fb08baeabbe309578bb04a01\"\n description:\n- \"Shared bridge escrow for Taiko chains for bridged ETH and arbitrary bridge messages. Pausing stops sending, processing, recalling, retrying, and failing messages. ETH released from the bridge is subject to the configured quota manager.\"\n+ \"Bridge escrow for ETH and cross-chain messages. Pausing stops all message flows. The immutable recallEnabled setting controls failed-message refunds. Successful ETH releases use the configured quota manager.\"\n values.$implementation:\n- \"eth:0x1c94D798CFA08F396E5BA9F81697289c53273381\"\n+ \"eth:0xe6BF63dCc936063caD2300f32DaA67d9eE5c57b6\"\n values.$pastUpgrades.13:\n+ [\"2026-10-08T07:28:47.000Z\",\"0x17c27b257bb1445a512d4426c962de5c5f4b282f459c7e851c413702ad11d10c\",[\"eth:0xA15dca0A72da684f20e0FC708DECFb230a715462\"]]\n values.$pastUpgrades.14:\n+ [\"2026-10-12T01:04:35.000Z\",\"0x935e4a93cf26e7bef2ac3c445815e253496d82d51e4205e7073a3d511a9111f4\",[\"eth:0xe6BF63dCc936063caD2300f32DaA67d9eE5c57b6\"]]\n values.$upgradeCount:\n- 13\n+ 15\n values.impl:\n- \"eth:0x1c94D798CFA08F396E5BA9F81697289c53273381\"\n+ \"eth:0xe6BF63dCc936063caD2300f32DaA67d9eE5c57b6\"\n values.proxiableUUID:\n- \"EXPECT_REVERT\"\n+++ description: Immutable switch controlling failMessage, recallMessage and the failed branch of retryMessage. When false, failed deliveries must succeed on retry to release their funds.\n values.recallEnabled:\n+ false\n fieldMeta.quotaManager.description:\n- \"Quota manager that rate-limits ETH released by processed or recalled bridge messages.\"\n+ \"Immutable quota manager limiting successful ETH releases. The zero address disables quotas.\"\n fieldMeta.signalService.description:\n- \"Signal service used to prove cross-chain message delivery and failure signals.\"\n+ \"Immutable signal service proving cross-chain message delivery and failure signals.\"\n fieldMeta.owner:\n+ {\"severity\":\"MEDIUM\"}\n fieldMeta.pendingOwner:\n+ {\"severity\":\"MEDIUM\"}\n fieldMeta.recallEnabled:\n+ {\"description\":\"Immutable switch controlling failMessage, recallMessage and the failed branch of retryMessage. When false, failed deliveries must succeed on retry to release their funds.\"}\n fieldMeta.resolver:\n+ {\"description\":\"Immutable registry resolving the trusted counterpart bridge on each chain.\"}\n implementationNames.eth:0x1c94D798CFA08F396E5BA9F81697289c53273381:\n- \"MainnetBridge\"\n implementationNames.eth:0xe6BF63dCc936063caD2300f32DaA67d9eE5c57b6:\n+ \"Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L1SharedAddressManager (eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa) [taiko/L1SharedAddressManager]\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n EOA (taiko:0x0000000000000000000000000000000000000000) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"taiko:0x1670000000000000000000000000000000000001\",\"description\":\"pause and unpause bridge flows and fund the bridge through direct ETH transfers.\",\"role\":\".pauser\"}]\n }\n```\n\n```diff\n contract Bridge (taiko:0x1670000000000000000000000000000000000001) [taiko/Bridge] {\n +++ description: Bridge escrow holding preminted ETH on Taiko. Failed messages remain retryable, but message failure and source-chain refunds are disabled.\n template:\n- \"taiko/L2Bridge\"\n+ \"taiko/Bridge\"\n sourceHashes.1:\n- \"0xfada2b71cfef6dfc63b33a9681baa712699f12de05eaf91f635ed3387a304791\"\n+ \"0x765f8d75f0a63f536ea3c68dd988c86a2d844ec6fb08baeabbe309578bb04a01\"\n values.$implementation:\n- \"taiko:0x95ae2918dcbc6aFF8B4c1F1BCC1bf819b6e08B83\"\n+ \"taiko:0xF372Db3F06AcaB3347697866d2047a54D1BA8eB3\"\n values.$pastUpgrades.8:\n+ [\"2026-10-08T07:30:21.000Z\",\"0xc61c925bbc9b815715c6bc009cfcb50c16e93904dc07e799c913953a2b6be095\",[\"taiko:0xa200c2268d77737a8Fd2CA1698dA6eeab2a85CEb\"]]\n values.$pastUpgrades.9:\n+ [\"2026-10-12T01:07:17.000Z\",\"0xe8c9d02693ed235dce16a36685a7d07f2929b6927054e07be41293cec00d194d\",[\"taiko:0xF372Db3F06AcaB3347697866d2047a54D1BA8eB3\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.addressManager:\n- \"taiko:0x1670000000000000000000000000000000000006\"\n values.bridgeWatchdog:\n- \"taiko:0x0000000000000000000000000000000000000000\"\n values.chainWatchdog:\n- \"taiko:0x0000000000000000000000000000000000000000\"\n values.impl:\n- \"taiko:0x95ae2918dcbc6aFF8B4c1F1BCC1bf819b6e08B83\"\n+ \"taiko:0xF372Db3F06AcaB3347697866d2047a54D1BA8eB3\"\n values.lastUnpausedAt:\n- 0\n+++ severity: MEDIUM\n values.pauser:\n+ \"taiko:0x0000000000000000000000000000000000000000\"\n+++ description: Immutable switch controlling failMessage, recallMessage and the failed branch of retryMessage. When false, failed deliveries must succeed on retry to release their funds.\n values.recallEnabled:\n+ false\n+++ description: Immutable registry resolving the trusted counterpart bridge on each chain.\n values.resolver:\n+ \"taiko:0x2ea05A9CD06984Cf533a1829d8b0BE6289a43984\"\n fieldMeta.addressManager:\n- {\"severity\":\"HIGH\"}\n fieldMeta.signalService.severity:\n- \"HIGH\"\n fieldMeta.signalService.description:\n+ \"Immutable signal service proving cross-chain message delivery and failure signals.\"\n fieldMeta.quotaManager.severity:\n- \"HIGH\"\n fieldMeta.quotaManager.description:\n- \"only relevant if not zero address\"\n+ \"Immutable quota manager limiting successful ETH releases. The zero address disables quotas.\"\n fieldMeta.chainWatchdog:\n- {\"severity\":\"MEDIUM\",\"description\":\"only relevant if not zero address\"}\n fieldMeta.bridgeWatchdog:\n- {\"severity\":\"MEDIUM\",\"description\":\"only relevant if not zero address\"}\n fieldMeta.owner:\n+ {\"severity\":\"MEDIUM\"}\n fieldMeta.pauser:\n+ {\"severity\":\"MEDIUM\"}\n fieldMeta.recallEnabled:\n+ {\"description\":\"Immutable switch controlling failMessage, recallMessage and the failed branch of retryMessage. When false, failed deliveries must succeed on retry to release their funds.\"}\n fieldMeta.resolver:\n+ {\"description\":\"Immutable registry resolving the trusted counterpart bridge on each chain.\"}\n implementationNames.taiko:0x95ae2918dcbc6aFF8B4c1F1BCC1bf819b6e08B83:\n- \"Bridge\"\n implementationNames.taiko:0xF372Db3F06AcaB3347697866d2047a54D1BA8eB3:\n+ \"Bridge\"\n category:\n+ {\"name\":\"Shared Infrastructure\",\"priority\":4}\n }\n```\n\n```diff\n contract ERC20Vault (taiko:0x1670000000000000000000000000000000000002) [taiko/ERC20Vault] {\n +++ description: Vault for canonical ERC20 tokens and their bridged representations. Deposits support standing approvals, ERC-2612 permits and Permit2 signatures. Successful deliveries consume token quota when a quota manager is configured. The bridge controls access to the refund callback.\n template:\n- \"taiko/L2ERC20Vault\"\n+ \"taiko/ERC20Vault\"\n sourceHashes.1:\n- \"0x9cc2e724dd00141e1e07621839efbb2f8c96ed9f67d6fbe50664ea8b6531c118\"\n+ \"0x3a8df12e5f7ee6611bebe6784bc06bdd7ff8cc3c63d230e0260ca7ef9c97ead8\"\n description:\n- \"Escrow for L2-native tokens sent to L1 via the canonical bridge.\"\n+ \"Vault for canonical ERC20 tokens and their bridged representations. Deposits support standing approvals, ERC-2612 permits and Permit2 signatures. Successful deliveries consume token quota when a quota manager is configured. The bridge controls access to the refund callback.\"\n values.$implementation:\n- \"taiko:0xb96AbB41b01E3ad519D00E80355a1c3801910F62\"\n+ \"taiko:0x25D8465fD0C8D89bfdE910E47c41f4E465672B5c\"\n values.$pastUpgrades.4:\n+ [\"2026-10-08T07:30:21.000Z\",\"0xc61c925bbc9b815715c6bc009cfcb50c16e93904dc07e799c913953a2b6be095\",[\"taiko:0xa01d464ca3982DAa97B19fa7F8a232eB11A9DDb3\"]]\n values.$pastUpgrades.5:\n+ [\"2026-10-12T01:07:17.000Z\",\"0xe8c9d02693ed235dce16a36685a7d07f2929b6927054e07be41293cec00d194d\",[\"taiko:0x25D8465fD0C8D89bfdE910E47c41f4E465672B5c\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.addressManager:\n- \"taiko:0x1670000000000000000000000000000000000006\"\n values.impl:\n- \"taiko:0xb96AbB41b01E3ad519D00E80355a1c3801910F62\"\n+ \"taiko:0x25D8465fD0C8D89bfdE910E47c41f4E465672B5c\"\n values.lastUnpausedAt:\n- 1716811943\n values.PERMIT2:\n+ \"taiko:0x000000000022D473030F116dDEE9F6B43aC78BA3\"\n+++ description: Immutable quota manager limiting successful token deliveries. Refunds consume no quota. The zero address disables quotas.\n values.quotaManager:\n+ \"taiko:0x0000000000000000000000000000000000000000\"\n+++ description: Immutable registry resolving the bridge, counterpart vaults and default bridged token implementation.\n values.resolver:\n+ \"taiko:0x2ea05A9CD06984Cf533a1829d8b0BE6289a43984\"\n fieldMeta.addressManager:\n- {\"severity\":\"HIGH\"}\n fieldMeta.owner:\n+ {\"severity\":\"MEDIUM\"}\n fieldMeta.resolver:\n+ {\"description\":\"Immutable registry resolving the bridge, counterpart vaults and default bridged token implementation.\"}\n fieldMeta.quotaManager:\n+ {\"description\":\"Immutable quota manager limiting successful token deliveries. Refunds consume no quota. The zero address disables quotas.\"}\n fieldMeta.btokenDenylist:\n+ {\"description\":\"Bridged tokens excluded from sends by token migration logic.\"}\n implementationNames.taiko:0xb96AbB41b01E3ad519D00E80355a1c3801910F62:\n- \"ERC20Vault\"\n implementationNames.taiko:0x25D8465fD0C8D89bfdE910E47c41f4E465672B5c:\n+ \"ERC20Vault\"\n category:\n+ {\"name\":\"Shared Infrastructure\",\"priority\":4}\n }\n```\n\n```diff\n contract ERC721Vault (taiko:0x1670000000000000000000000000000000000003) [taiko/ERC721Vault] {\n +++ description: Escrows canonical ERC721 tokens and mints or burns their bridged representations. An immutable resolver selects the local bridge, counterpart vaults and default bridged token implementation. Releases authenticate the bridge and source vault.\n sourceHashes.1:\n- \"0xdb576f6eacda08057701d15f09fa5c2b615ae34b565d935a56dc43245eb46703\"\n+ \"0x783ac50fedc4522f4b68132d77dbab84b7738869e0c79eccc12ecca89e33be01\"\n values.$implementation:\n- \"taiko:0xd532f20a4751156C566Da7745db95E7f80145B36\"\n+ \"taiko:0x4cAb75DBE321084fD15c7AA9f7398e073A7EaBd0\"\n values.$pastUpgrades.3:\n+ [\"2026-10-12T01:07:17.000Z\",\"0xe8c9d02693ed235dce16a36685a7d07f2929b6927054e07be41293cec00d194d\",[\"taiko:0x4cAb75DBE321084fD15c7AA9f7398e073A7EaBd0\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.addressManager:\n- \"taiko:0x1670000000000000000000000000000000000006\"\n values.impl:\n- \"taiko:0xd532f20a4751156C566Da7745db95E7f80145B36\"\n+ \"taiko:0x4cAb75DBE321084fD15c7AA9f7398e073A7EaBd0\"\n values.lastUnpausedAt:\n- 0\n+++ description: Immutable resolver selecting trusted bridge and vault counterparties and default token implementations.\n values.resolver:\n+ \"taiko:0x2ea05A9CD06984Cf533a1829d8b0BE6289a43984\"\n errors:\n- {\"proxiableUUID\":\"Processing error occurred.\"}\n implementationNames.taiko:0xd532f20a4751156C566Da7745db95E7f80145B36:\n- \"ERC721Vault\"\n implementationNames.taiko:0x4cAb75DBE321084fD15c7AA9f7398e073A7EaBd0:\n+ \"ERC721Vault\"\n template:\n+ \"taiko/ERC721Vault\"\n description:\n+ \"Escrows canonical ERC721 tokens and mints or burns their bridged representations. An immutable resolver selects the local bridge, counterpart vaults and default bridged token implementation. Releases authenticate the bridge and source vault.\"\n critical:\n+ true\n fieldMeta:\n+ {\"owner\":{\"severity\":\"MEDIUM\"},\"pendingOwner\":{\"severity\":\"MEDIUM\"},\"paused\":{\"severity\":\"MEDIUM\"},\"resolver\":{\"description\":\"Immutable resolver selecting trusted bridge and vault counterparties and default token implementations.\"}}\n }\n```\n\n```diff\n contract ERC1155Vault (taiko:0x1670000000000000000000000000000000000004) [taiko/ERC1155Vault] {\n +++ description: Escrows canonical ERC1155 tokens and mints or burns their bridged representations. An immutable resolver selects the local bridge, counterpart vaults and default bridged token implementation. Releases authenticate the bridge and source vault.\n sourceHashes.1:\n- \"0x7325669dd281de5a8bb65da63dfffe0a322aca151892bffa8464934fbfafaa31\"\n+ \"0xf2cbbe079d267fc8e34c5014c14f0dd4269da004cf9c1dc223ac4cb9ec351163\"\n values.$implementation:\n- \"taiko:0xBBBC4ad39488b990E095042fa6c59A90d3817846\"\n+ \"taiko:0xe148CceFFcd5494301c20e047634995C60611e57\"\n values.$pastUpgrades.3:\n+ [\"2026-10-12T01:07:17.000Z\",\"0xe8c9d02693ed235dce16a36685a7d07f2929b6927054e07be41293cec00d194d\",[\"taiko:0xe148CceFFcd5494301c20e047634995C60611e57\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.addressManager:\n- \"taiko:0x1670000000000000000000000000000000000006\"\n values.impl:\n- \"taiko:0xBBBC4ad39488b990E095042fa6c59A90d3817846\"\n+ \"taiko:0xe148CceFFcd5494301c20e047634995C60611e57\"\n values.lastUnpausedAt:\n- 0\n+++ description: Immutable resolver selecting trusted bridge and vault counterparties and default token implementations.\n values.resolver:\n+ \"taiko:0x2ea05A9CD06984Cf533a1829d8b0BE6289a43984\"\n errors:\n- {\"proxiableUUID\":\"Processing error occurred.\"}\n implementationNames.taiko:0xBBBC4ad39488b990E095042fa6c59A90d3817846:\n- \"ERC1155Vault\"\n implementationNames.taiko:0xe148CceFFcd5494301c20e047634995C60611e57:\n+ \"ERC1155Vault\"\n template:\n+ \"taiko/ERC1155Vault\"\n description:\n+ \"Escrows canonical ERC1155 tokens and mints or burns their bridged representations. An immutable resolver selects the local bridge, counterpart vaults and default bridged token implementation. Releases authenticate the bridge and source vault.\"\n critical:\n+ true\n fieldMeta:\n+ {\"owner\":{\"severity\":\"MEDIUM\"},\"pendingOwner\":{\"severity\":\"MEDIUM\"},\"paused\":{\"severity\":\"MEDIUM\"},\"resolver\":{\"description\":\"Immutable resolver selecting trusted bridge and vault counterparties and default token implementations.\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract L2AddressManager (taiko:0x1670000000000000000000000000000000000006) [taiko/L2AddressManager]\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n contract DelegateController (taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C) [taiko/DelegateController] {\n +++ description: Middleware contract that can maintain ownership of DAO-controlled assets and contracts. It can only be invoked by the TaikoDAOController on L1 through the L2 bridge.\n directlyReceivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"taiko:0x1670000000000000000000000000000000000001\",\"description\":\"pause and unpause bridge flows and run one-time message recovery initializers.\",\"role\":\".owner\"}\n directlyReceivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"taiko:0x1670000000000000000000000000000000000002\",\"description\":\"pause and unpause token flows and change a canonical token's bridged representation after the migration delay.\",\"role\":\".owner\"}\n directlyReceivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"taiko:0x1670000000000000000000000000000000000003\",\"description\":\"pause and unpause NFT deposits, releases and refunds.\",\"role\":\".owner\"}\n directlyReceivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"taiko:0x1670000000000000000000000000000000000004\",\"description\":\"pause and unpause NFT deposits, releases and refunds.\",\"role\":\".owner\"}\n directlyReceivedPermissions.1.description:\n- \"can update the contract address for a given name\"\n+ \"update the contract address registered for any chainId-name pair.\"\n directlyReceivedPermissions.1.from:\n- \"taiko:0x1670000000000000000000000000000000000006\"\n+ \"taiko:0x2ea05A9CD06984Cf533a1829d8b0BE6289a43984\"\n directlyReceivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"taiko:0x1670000000000000000000000000000000000006\",\"role\":\"admin\"}\n directlyReceivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"taiko:0x2ea05A9CD06984Cf533a1829d8b0BE6289a43984\",\"role\":\"admin\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract DefaultResolver (taiko:0x2ea05A9CD06984Cf533a1829d8b0BE6289a43984) [taiko/DefaultResolver]\n +++ description: Maps chainId-name pairs to contract addresses. Bridge and vault contracts resolve their counterparties through this registry, so changes in this mapping effectively act as contract upgrades. The pause function is intentionally disabled in this implementation.\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract MainnetERC721Vault (eth:0x0b470dd3A0e1C41228856Fb319649E7c08f419Aa) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract QuotaManager (eth:0x91f67118DD47d502B1f0C354D0611997B022f29E) [taiko/QuotaManager]\n +++ description: Defines withdrawal quotas for ETH and ERC20 releases from the shared bridge. A token quota of zero means unlimited withdrawals for that token.\n```\n\n```diff\n+ Status: CREATED\n contract MainnetERC1155Vault (eth:0xaf145913EA4a56BE22E120ED9C24589659881702) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1SharedAddressManager (eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa) [taiko/L1SharedAddressManager]\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract ERC721Vault (taiko:0x1670000000000000000000000000000000000003) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ERC1155Vault (taiko:0x1670000000000000000000000000000000000004) [N/A]\n +++ description: None\n```"
}
]
},
{
"id": "8abd4ccf",
"date": "Thu, 01 Oct 2026 11:11:03 GMT",
"timestamp": 1790850875,
"description": "- Two new standard DAO proposals (25 and 26), both still open in their veto period:\n - veto ends 2026-10-04: upgrades MainnetBridge, MainnetERC20Vault, MainnetERC721Vault, MainnetERC1155Vault, registers addresses in DefaultResolver and sends an L1->L2 message.\n - veto ends 2026-10-10: upgrades MainnetInbox, changes trusted RISC Zero image IDs and SP1 programs, changes MrEnclave values in both AutomataDcapV3Attestation contracts and deletes SGX instances in both SecureSgxVerifiers. Reviewed here: https://gist.github.com/sekuba/fd963174c4054a34ffb8c49f2c8bbf29.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 40\n+ 42\n values.proposalIds.40:\n+ \"609192021977025249345447570106396801273767657512\"\n values.proposalIds.41:\n+ \"609381197194961808191081799941267350559458852905\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) [taiko/Multisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n+++ description: total standard proposal count.\n values.proposalCount:\n- 25\n+ 27\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.1:\n+ \"eth:0x35376dD47C061Bc3b8c8e8d61987019e7ED58f06\"\n }\n```"
}
]
},
{
"id": "1c35c2f8",
"date": "Tue, 22 Sep 2026 13:48:20 GMT",
"timestamp": 1790078329,
"description": "Two proposals executed: \n\n1. Security Council reduced from 9 to 5 members, thresholds now 3/5 standard and 4/5 emergency (This removes the 'correctly set-up' qualification for a Security Council - too few participants and threshold too low). \n2. Raiko2 proving set updated v0.6.0 -> v0.8.0-rc1 (RISC0 image IDs, SP1 vkeys, SGX mrEnclaves, old SGX instances deleted).",
"isHighSeverity": true,
"changeCount": 41,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoRisc0Verifier (eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b) [taiko/Risc0Verifier] {\n +++ description: Gating router contract to verify batches using RISC Zero.\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.0:\n- \"0x5a818b4c7dc80e9ba85d55492c20c263c67238724e3982f76d15a158e501210b\"\n+ \"0xd6ab71c22201c23ef512b706f2e2d720f6da1b559fb76834aa9d4e35276f6e10\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.1:\n- \"0x9cfcc1b34a98853c3c5873a4d456726e528246f7f03a4ea35f27c2543aa6e7f0\"\n+ \"0xdd9b8abff96c409ae2418edfb51d893ea2bd10f4873a0226f17a6998c1afc1b7\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Safe (eth:0x0F40268Ec0Dc8D88CF2f22E227A29a0b478b6351) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract SignerList (Security Council) (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) [taiko/SignerList] {\n +++ description: A signer list for storing multisig members and their agents, stores the addresses of the Multisigs that use this signer list. Each signer delegates their permissions to their agent address that they can configure here.\n values.$members.0:\n- \"eth:0xCf76A87E24FE2054DCF02a5f65eAc0F24A34c439\"\n values.$members.1:\n- \"eth:0x93533a3511E9b0d5c17b1CBD0e1737781DEf61a6\"\n values.$members.2:\n- \"eth:0x884c3e8235788ae52C2106E847e30BD84F2FBCb8\"\n values.$members.3:\n- \"eth:0x22aD66bcEaeff83e1461772Fa85CbeB01f0915f4\"\n values.$members.4:\n- \"eth:0x4236f57E9dBc238878EFac4AeF0A16D4dD06DC1A\"\n+ \"eth:0x736d9e59cDd406aEee09253fF18BA6cb7be67CBD\"\n values.$members.6:\n- \"eth:0x18B4f2afe456Dc89bddE9710476dCfC62D01d656\"\n+ \"eth:0x884c3e8235788ae52C2106E847e30BD84F2FBCb8\"\n values.$members.7:\n- \"eth:0x1d955983044548E03DAA583B36A37cA4bdE6F556\"\n+ \"eth:0xF74F2bBaEd41e3e4AbAcbA24563a5Ce5aB071C8A\"\n values.$members.8:\n- \"eth:0xc4414B079bC4A013916B3dc241555F6f505c1619\"\n+ \"eth:0xe63E61BbB3aa1b82d44471AbcAb490102C17c986\"\n values.addresslistLength:\n- 9\n+ 5\n values.multisigSigners.0:\n- \"eth:0x436a1075099A145417EBFc74BBaC9605e3e4f1A7\"\n values.multisigSigners.3:\n- \"eth:0x0F40268Ec0Dc8D88CF2f22E227A29a0b478b6351\"\n values.multisigSigners.4:\n- \"eth:0x5353c607e6eca6C63FEC5c6C0F5CC3a5348d5c95\"\n values.multisigSigners.5:\n- \"eth:0x25d3E89bAcE2040Ed3aF7c4c7B505cfBB72fD6f1\"\n values.multisigSigners.6:\n- \"eth:0xa384E224A3F3D664F43eBE33395eF0DCcE67e894\"\n values.multisigSigners.3:\n+ \"eth:0xe63E61BbB3aa1b82d44471AbcAb490102C17c986\"\n values.multisigSigners.8:\n- \"eth:0x6268d189E011Aa53A2f09A1FE159445BeB3d878E\"\n+ \"eth:0xF74F2bBaEd41e3e4AbAcbA24563a5Ce5aB071C8A\"\n values.settings.minSignerListLength:\n- 8\n+ 4\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261) [taiko/AutomataDcapV3Attestation] {\n +++ description: Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.0:\n- \"0x2d2216efbe9d8e80ba24b86606ccd5ce9faf11033d31ad9e5d3c5c89965c8a57\"\n+ \"0x5f7da556f3b75dcc71465030e1b7274e82df9e9120c0b3eaf5bb76246a514005\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Safe (eth:0x25d3E89bAcE2040Ed3aF7c4c7B505cfBB72fD6f1) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) [taiko/EmergencyMultisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n values.lastMultisigSettingsChange:\n- 24269141\n+ 25997731\n+++ severity: HIGH\n values.minApprovals:\n- 7\n+ 4\n values.multisigSettings.minApprovals:\n- 7\n+ 4\n }\n```\n\n```diff\n- Status: DELETED\n contract Safe (eth:0x436a1075099A145417EBFc74BBaC9605e3e4f1A7) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract Safe (eth:0x5353c607e6eca6C63FEC5c6C0F5CC3a5348d5c95) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract Safe (eth:0x6268d189E011Aa53A2f09A1FE159445BeB3d878E) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract TaikoSP1Verifier (eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F) [taiko/SP1Verifier] {\n +++ description: Gating router contract to verify batches using SP1.\n+++ description: Taiko-specific SP1 program verification keys trusted by this verifier gateway. Only proofs for these programs can be successfully verified.\n+++ severity: HIGH\n values.trustedPrograms.0:\n- \"0x00ad090221a8fa0f09e1be7a53feb67be010f01310d4b2314a69d10152ee1ce0\"\n+ \"0x0025425c22e827507428a3d9c7b0f89635be5462f34bb6780563e3d6086be7c7\"\n+++ description: Taiko-specific SP1 program verification keys trusted by this verifier gateway. Only proofs for these programs can be successfully verified.\n+++ severity: HIGH\n values.trustedPrograms.1:\n- \"0x568481106a3e83c23c37cf4a3feb67be008780984352c8c514d3a20252ee1ce0\"\n+ \"0x12a12e113a09d41d05147b387b0f89632df2a3174d2ed9e00ac7c7ac086be7c7\"\n+++ description: Taiko-specific SP1 program verification keys trusted by this verifier gateway. Only proofs for these programs can be successfully verified.\n+++ severity: HIGH\n values.trustedPrograms.2:\n- \"0x000b11691352e55fcf64f62620cefaa700161600093f2751032fe71ea912264d\"\n+ \"0x0051ac1d9e8cfd4196e37f9cfefd08e9b0f7ce653bad4634cd1ee84b71ca3be6\"\n+++ description: Taiko-specific SP1 program verification keys trusted by this verifier gateway. Only proofs for these programs can be successfully verified.\n+++ severity: HIGH\n values.trustedPrograms.3:\n- \"0x0588b48954b957f36c9ec4c40cefaa7000b0b00024fc9d44065fce3d2912264d\"\n+ \"0x28d60ecf233f50655c6ff39f6fd08e9b07be73296eb518d31a3dd09671ca3be6\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) [taiko/AutomataDcapV3Attestation] {\n +++ description: Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.0:\n- \"0x90c79e65d6d0f83d658ff96cd0ef1204438f20b406c93cf1d4fafa0cff29842e\"\n+ \"0x3564b6a30089fcb3e2f69c19b22d23f84ce148387cd7a15f5c1df165b2ae5847\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.1:\n- \"0x041cadb0541bf8249c368482172d218608f3693975b65f74beb2ed6f0044f951\"\n+ \"0xae2c7b92b2a71238226cb624ecd1171b66bf943cc372314affca0e6748ccecdf\"\n }\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 39\n+ 40\n values.proposalIds.39:\n+ \"609097156697645562436844254022738698161067393063\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Safe (eth:0xa384E224A3F3D664F43eBE33395eF0DCcE67e894) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) [taiko/Multisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.lastMultisigSettingsChange:\n- 24588180\n+ 25997731\n+++ severity: HIGH\n values.minApprovals:\n- 5\n+ 3\n values.multisigSettings.minApprovals:\n- 5\n+ 3\n+++ description: total standard proposal count.\n values.proposalCount:\n- 24\n+ 25\n }\n```"
}
]
},
{
"id": "95f4937a",
"date": "Fri, 18 Sep 2026 10:21:44 GMT",
"timestamp": 1789471567,
"description": "critical contracts and severities for the ossification perimeter",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract Bridge (taiko:0x1670000000000000000000000000000000000001) [taiko/L2Bridge]\n +++ description: Bridge escrow holding preminted ETH on Taiko.\n```\n\n```diff\n+ Status: CREATED\n contract ERC20Vault (taiko:0x1670000000000000000000000000000000000002) [taiko/L2ERC20Vault]\n +++ description: Escrow for L2-native tokens sent to L1 via the canonical bridge.\n```\n\n```diff\n+ Status: CREATED\n contract SignalService (taiko:0x1670000000000000000000000000000000000005) [taiko/SignalService]\n +++ description: Facilitates secure cross-chain message passing by storing signals and state-root checkpoints. Bridge escrows and other applications use it to prove that a specific L1<->L2 signal or checkpointed state transition occurred via Merkle proofs. Pausing disables signal proof verification.\n```\n\n```diff\n+ Status: CREATED\n contract L2AddressManager (taiko:0x1670000000000000000000000000000000000006) [taiko/L2AddressManager]\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract Anchor (taiko:0x1670000000000000000000000000000000010001) [taiko/Anchor]\n +++ description: Stores L1 block details on L2 as a cross-layer oracle and manages EIP-1559 gas pricing for L2 operations.\n```\n\n```diff\n+ Status: CREATED\n contract DelegateController (taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C) [taiko/DelegateController]\n +++ description: Middleware contract that can maintain ownership of DAO-controlled assets and contracts. It can only be invoked by the TaikoDAOController on L1 through the L2 bridge.\n```"
}
]
},
{
"id": "c351d4cb",
"date": "Tue, 15 Sep 2026 11:27:38 GMT",
"timestamp": 1789471567,
"description": "Operator changes.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.1:\n- \"eth:0x35376dD47C061Bc3b8c8e8d61987019e7ED58f06\"\n }\n```"
}
]
},
{
"id": "a51f9d57",
"date": "Tue, 01 Sep 2026 12:14:34 GMT",
"timestamp": 1788264785,
"description": "SC proposal moving to veto phase.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SignerList (Security Council) (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) [taiko/SignerList] {\n +++ description: A signer list for storing multisig members and their agents, stores the addresses of the Multisigs that use this signer list. Each signer delegates their permissions to their agent address that they can configure here.\n values.$members.0:\n- \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n+ \"eth:0xCf76A87E24FE2054DCF02a5f65eAc0F24A34c439\"\n }\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 38\n+ 39\n values.proposalIds.38:\n+ \"608479335948875503511285097395089134668700712998\"\n }\n```\n\n```diff\n contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n+ \"eth:0xFa92ff698D57f7B875570D9F59501812B843CD44\"\n }\n```"
}
]
},
{
"id": "ec5264fb",
"date": "Thu, 27 Aug 2026 12:07:50 GMT",
"timestamp": 1787832377,
"description": "Add proposal that reduces the Security Council to a 4/5 multisig. The resulting Council is not a valid Security Council after the L2BEAT criteria: https://medium.com/l2beat/stages-update-security-council-requirements-4c79cea8ef52, https://forum.l2beat.com/t/stage-1-requirements-update-security-council-walkaway-test/412 .\n\nfull review of the proposal: https://gist.github.com/sekuba/b19aa30b123d7247280e96f5a49e5c15 .",
"isHighSeverity": true,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 37\n+ 38\n values.proposalIds.37:\n+ \"608325339122031231284005618251537221674155900965\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) [taiko/Multisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n+++ description: total standard proposal count.\n+++ severity: HIGH\n values.proposalCount:\n- 23\n+ 24\n }\n```"
}
]
},
{
"id": "9777f08d",
"date": "Tue, 25 Aug 2026 08:45:40 GMT",
"timestamp": 1787647451,
"description": "Proposal 22: https://gist.github.com/sekuba/e325f390dbe8a73ebc53c1ad95e6c48d bringing proving efficiency.\n\nProghashes are reproduced.",
"isHighSeverity": true,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) [taiko/Multisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n+++ description: total standard proposal count.\n+++ severity: HIGH\n values.proposalCount:\n- 22\n+ 23\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.1:\n- \"eth:0x2267C7246523191b8bf7615B86b3bdEE612b7D9E\"\n+ \"eth:0x35376dD47C061Bc3b8c8e8d61987019e7ED58f06\"\n }\n```"
}
]
},
{
"id": "14d2f176",
"date": "Mon, 17 Aug 2026 08:31:35 GMT",
"timestamp": 1786955407,
"description": "Multisig changes.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Taiko Foundation Treasury Multisig (eth:0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xA1D62c7df45847089cfB052396Abe4cDa7879d25\"\n values.$members.1:\n+ \"eth:0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a\"\n values.$members.0:\n- \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n+ \"eth:0x7A5299927F93ffCf33cf381CB0C03C2486b9299A\"\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 PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.2:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```"
}
]
},
{
"id": "ebe21a45",
"date": "Tue, 04 Aug 2026 10:17:48 GMT",
"timestamp": 1785837430,
"description": "This is the onchain deployment of the [Unzen upgrade](https://dao.taiko.xyz/plugins/community-proposals/#/proposals/36), which will be activated on Aug 6.\n\nMainnetInbox diff: https://disco.l2beat.com/diff/eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01/eth:0x5253D4C91e80b880DdB54B78E74082Abe066F6b9\n- adds back forced txs\n- no self-proposal though\n\nZK verifier diff: https://disco.l2beat.com/diff/eth:0x71808449A6217898d602c1a392D95b931Ac5d878/eth:0x7284aaC05555Ae6559bdAd8B4221eC9584254Eec\n- ZK proof always required: Taiko is a Stage 0 validity rollup\n\nadd TEE and ZK program hashes for the new Unzen programs (ZK is reproduced [here](https://gist.github.com/sekuba/754362718c457edaba93d71dc073b91e))\n\nL2BEAT SC member safe moves to 1/1 (single signer: sekuba).",
"isHighSeverity": true,
"changeCount": 33,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoRisc0Verifier (eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b) [taiko/Risc0Verifier] {\n +++ description: Gating router contract to verify batches using RISC Zero.\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.0:\n- \"0xa38d1fac63aa6a553fdb6fea01fdc96534564c31de916aaafe5f5a1dd3bb908b\"\n+ \"0x5a818b4c7dc80e9ba85d55492c20c263c67238724e3982f76d15a158e501210b\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.1:\n- \"0x868b5154ae01a9a045051da2d7ba2e21d4132c7ec096da343fa24149407fefef\"\n+ \"0x9cfcc1b34a98853c3c5873a4d456726e528246f7f03a4ea35f27c2543aa6e7f0\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261) [taiko/AutomataDcapV3Attestation] {\n +++ description: Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.0:\n- \"0xbefb2c7ec44cefe57f4ff0ca815a8b8f15e05631bf3abe36cbc12d28f778fa36\"\n+ \"0x2d2216efbe9d8e80ba24b86606ccd5ce9faf11033d31ad9e5d3c5c89965c8a57\"\n }\n```\n\n```diff\n EOA (eth:0x3D4997AAC0834BEb5ede861c424807Aa3F29b5bB) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2\",\"description\":\"configure an agent address that represents this entity in the Security Council\",\"role\":\".multisigSigners\",\"via\":[{\"address\":\"eth:0xf1cF63589A1e012F9124182c9eAa36B5333e5f06\"}]}]\n }\n```\n\n```diff\n contract MainnetInbox (eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f) [taiko/MainnetInbox] {\n +++ description: The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. Users can enqueue forced inclusions by publishing an L1 blob. Once an inclusion is due, subsequent proposals must process it, but proposing remains restricted by the configured proposer checker. If the configured prover whitelist is non-empty, proofs from non-whitelisted provers revert.\n template:\n- \"taiko/MainnetInboxRestricted\"\n+ \"taiko/MainnetInbox\"\n sourceHashes.1:\n- \"0xd6d3af78f692a4c928f8e1b046eca6884ed0d15d120df586c3509c802795d433\"\n+ \"0xa0a8e3ebc196ae2703fc2c0dc5bc16012644bbcd103c34bf6241389ccadc0fd0\"\n description:\n- \"The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. Forced inclusion submission and processing are disabled in this implementation. Proposals must come from the configured proposer checker, and if the configured prover whitelist is non-empty, proofs from non-whitelisted provers revert; the configured permissionless proving delay is not used to open proving.\"\n+ \"The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. Users can enqueue forced inclusions by publishing an L1 blob. Once an inclusion is due, subsequent proposals must process it, but proposing remains restricted by the configured proposer checker. If the configured prover whitelist is non-empty, proofs from non-whitelisted provers revert.\"\n values.$implementation:\n- \"eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01\"\n+ \"eth:0x5253D4C91e80b880DdB54B78E74082Abe066F6b9\"\n values.$pastUpgrades.3:\n+ [\"2026-08-03T12:46:23.000Z\",\"0x64875b5b84b41b520551854696c0ce408fb3e0aa2ede604cc95a5919b6140ea7\",[\"eth:0x5253D4C91e80b880DdB54B78E74082Abe066F6b9\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.getConfig.proofVerifier:\n- \"eth:0x71808449A6217898d602c1a392D95b931Ac5d878\"\n+ \"eth:0x7284aaC05555Ae6559bdAd8B4221eC9584254Eec\"\n+++ severity: HIGH\n values.getCurrentForcedInclusionFee:\n- 1020000\n+ 1000000\n values.impl:\n- \"eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01\"\n+ \"eth:0x5253D4C91e80b880DdB54B78E74082Abe066F6b9\"\n values.noForce:\n- [true]\n fieldMeta.noForce:\n- {\"severity\":\"HIGH\",\"description\":\"Forced inclusions are disabled in this implementation: saveForcedInclusion() always reverts and propose() only accepts zero forced inclusions.\"}\n implementationNames.eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01:\n- \"MainnetInbox\"\n implementationNames.eth:0x5253D4C91e80b880DdB54B78E74082Abe066F6b9:\n+ \"MainnetInbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetVerifier (eth:0x71808449A6217898d602c1a392D95b931Ac5d878) [taiko/MainnetVerifier]\n +++ description: Immutable verifier policy contract for Taiko mainnet. Each accepted proof must contain exactly two ordered sub-proofs: either SGX-GETH plus SGX-RETH/RISC0-RETH/SP1-RETH, or SGX-RETH plus SGX-GETH/RISC0-RETH/SP1-RETH. It routes each sub-proof to the corresponding downstream verifier.\n```\n\n```diff\n contract TaikoSP1Verifier (eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F) [taiko/SP1Verifier] {\n +++ description: Gating router contract to verify batches using SP1.\n+++ description: Taiko-specific SP1 program verification keys trusted by this verifier gateway. Only proofs for these programs can be successfully verified.\n+++ severity: HIGH\n values.trustedPrograms.0:\n- \"0x007594632ec31fae9d44799b97316fcbcaa3ff6b5db268c7a5d8025b3bbb487e\"\n+ \"0x00ad090221a8fa0f09e1be7a53feb67be010f01310d4b2314a69d10152ee1ce0\"\n+++ description: Taiko-specific SP1 program verification keys trusted by this verifier gateway. Only proofs for these programs can be successfully verified.\n+++ severity: HIGH\n values.trustedPrograms.1:\n- \"0x3aca319730c7eba7288f33727316fcbc551ffb5a76c9a31e4bb004b63bbb487e\"\n+ \"0x568481106a3e83c23c37cf4a3feb67be008780984352c8c514d3a20252ee1ce0\"\n+++ description: Taiko-specific SP1 program verification keys trusted by this verifier gateway. Only proofs for these programs can be successfully verified.\n+++ severity: HIGH\n values.trustedPrograms.2:\n- \"0x00e91cb391c22d6fd015e4c6041dbbe6efb2d8be6d4046eec28f12acba5a17bc\"\n+ \"0x000b11691352e55fcf64f62620cefaa700161600093f2751032fe71ea912264d\"\n+++ description: Taiko-specific SP1 program verification keys trusted by this verifier gateway. Only proofs for these programs can be successfully verified.\n+++ severity: HIGH\n values.trustedPrograms.3:\n- \"0x748e59c8708b5bf402bc98c041dbbe6e7d96c5f335011bbb051e25593a5a17bc\"\n+ \"0x0588b48954b957f36c9ec4c40cefaa7000b0b00024fc9d44065fce3d2912264d\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) [taiko/AutomataDcapV3Attestation] {\n +++ description: Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.0:\n- \"0xdccd8f30ea4a137ddfa63d743e3aa7c7a8e80585912d19c4b66f7d8d6098bec4\"\n+ \"0x90c79e65d6d0f83d658ff96cd0ef1204438f20b406c93cf1d4fafa0cff29842e\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.1:\n- \"0x92dd96a170d1ffb998afa210b3ef8af8c408ab76c4717e0eb8076d4a5da4e740\"\n+ \"0x041cadb0541bf8249c368482172d218608f3693975b65f74beb2ed6f0044f951\"\n }\n```\n\n```diff\n contract Gustavo Gonzalez Taiko (eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n+ \"eth:0xCf76A87E24FE2054DCF02a5f65eAc0F24A34c439\"\n }\n```\n\n```diff\n contract L2BEAT (eth:0xf1cF63589A1e012F9124182c9eAa36B5333e5f06) [GnosisSafe] {\n +++ description: None\n values.$members.1:\n- \"eth:0x6dcB04fCC1c597DAFad86e2886bE463d53CaFAdf\"\n values.$threshold:\n- 2\n+ 1\n values.multisigThreshold:\n- \"2 of 2 (100%)\"\n+ \"1 of 1 (100%)\"\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2\",\"description\":\"configure an agent address that represents this entity in the Security Council\",\"role\":\".multisigSigners\"}]\n directlyReceivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2\",\"description\":\"configure an agent address that represents this entity in the Security Council\",\"role\":\".multisigSigners\"}]\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.0:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.operatorMapping.2:\n- \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n+ \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract ZkRequiredVerifier (eth:0x7284aaC05555Ae6559bdAd8B4221eC9584254Eec) [taiko/ZkRequiredVerifier]\n +++ description: Immutable verifier policy contract for Taiko mainnet. Every accepted proof contains exactly two ordered sub-proofs and at least one must be a ZK proof. Accepted pairs are SGX-GETH or SGX-RETH with RISC0-RETH or SP1-RETH, and RISC0-RETH with SP1-RETH. The SGX-GETH plus SGX-RETH pair is not accepted.\n```"
}
]
},
{
"id": "458d55ad",
"date": "Wed, 29 Jul 2026 11:40:03 GMT",
"timestamp": 1785325120,
"description": "Operator rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.1:\n- \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.operatorMapping.2:\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n }\n```"
}
]
},
{
"id": "0c537e31",
"date": "Thu, 23 Jul 2026 13:54:23 GMT",
"timestamp": 1784814782,
"description": "A third preconfirmation operator was added to the whitelist.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.2:\n+ \"eth:0x2267C7246523191b8bf7615B86b3bdEE612b7D9E\"\n }\n```"
}
]
},
{
"id": "c0090ce5",
"date": "Fri, 17 Jul 2026 07:47:14 GMT",
"timestamp": 1784274333,
"description": "One Security Council agent is changed. The [Unzen upgrade proposal](https://dao.taiko.xyz/plugins/community-proposals/#/proposals/36) moves into the optimistic public phase.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SignerList (Security Council) (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) [taiko/SignerList] {\n +++ description: A signer list for storing multisig members and their agents, stores the addresses of the Multisigs that use this signer list. Each signer delegates their permissions to their agent address that they can configure here.\n values.$members.4:\n- \"eth:0xbC40317A69CB1D1aF2CBcfE32C8B7a6840Dc287a\"\n+ \"eth:0x4236f57E9dBc238878EFac4AeF0A16D4dD06DC1A\"\n }\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 36\n+ 37\n values.proposalIds.36:\n+ \"607065748551507217783827454409519139164457533476\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) [taiko/Multisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n+++ description: total standard proposal count.\n+++ severity: HIGH\n values.proposalCount:\n- 21\n+ 22\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.2:\n- \"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\"\n }\n```"
}
]
},
{
"id": "83beb47d",
"date": "Wed, 08 Jul 2026 11:24:06 GMT",
"timestamp": 1783509666,
"description": "Quota changes 150K -> 250K per day for stables (USDT and USDC).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract QuotaManager (eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC) [taiko/QuotaManager] {\n +++ description: Defines withdrawal quotas for ETH and ERC20 releases from the shared bridge. A token quota of zero means unlimited withdrawals for that token.\n values.tokenQuotas.3.quota:\n- \"150,000\"\n+ \"250,000\"\n values.tokenQuotas.4.quota:\n- \"150,000\"\n+ \"250,000\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.2:\n+ \"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\"\n }\n```"
}
]
},
{
"id": "e0cf6e6c",
"date": "Thu, 02 Jul 2026 08:00:24 GMT",
"timestamp": 1782979130,
"description": "Bridges unpaused. Taiko is live again, without forced transactions or proposer fallback.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SignerList (Security Council) (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) [taiko/SignerList] {\n +++ description: A signer list for storing multisig members and their agents, stores the addresses of the Multisigs that use this signer list. Each signer delegates their permissions to their agent address that they can configure here.\n values.$members.4:\n- \"eth:0x4236f57E9dBc238878EFac4AeF0A16D4dD06DC1A\"\n+ \"eth:0xbC40317A69CB1D1aF2CBcfE32C8B7a6840Dc287a\"\n }\n```\n\n```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) [taiko/EmergencyMultisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: total count of encrypted emergency proposals created.\n+++ severity: HIGH\n values.proposalCount:\n- 34\n+ 35\n }\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 35\n+ 36\n values.proposalIds.35:\n+ \"606707631305171219093581685850458871248271179811\"\n }\n```\n\n```diff\n contract MainnetERC20Vault (eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) [taiko/SharedERC20Vault] {\n +++ description: Shared vault for Taiko chains for bridged ERC20 tokens. Pausing stops token sends, message-triggered releases, and recalls. Released or minted tokens are subject to the configured quota manager.\n+++ severity: HIGH\n values.paused:\n- true\n+ false\n }\n```\n\n```diff\n contract MainnetBridge (eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) [taiko/TaikoBridge] {\n +++ description: Shared bridge escrow for Taiko chains for bridged ETH and arbitrary bridge messages. Pausing stops sending, processing, recalling, retrying, and failing messages. ETH released from the bridge is subject to the configured quota manager.\n+++ severity: HIGH\n values.paused:\n- true\n+ false\n }\n```"
}
]
},
{
"id": "423dca4a",
"date": "Tue, 30 Jun 2026 14:13:09 GMT",
"timestamp": 1782824701,
"description": "MainnetInbox is upgraded to the restricted implementation with forced inclusions disabled; proposals are gated by PreconfWhitelist with no fallback proposer path, proving routes through MainnetVerifier, and bridge/vault releases are governed by QuotaManager.\n\ndiffs:\n- over all contracts: unrelated formatting changes and hardcoding of addresses instead of using the resolver\n- signalService: https://disco.l2beat.com/diff/eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752/eth:0x1A06832992785766a105838C95c1E13a0045AC85 adds immutable pauser/unpause and `VERSION` invalidates all old cache + checkpoints\n- MainnetBridge: https://disco.l2beat.com/diff/eth:0x2705B12a971dA766A3f9321a743d61ceAD67dA2F/eth:0x1c94D798CFA08F396E5BA9F81697289c53273381 quota changes and init3 sets three message hashes (0x9972, 0xf299, 0xea26) to DONE (currently RETRYABLE)\n- MainnetERC20Vault: https://disco.l2beat.com/diff/eth:0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63/eth:0x024253C6FDC27d3161aFd43fb0241411A28dDc3c quota changes\n- MainnetInbox: https://disco.l2beat.com/diff/eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098/eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01 (init2/rollback to `_lastFinalizedProposalId = 18051`, `lastFinalizedBlockHash = 0x64c2ada556b6862d2c8796e0f709c454fede9d03908711a9f04d9f9f9dcce470`, disable forced inclusion)\n- MainnetVerifier: https://disco.l2beat.com/diff/eth:0x9cAa4948381590900FCdd8a4F06EB24138eD665d/eth:0x71808449A6217898d602c1a392D95b931Ac5d878 pointers changes only\n- sgxgeth: https://disco.l2beat.com/diff/eth:0x08568Df252ecf37D6C3eFD24f6ca3688118697F1/eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee add registrar `0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F` (whitelisted `registerInstance` caller), add `SGX_FORBIDDEN_ATTRIBUTE_MASK` to blacklist debug mode\n- sgxreth: https://disco.l2beat.com/diff/eth:0x08568Df252ecf37D6C3eFD24f6ca3688118697F1/eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee same as above\n- sp1RethVerifier: https://disco.l2beat.com/diff/eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6/eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F no source diff, but removes all trusted vkeys and adds four new ones\n- risc0RethVerifier: all image ids removed, added two new ones (`0xa38d1fac63aa6a553fdb6fea01fdc96534564c31de916aaafe5f5a1dd3bb908b`,`0x868b5154ae01a9a045051da2d7ba2e21d4132c7ec096da343fa24149407fefef`)\n- dcap 0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261(geth): `mrSigners = ['0x48fa5bbad91d274735d238715913c8712a7505bb6d0dd832764bedb46d587013']`, `mrEnclaves = ['0xbefb2c7ec44cefe57f4ff0ca815a8b8f15e05631bf3abe36cbc12d28f778fa36']\n- dcap 0x8d7C954960a36a7596d7eA4945dDf891967ca8A3(reth): `mrSigners = ['0x48fa5bbad91d274735d238715913c8712a7505bb6d0dd832764bedb46d587013']`, `mrEnclaves = ['0xdccd8f30ea4a137ddfa63d743e3aa7c7a8e80585912d19c4b66f7d8d6098bec4', '0x92dd96a170d1ffb998afa210b3ef8af8c408ab76c4717e0eb8076d4a5da4e740']\n- all other enclaves and the old signer are removed\n\nProgram hashes source used: taikoxyz/raiko2 v0.5.1, commit b08f4c57cd69a0f8dc1316a21f4ce4b08eddbebe. Regenerated values match exactly:\n```\n risc0 aggregation image_id 0x868b5154ae01a9a045051da2d7ba2e21d4132c7ec096da343fa24149407fefef\n risc0 proposal image_id 0xa38d1fac63aa6a553fdb6fea01fdc96534564c31de916aaafe5f5a1dd3bb908b\n sp1 aggregation vk_bn254 0x00e91cb391c22d6fd015e4c6041dbbe6efb2d8be6d4046eec28f12acba5a17bc\n sp1 aggregation vk_hash_bytes 0x748e59c8708b5bf402bc98c041dbbe6e7d96c5f335011bbb051e25593a5a17bc\n sp1 proposal vk_bn254 0x007594632ec31fae9d44799b97316fcbcaa3ff6b5db268c7a5d8025b3bbb487e\n sp1 proposal vk_hash_bytes 0x3aca319730c7eba7288f33727316fcbc551ffb5a76c9a31e4bb004b63bbb487e\n```",
"isHighSeverity": true,
"changeCount": 125,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoRisc0Verifier (eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b) [taiko/Risc0Verifier] {\n +++ description: Gating router contract to verify batches using RISC Zero.\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.0:\n- \"0x779c032b91d0730ef13b26eafa47b32df7ebdaa4ed766d587fe905530afa2544\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.1:\n- \"0x26abb0237d10e891443e2a76bd3c1f6704c1ad03c07cb2165f4afcfc64b3cee7\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.2:\n- \"0x46efe5e0c74976548ee6856789fbfb4929b8f2f9118a119c57ced6e1062e727b\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.3:\n- \"0xdfbce2039ad8b78b236b5a9dceba5d8cee0d9e4638fc8f1fe11a0b2d8bfa039e\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.4:\n- \"0xbee1be4cbe2bdf9b0034a1ab6572061a76019e73189ff96322e58ab229b75f92\"\n+ \"0xa38d1fac63aa6a553fdb6fea01fdc96534564c31de916aaafe5f5a1dd3bb908b\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.5:\n- \"0xcecc85819e15d173c2991577727525b136e820728f7aaaede612f1281cac2249\"\n+ \"0x868b5154ae01a9a045051da2d7ba2e21d4132c7ec096da343fa24149407fefef\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SgxVerifier (eth:0x08568Df252ecf37D6C3eFD24f6ca3688118697F1) [taiko/SgxVerifier]\n +++ description: Verifier contract for SGX proven blocks. Registered SGX instances can sign accepted proofs until their instance expiry.\n```\n\n```diff\n contract SignerList (Security Council) (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) [taiko/SignerList] {\n +++ description: A signer list for storing multisig members and their agents, stores the addresses of the Multisigs that use this signer list. Each signer delegates their permissions to their agent address that they can configure here.\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x08568Df252ecf37D6C3eFD24f6ca3688118697F1\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.4:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.6:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F\",\"description\":\"manage trusted SP1 program verification keys.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.7:\n- {\"permission\":\"interact\",\"from\":\"eth:0x91f67118DD47d502B1f0C354D0611997B022f29E\",\"description\":\"update token withdrawal quotas and the quota refill period.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.8.description:\n- \"manage trusted SP1 program verification keys.\"\n+ \"update the contract address registered for any chainId-name pair.\"\n receivedPermissions.8.from:\n- \"eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6\"\n+ \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.12:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.13:\n- {\"permission\":\"interact\",\"from\":\"eth:0xa1018Ba2e22139076f91dA2A856B2CAB22d968F6\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.17:\n- {\"permission\":\"interact\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.24.from:\n- \"eth:0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n+ \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.30:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261) [taiko/AutomataDcapV3Attestation] {\n +++ description: Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.0:\n- \"0xfda8bb1fc9938700c25353c0a5fabc96a238e69ce8e35f08e558831a20db33a6\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.1:\n- \"0x692c8624d30a327340b0dfbb67203e941175ac700d1a058c717e5269103d37e6\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.2:\n- \"0x3e6113a23bbdf9231520153253047d02db8f1dd38a9b52914ab7943278f52db0\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.3:\n- \"0xd1f43acede51c4eb2f66b86cce52682edad80b810b9d87fba3a9b67254c91b77\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.4:\n- \"0x398be8424f27802b38e6e8d3413bf6a0b187349e68522a218f5bfc00279006ac\"\n+ \"0xbefb2c7ec44cefe57f4ff0ca815a8b8f15e05631bf3abe36cbc12d28f778fa36\"\n+++ description: Trusted SGX signer measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrSigners.0:\n- \"0xca0583a715534a8c981b914589a7f0dc5d60959d9ae79fb5353299a4231673d5\"\n+ \"0x48fa5bbad91d274735d238715913c8712a7505bb6d0dd832764bedb46d587013\"\n }\n```\n\n```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) [taiko/EmergencyMultisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: total count of encrypted emergency proposals created.\n+++ severity: HIGH\n values.proposalCount:\n- 33\n+ 34\n }\n```\n\n```diff\n contract MainnetInbox (eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f) [taiko/MainnetInboxRestricted] {\n +++ description: The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. Forced inclusion submission and processing are disabled in this implementation. Proposals must come from the configured proposer checker, and if the configured prover whitelist is non-empty, proofs from non-whitelisted provers revert; the configured permissionless proving delay is not used to open proving.\n sourceHashes.1:\n- \"0xc8fb004590f1c60e5c9735be36da74676fdc93286aa44749d3156ad33bc416e7\"\n+ \"0xd6d3af78f692a4c928f8e1b046eca6884ed0d15d120df586c3509c802795d433\"\n values.$implementation:\n- \"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098\"\n+ \"eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01\"\n values.$pastUpgrades.2:\n+ [\"2026-06-29T13:18:35.000Z\",\"0xae7122add731c935d54d726ebe542e7d4f9f7321e3bdf4ec794309f813d981f7\",[\"eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.getConfig.proofVerifier:\n- \"eth:0x9cAa4948381590900FCdd8a4F06EB24138eD665d\"\n+ \"eth:0x71808449A6217898d602c1a392D95b931Ac5d878\"\n values.impl:\n- \"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098\"\n+ \"eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01\"\n implementationNames.eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098:\n- \"MainnetInbox\"\n implementationNames.eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01:\n+ \"MainnetInbox\"\n }\n```\n\n```diff\n contract TaikoDAOController (eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) [taiko/TaikoDAOController] {\n +++ description: Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n directlyReceivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x08568Df252ecf37D6C3eFD24f6ca3688118697F1\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\"}\n directlyReceivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\"}\n directlyReceivedPermissions.4:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F\",\"description\":\"manage trusted SP1 program verification keys.\",\"role\":\".owner\"}\n directlyReceivedPermissions.5:\n- {\"permission\":\"interact\",\"from\":\"eth:0x91f67118DD47d502B1f0C354D0611997B022f29E\",\"description\":\"update token withdrawal quotas and the quota refill period.\",\"role\":\".owner\"}\n directlyReceivedPermissions.6.description:\n- \"manage trusted SP1 program verification keys.\"\n+ \"update the contract address registered for any chainId-name pair.\"\n directlyReceivedPermissions.6.from:\n- \"eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6\"\n+ \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n directlyReceivedPermissions.8:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\"}\n directlyReceivedPermissions.9:\n- {\"permission\":\"interact\",\"from\":\"eth:0xa1018Ba2e22139076f91dA2A856B2CAB22d968F6\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\"}\n directlyReceivedPermissions.12:\n- {\"permission\":\"interact\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n directlyReceivedPermissions.18.from:\n- \"eth:0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n+ \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n directlyReceivedPermissions.23:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) [taiko/AutomataDcapV3Attestation] {\n +++ description: Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.0:\n- \"0xdfcb4fca3073e3f3a90b05d328688c32619d56f26789c0a9797aa10e765a7807\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.1:\n- \"0xbdec26abd36fde2cfbb8db7a0793a9346b11bd558b39890407d458500711c88c\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.2:\n- \"0xa5f741bfed254a1e21738d429e7bd074e25918af7f71fbe1e0135c3974b06e00\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.3:\n- \"0x3551faac39edee5abfaa19ab065c217db1485aebae255a9edddf6dfff6b29b52\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.4:\n- \"0x13ea9869632ac20b176ae0fdc39998b2a644a695db024ef7fe0e4b3c59084160\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.5:\n- \"0xa096348d480eb0474f5eab182671933c029545521960d87d4e49283005809be9\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.6:\n- \"0xa4eedfc6484494d4c08bfb9b9dd887c6e0540ba9d8ee207fe0e16814852e3356\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.7:\n- \"0xc90e5d2e39d1d3f8397a6048c32ba50139d1577c28985e1f7638785935f41734\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.8:\n- \"0x9546301721e2ea111ab0f79b6e529d6bb6c486ac98bcf7739429ad06c09db63d\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.9:\n- \"0x3f71cf178a032816c2731a43aef746c464a5326e891dc881773ec2b599b2cf0a\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.10:\n- \"0xdcd483d3406d9b1871bb92420f5a080c4372e0d6b8522a4a2cb91a0f736669c6\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.11:\n- \"0x3b589538b775ddbfc5fb028167ff846116159e6687aef9f849ca5a70a7871ea5\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.12:\n- \"0xb09f9005e4612526e378466b5c16ab6028478e81c085812d6ed37166c4cda10e\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.13:\n- \"0x6e43c1d575b5b785d0f6259dfac44998c6f0c164864f9f98270fb740c14eb943\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.14:\n- \"0x631778b0d420d2d0bba4c730b0fd74857afeefb3429371ae97ab450e40ca127e\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.15:\n- \"0x482b06132c4306ea55bc34ff90d46532ff4151f473dbfe4d2cb2442af2ff288b\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.16:\n- \"0xca349ba0dfeced0bd837a56c97417c11e51d490eec4ff08321dd130776a413bd\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.17:\n- \"0xe2375b778ee5700a73c7fcf449abb4a62e00127d324b6694898073ba5aff4f5c\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.18:\n- \"0x67742ab222790e20ba3656b3b294645a3384a5df5a770b86f8c06529523d990e\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.19:\n- \"0xddda8ba9c9153e3d2f680f2f53adbc774a9753cc55d40dde4cb02aef38c42109\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.20:\n- \"0xe5774b71990b0d5f3eca8d4d22546764dd9549c743a1a6d4d4863d97f6b8c67a\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.21:\n- \"0x605ad10c1a56ed7289f198d64a39a952cd3b8a0bed3fcb19c8301c1847dc3a2f\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.22:\n- \"0x59bf7d48610cc8a56ba8a390b68c31a1443297869b174aeacac67dc152820f0e\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.23:\n- \"0xf285b7cbd78d2b96cdc54cfea3e47d8f510a4b4f91b719c97f8bbb90974f805b\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.24:\n- \"0x8f73135b83a84126c7fff37ea02f9363e134aea0f6446b13e198b20d94e75099\"\n+ \"0xdccd8f30ea4a137ddfa63d743e3aa7c7a8e80585912d19c4b66f7d8d6098bec4\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.25:\n- \"0x72258d3cae0e9901d0efc1f630064f1c44f11950bd25fee0b62ec8df84532da2\"\n+ \"0x92dd96a170d1ffb998afa210b3ef8af8c408ab76c4717e0eb8076d4a5da4e740\"\n+++ description: Trusted SGX signer measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrSigners.0:\n- \"0xca0583a715534a8c981b914589a7f0dc5d60959d9ae79fb5353299a4231673d5\"\n+ \"0x48fa5bbad91d274735d238715913c8712a7505bb6d0dd832764bedb46d587013\"\n }\n```\n\n```diff\n- Status: DELETED\n contract QuotaManager (eth:0x91f67118DD47d502B1f0C354D0611997B022f29E) [taiko/QuotaManager]\n +++ description: Defines withdrawal quotas for ETH and ERC20 releases from the shared bridge. A token quota of zero means unlimited withdrawals for that token.\n```\n\n```diff\n- Status: DELETED\n contract TaikoSP1Verifier (eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6) [taiko/SP1Verifier]\n +++ description: Gating router contract to verify batches using SP1.\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 34\n+ 35\n values.proposalIds.34:\n+ \"606634685654739111357042014770979344991156961314\"\n }\n```\n\n```diff\n contract MainnetERC20Vault (eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) [taiko/SharedERC20Vault] {\n +++ description: Shared vault for Taiko chains for bridged ERC20 tokens. Pausing stops token sends, message-triggered releases, and recalls. Released or minted tokens are subject to the configured quota manager.\n sourceHashes.1:\n- \"0x4e0dd5fa918b3b1229feb85baaac3bf6d7fffd21febcdeb7a4f3bf62e22c9031\"\n+ \"0x9b624be34d3f91047fd5ee6a056fd5d81ed43c3ba757e53661aeb4e4dabfe4aa\"\n values.$implementation:\n- \"eth:0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63\"\n+ \"eth:0x024253C6FDC27d3161aFd43fb0241411A28dDc3c\"\n values.$pastUpgrades.8:\n+ [\"2026-06-29T13:18:35.000Z\",\"0xae7122add731c935d54d726ebe542e7d4f9f7321e3bdf4ec794309f813d981f7\",[\"eth:0x024253C6FDC27d3161aFd43fb0241411A28dDc3c\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.addressManager:\n- \"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n values.impl:\n- \"eth:0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63\"\n+ \"eth:0x024253C6FDC27d3161aFd43fb0241411A28dDc3c\"\n values.lastUnpausedAt:\n- 0\n+++ description: Quota manager that rate-limits ERC20 tokens released or minted by this vault.\n values.quotaManager:\n+ \"eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC\"\n values.resolver:\n+ \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n implementationNames.eth:0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63:\n- \"MainnetERC20Vault\"\n implementationNames.eth:0x024253C6FDC27d3161aFd43fb0241411A28dDc3c:\n+ \"MainnetERC20Vault\"\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC\",\"description\":\"consume ERC20 withdrawal quota when tokens leave the vault.\",\"role\":\".erc20Vault\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetVerifier (eth:0x9cAa4948381590900FCdd8a4F06EB24138eD665d) [taiko/MainnetVerifier]\n +++ description: Immutable verifier policy contract for Taiko mainnet. Each accepted proof must contain exactly two ordered sub-proofs: either SGX-GETH plus SGX-RETH/RISC0-RETH/SP1-RETH, or SGX-RETH plus SGX-GETH/RISC0-RETH/SP1-RETH. It routes each sub-proof to the corresponding downstream verifier.\n```\n\n```diff\n contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee\",\"description\":\"register SGX instances after DCAP attestation verification.\",\"role\":\".registrar\"}\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8\",\"description\":\"register SGX instances after DCAP attestation verification.\",\"role\":\".registrar\"}\n receivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\",\"description\":\"pause and unpause signal proof verification.\",\"role\":\".pauser\"}\n receivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC\",\"description\":\"update token withdrawal quotas and the quota refill period.\",\"role\":\".owner\"}\n receivedPermissions.4:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\",\"description\":\"pause and unpause bridge message flows and fund the bridge through direct ETH transfers.\",\"role\":\".pauser\"}\n }\n```\n\n```diff\n contract SignalService (eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) [taiko/SignalService] {\n +++ description: Facilitates secure cross-chain message passing by storing signals and state-root checkpoints. Bridge escrows and other applications use it to prove that a specific L1<->L2 signal or checkpointed state transition occurred via Merkle proofs. Pausing disables signal proof verification.\n sourceHashes.1:\n- \"0x20f8b06e752acd9eaddb6745d7eba47d69302f638a83d0db11476c03ece409d5\"\n+ \"0xfd960cdf5013fd75aa9b95c2a792457825615084b91ef437440d93599aba9de8\"\n values.$implementation:\n- \"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752\"\n+ \"eth:0x1A06832992785766a105838C95c1E13a0045AC85\"\n values.$pastUpgrades.10:\n+ [\"2026-06-29T13:18:35.000Z\",\"0xae7122add731c935d54d726ebe542e7d4f9f7321e3bdf4ec794309f813d981f7\",[\"eth:0x1A06832992785766a105838C95c1E13a0045AC85\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.impl:\n- \"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752\"\n+ \"eth:0x1A06832992785766a105838C95c1E13a0045AC85\"\n values.pauser:\n+ \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n values.VERSION:\n+ 1\n implementationNames.eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752:\n- \"SignalService\"\n implementationNames.eth:0x1A06832992785766a105838C95c1E13a0045AC85:\n+ \"SignalService\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SgxVerifier (eth:0xa1018Ba2e22139076f91dA2A856B2CAB22d968F6) [taiko/SgxVerifier]\n +++ description: Verifier contract for SGX proven blocks. Registered SGX instances can sign accepted proofs until their instance expiry.\n```\n\n```diff\n contract MainnetBridge (eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) [taiko/TaikoBridge] {\n +++ description: Shared bridge escrow for Taiko chains for bridged ETH and arbitrary bridge messages. Pausing stops sending, processing, recalling, retrying, and failing messages. ETH released from the bridge is subject to the configured quota manager.\n sourceHashes.1:\n- \"0xa98023db33dc6ad6957a1c18e9e67712facad7f801f9437a6b05cf48aca80135\"\n+ \"0x61b87867a3f041292eb5da7940c9fc5d33aee32c063a7cf1696beb6eafac4a2b\"\n values.$implementation:\n- \"eth:0x2705B12a971dA766A3f9321a743d61ceAD67dA2F\"\n+ \"eth:0x1c94D798CFA08F396E5BA9F81697289c53273381\"\n values.$pastUpgrades.12:\n+ [\"2026-06-29T13:18:35.000Z\",\"0xae7122add731c935d54d726ebe542e7d4f9f7321e3bdf4ec794309f813d981f7\",[\"eth:0x1c94D798CFA08F396E5BA9F81697289c53273381\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.addressManager:\n- \"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n values.impl:\n- \"eth:0x2705B12a971dA766A3f9321a743d61ceAD67dA2F\"\n+ \"eth:0x1c94D798CFA08F396E5BA9F81697289c53273381\"\n values.lastUnpausedAt:\n- 1716809423\n values.pauser:\n+ \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+++ description: Quota manager that rate-limits ETH released by processed or recalled bridge messages.\n values.quotaManager:\n+ \"eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC\"\n values.resolver:\n+ \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n+++ description: Signal service used to prove cross-chain message delivery and failure signals.\n values.signalService:\n+ \"eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n implementationNames.eth:0x2705B12a971dA766A3f9321a743d61ceAD67dA2F:\n- \"MainnetBridge\"\n implementationNames.eth:0x1c94D798CFA08F396E5BA9F81697289c53273381:\n+ \"MainnetBridge\"\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC\",\"description\":\"consume ETH withdrawal quota when ETH leaves the bridge.\",\"role\":\".bridge\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract L1SharedAddressManager (eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa) [taiko/L1SharedAddressManager]\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.0:\n+ \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SecureSgxVerifier (eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee) [taiko/SgxVerifier]\n +++ description: Verifier contract for SGX proven blocks. Registered SGX instances can sign accepted proofs until their instance expiry.\n```\n\n```diff\n+ Status: CREATED\n contract MainnetVerifier (eth:0x71808449A6217898d602c1a392D95b931Ac5d878) [taiko/MainnetVerifier]\n +++ description: Immutable verifier policy contract for Taiko mainnet. Each accepted proof must contain exactly two ordered sub-proofs: either SGX-GETH plus SGX-RETH/RISC0-RETH/SP1-RETH, or SGX-RETH plus SGX-GETH/RISC0-RETH/SP1-RETH. It routes each sub-proof to the corresponding downstream verifier.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoSP1Verifier (eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F) [taiko/SP1Verifier]\n +++ description: Gating router contract to verify batches using SP1.\n```\n\n```diff\n+ Status: CREATED\n contract DefaultResolver (eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e) [taiko/DefaultResolver]\n +++ description: Maps chainId-name pairs to contract addresses. Bridge and vault contracts resolve their counterparties through this registry, so changes in this mapping effectively act as contract upgrades. The pause function is intentionally disabled in this implementation.\n```\n\n```diff\n+ Status: CREATED\n contract SecureSgxVerifier (eth:0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8) [taiko/SgxVerifier]\n +++ description: Verifier contract for SGX proven blocks. Registered SGX instances can sign accepted proofs until their instance expiry.\n```\n\n```diff\n+ Status: CREATED\n contract QuotaManager (eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC) [taiko/QuotaManager]\n +++ description: Defines withdrawal quotas for ETH and ERC20 releases from the shared bridge. A token quota of zero means unlimited withdrawals for that token.\n```"
}
]
},
{
"id": "38f86423",
"date": "Tue, 23 Jun 2026 08:55:37 GMT",
"timestamp": 1782204489,
"description": "Emergency proposals pause the bridges and deactivate forced transactions and permissionless proposal fallback after a hacker steals USD ~1.7M from the bridges by exploiting bugs in whitelisted SGX programs. \n\nExploiter transaction: https://app.blocksec.com/phalcon/explorer/tx/eth/0x2f44dc1b883522a88f9b0cbbdfabf9ec33884b69dd4326600c3fab7fb2277260. \n\nvulnerable mrEnclaves used:\n- fda8bb1fc9938700c25353c0a5fabc96a238e69ce8e35f08e558831a20db33a6 (geth, old)\n- 8f73135b83a84126c7fff37ea02f9363e134aea0f6446b13e198b20d94e75099 (reth, recent)",
"isHighSeverity": true,
"changeCount": 20,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) [taiko/EmergencyMultisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: total count of encrypted emergency proposals created.\n+++ severity: HIGH\n values.proposalCount:\n- 29\n+ 33\n }\n```\n\n```diff\n contract MainnetInbox (eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f) [taiko/MainnetInboxRestricted] {\n +++ description: [FORCED TRANSACTIONS AND PERMISSIONLESS PROVING ARE DISABLED] The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. It manages bonds, validates batch parameters, and acts as the state machine for the L2.\n template:\n- \"taiko/MainnetInbox\"\n+ \"taiko/MainnetInboxRestricted\"\n sourceHashes.1:\n- \"0xa362200444c4acb7197c44886acc6eb7d90bb3933f19c339e94239e413f132d1\"\n+ \"0xc8fb004590f1c60e5c9735be36da74676fdc93286aa44749d3156ad33bc416e7\"\n description:\n- \"The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. It manages bonds, validates batch parameters, and acts as the state machine for the L2.\"\n+ \"[FORCED TRANSACTIONS AND PERMISSIONLESS PROVING ARE DISABLED] The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. It manages bonds, validates batch parameters, and acts as the state machine for the L2.\"\n values.$implementation:\n- \"eth:0x0680c84378FA6A7D2F46ADa5A70637Fa2A938d42\"\n+ \"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098\"\n values.$pastUpgrades.1:\n+ [\"2026-06-22T09:24:35.000Z\",\"0x2fb71b83b8971dd7bbc174f72ea5d37f57bf20277c406b0d679062b20c348e1d\",[\"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ severity: HIGH\n values.getCurrentForcedInclusionFee:\n- 1000000\n+ 1020000\n values.impl:\n- \"eth:0x0680c84378FA6A7D2F46ADa5A70637Fa2A938d42\"\n+ \"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098\"\n values.noForce:\n+ [true]\n implementationNames.eth:0x0680c84378FA6A7D2F46ADa5A70637Fa2A938d42:\n- \"MainnetInbox\"\n implementationNames.eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098:\n+ \"MainnetInbox\"\n }\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 31\n+ 34\n values.proposalIds.31:\n+ \"606258323829018279630170080852096129484418187295\"\n values.proposalIds.32:\n+ \"606419523753005534282828605203137025379655483424\"\n values.proposalIds.33:\n+ \"606424105314793757798300924445813695132257484833\"\n }\n```\n\n```diff\n contract MainnetERC20Vault (eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) [taiko/SharedERC20Vault] {\n +++ description: Shared vault for Taiko chains for bridged ERC20 tokens.\n values.paused:\n- false\n+ true\n }\n```\n\n```diff\n contract MainnetBridge (eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) [taiko/TaikoBridge] {\n +++ description: Shared bridge escrow for Taiko chains for bridged ETH.\n values.paused:\n- false\n+ true\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\n values.operatorMapping.0:\n- \"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\"\n values.operatorMapping.2:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```"
}
]
},
{
"id": "51371e71",
"date": "Tue, 16 Jun 2026 09:50:07 GMT",
"timestamp": 1781603320,
"description": "Propose 'Enable SP1 v6 on mainnet': new programhashes.",
"isHighSeverity": true,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) [taiko/Multisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n+++ description: total standard proposal count.\n+++ severity: HIGH\n values.proposalCount:\n- 20\n+ 21\n }\n```"
}
]
},
{
"id": "e91cf682",
"date": "Wed, 10 Jun 2026 14:38:24 GMT",
"timestamp": 1781102204,
"description": "Add raiko2 images, proposal https://dao.taiko.xyz/plugins/community-proposals/#/proposals/30 , all regenerated.",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoRisc0Verifier (eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b) [taiko/Risc0Verifier] {\n +++ description: Gating router contract to verify batches using RISC Zero.\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.4:\n+ \"0xbee1be4cbe2bdf9b0034a1ab6572061a76019e73189ff96322e58ab229b75f92\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.5:\n+ \"0xcecc85819e15d173c2991577727525b136e820728f7aaaede612f1281cac2249\"\n }\n```\n\n```diff\n contract TaikoSP1Verifier (eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6) [taiko/SP1Verifier] {\n +++ description: Gating router contract to verify batches using SP1.\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.8:\n+ \"0x0033e2cccc3296e7def7b381a4fb96fafec64f45420b6d24686779ef6236dff1\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.9:\n+ \"0x19f166660ca5b9f75ef670344fb96faf76327a2a082db49150cef3de6236dff1\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.10:\n+ \"0x009d26a03d10b4e70eef6a339187c258a7701d6a0150524684cb46b56cf9e540\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.11:\n+ \"0x4e93501e442d39c35ded4672187c258a3b80eb500541491a09968d6a6cf9e540\"\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x1efDd13f831ceeEa14940806705A53D3211CD698) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).\n```\n\n```diff\n+ Status: CREATED\n contract 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 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 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 RiscZeroVerifierEmergencyStop (eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C) [N/A]\n +++ description: None\n```"
}
]
},
{
"id": "a7291119",
"date": "Tue, 02 Jun 2026 13:04:57 GMT",
"timestamp": 1780405412,
"description": "Operator rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\n values.operatorMapping.1:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n values.operatorMapping.2:\n+ \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```"
}
]
},
{
"id": "ef7a775e",
"date": "Thu, 28 May 2026 10:14:59 GMT",
"timestamp": 1779963216,
"description": "EOA removed from the Risc0 timelock accessControl (Multisig remains). One SC signer changed their local ms signer.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) [global/TimelockController] {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n values.accessControl.PROPOSER_ROLE.members.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n values.accessControl.CANCELLER_ROLE.members.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n values.accessControl.EXECUTOR_ROLE.members.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n values.Canceller.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n values.Executor.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n values.Proposer.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```\n\n```diff\n contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) [GnosisSafe] {\n +++ description: None\n values.$members.4:\n- \"eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n+ \"eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10\"\n }\n```\n\n```diff\n contract Gustavo Gonzalez Taiko (eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x30bc4C0Baf55A37Ccf2d626Bc592bd7715b75De2\"\n+ \"eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10\"\n }\n```\n\n```diff\n contract ProverWhitelist (eth:0xEa798547d97e345395dA071a0D7ED8144CD612Ae) [taiko/ProverWhitelist] {\n +++ description: Defines the whitelist of addresses allowed to prove proposals. Non-whitelisted provers must wait for the permissionless proving delay before they can submit proofs.\n values.proverCount:\n- 1\n+ 2\n }\n```"
}
]
},
{
"id": "3995a8db",
"date": "Thu, 21 May 2026 09:21:30 GMT",
"timestamp": 1779355207,
"description": "Risc0 emergency stop moved from EOA to multisig.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe] {\n +++ description: None\n receivedPermissions.5:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D that allows pausing (emergency stop) the verifier by its owner.\n values.owner:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n EOA (eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412) {\n +++ description: None\n receivedPermissions.5:\n- {\"permission\":\"interact\",\"from\":\"eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n }\n```"
}
]
},
{
"id": "fda1bd4d",
"date": "Tue, 19 May 2026 12:03:01 GMT",
"timestamp": 1779173531,
"description": "config related: add taiko gov details.\n\nnew proposal queued: [raiko2](https://dao.taiko.xyz/plugins/community-proposals/#/proposals/30), updates program hashes",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 30\n+ 31\n values.proposalIds.30:\n+ \"605401718776602992082262606618382736114237571102\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) [taiko/Multisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n+++ description: total standard proposal count.\n+++ severity: HIGH\n values.proposalCount:\n- 19\n+ 20\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract ERC20Vault (taiko:0x1670000000000000000000000000000000000002) [taiko/L2ERC20Vault]\n +++ description: Escrow for L2-native tokens sent to L1 via the canonical bridge.\n```"
}
]
},
{
"id": "2cbb1af9",
"date": "Wed, 13 May 2026 12:35:27 GMT",
"timestamp": 1778675086,
"description": "RiscZeroVerifierRouter: add new multisig as ac admin (was EOA-only before).\n\nL2BEAT removes one safe member from the SC safe.\n\nconfig related: ignore anchor details",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) [global/TimelockController] {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n values.accessControl.PROPOSER_ROLE.members.1:\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.accessControl.CANCELLER_ROLE.members.1:\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.accessControl.EXECUTOR_ROLE.members.1:\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.Canceller.1:\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.Executor.1:\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.Proposer.1:\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n contract L2BEAT (eth:0xf1cF63589A1e012F9124182c9eAa36B5333e5f06) [GnosisSafe] {\n +++ description: None\n values.$members.2:\n- \"eth:0x166868E5AE72592a06056775236d2E4D64CDcCa9\"\n values.multisigThreshold:\n- \"2 of 3 (67%)\"\n+ \"2 of 2 (100%)\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\n values.operatorMapping.1:\n- \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.operatorMapping.2:\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe]\n +++ description: None\n```"
}
]
},
{
"id": "0b48d893",
"date": "Tue, 05 May 2026 06:53:44 GMT",
"timestamp": 1777963387,
"description": "two proposals are executed: \n- emergency, clean up before cleanup: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/29 \n- prop 28, clean up after shasta: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/28\n\nno significant changes.",
"isHighSeverity": true,
"changeCount": 70,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: The total count of encrypted emergency proposals created.\n values.proposalCount:\n- 28\n+ 29\n }\n```\n\n```diff\n contract Taiko Foundation Treasury Multisig (eth:0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da) {\n +++ description: None\n values.$members.1:\n- \"eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n+ \"eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10\"\n }\n```\n\n```diff\n contract TaikoDAOController (eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) {\n +++ description: Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n directlyReceivedPermissions.6:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\",\"description\":\"pause and unpause proofs and verification.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 29\n+ 30\n values.proposalIds.29:\n+ \"604873005729564317786488715670244117998223753245\"\n }\n```\n\n```diff\n contract DAO (eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261) {\n +++ description: The main contract and entrypoint of the Aragon-based DAO governance framework. Fine-grained DAO permissions, proposals, voting and thresholds are configured here.\n receivedPermissions.6:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\",\"description\":\"pause and unpause proofs and verification.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"}]}\n }\n```\n\n```diff\n contract SignalService (eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\n name:\n- \"SignalServiceForkRouter\"\n+ \"SignalService\"\n template:\n- \"taiko/SignalServiceForkRouter\"\n+ \"taiko/SignalService\"\n sourceHashes.1:\n- \"0x48d2edc5c332edbe5587795ecd9c72063d865a58d79f71e4fc30e28e91e88c50\"\n+ \"0x9da4ee2d38b5914e0408dd1d413eef87e7f2ae62c6ca8240e657f4cc8cfaa84c\"\n description:\n- \"Routes to the Shasta SignalService post shasta fork.\"\n+ \"Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\"\n values.$implementation:\n- \"eth:0x6a4B15E4b0296B2ECE03Ee9Ed74E4A3E3ECA68D6\"\n+ \"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752\"\n values.$pastUpgrades.9:\n+ [\"2026-04-30T15:14:11.000Z\",\"0xfcd6ca82025b847a3508db2d3c82327a19e3c4afda867acae8c09da147667036\",[\"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.newFork:\n- \"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752\"\n values.oldFork:\n- \"eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c\"\n values.shastaForkTimestamp:\n- 1775135700\n values.impl:\n+ \"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752\"\n values.inNonReentrant:\n+ false\n values.paused:\n+ false\n values.resolver:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n implementationNames.eth:0x6a4B15E4b0296B2ECE03Ee9Ed74E4A3E3ECA68D6:\n- \"SignalServiceForkRouter\"\n implementationNames.eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752:\n+ \"SignalService\"\n category:\n- {\"name\":\"Spam\",\"priority\":-1}\n }\n```\n\n```diff\n- Status: DELETED\n contract SignalService (eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752)\n +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\n values.operatorMapping.1:\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.operatorMapping.2:\n+ \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```\n\n```diff\n EOA (taiko:0x0000000000000000000000000000000000000000) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28\",\"description\":\"pause and unpause proofs and verification.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract SignalService (taiko:0x1670000000000000000000000000000000000005) {\n +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\n name:\n- \"SignalServiceForkRouter\"\n+ \"SignalService\"\n template:\n- \"taiko/SignalServiceForkRouter\"\n+ \"taiko/SignalService\"\n sourceHashes.1:\n- \"0x48d2edc5c332edbe5587795ecd9c72063d865a58d79f71e4fc30e28e91e88c50\"\n+ \"0x9da4ee2d38b5914e0408dd1d413eef87e7f2ae62c6ca8240e657f4cc8cfaa84c\"\n description:\n- \"Routes to the Shasta SignalService post shasta fork.\"\n+ \"Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\"\n values.$implementation:\n- \"taiko:0x2987F6Bef39b03F8522EC38B36aF0f7422938EAb\"\n+ \"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28\"\n values.$pastUpgrades.2:\n+ [\"2026-04-30T15:37:12.000Z\",\"0xb09a7ea021566fa65e0891d3f45b369f61b639c6ef9b16b0d2a3bd52289bf3de\",[\"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.newFork:\n- \"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28\"\n values.oldFork:\n- \"taiko:0xaea51c413Bd15bBee72737C8094BE942B5208762\"\n values.shastaForkTimestamp:\n- 1775135700\n values.impl:\n+ \"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28\"\n values.inNonReentrant:\n+ false\n values.paused:\n+ false\n values.resolver:\n+ \"taiko:0x0000000000000000000000000000000000000000\"\n implementationNames.taiko:0x2987F6Bef39b03F8522EC38B36aF0f7422938EAb:\n- \"SignalServiceForkRouter\"\n implementationNames.taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28:\n+ \"SignalService\"\n category:\n- {\"name\":\"Spam\",\"priority\":-1}\n }\n```\n\n```diff\n contract Anchor (taiko:0x1670000000000000000000000000000000010001) {\n +++ description: Immutable L2 contract that anchors L1 block details to L2 for cross-layer communication and manages EIP-1559 gas pricing for L2 operations.\n name:\n- \"AnchorForkRouter\"\n+ \"Anchor\"\n template:\n- \"taiko/AnchorForkRouter\"\n+ \"taiko/Anchor\"\n sourceHashes.1:\n- \"0x457bd8a81361da7cd33cf0749e16158c846ae643a1a69451a84aaac7f62cc16b\"\n+ \"0xd28d4f02b54957df5dd4894f6b101e59efaea4c568ce8ea8f87870f81cd977f1\"\n description:\n- \"Routes to the Shasta Anchor contract post shasta fork.\"\n+ \"Immutable L2 contract that anchors L1 block details to L2 for cross-layer communication and manages EIP-1559 gas pricing for L2 operations.\"\n values.$implementation:\n- \"taiko:0x38e4A497aD70aa0581BAc29747b0Ea7a53258585\"\n+ \"taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA\"\n values.$pastUpgrades.6:\n+ [\"2026-04-30T15:37:12.000Z\",\"0xb09a7ea021566fa65e0891d3f45b369f61b639c6ef9b16b0d2a3bd52289bf3de\",[\"taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.newFork:\n- \"taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA\"\n values.oldFork:\n- \"taiko:0xE6d1efcC6AC8969474308C99a3805c332D33a1E0\"\n values.ANCHOR_GAS_LIMIT:\n+ 1000000\n values.checkpointStore:\n+ \"taiko:0x1670000000000000000000000000000000000005\"\n values.getBlockState:\n+ {\"anchorBlockNumber\":25027058,\"ancestorsHash\":\"0x49a7e51364da6ffb3d3bfd3469fa64d0adce9ee57c8bdb658ca014229605b199\"}\n values.GOLDEN_TOUCH_ADDRESS:\n+ \"taiko:0x0000777735367b36bC9B61C50022d9D0700dB4Ec\"\n values.impl:\n+ \"taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA\"\n values.inNonReentrant:\n+ false\n values.l1ChainId:\n+ 1\n values.paused:\n+ false\n values.resolver:\n+ \"taiko:0x0000000000000000000000000000000000000000\"\n implementationNames.taiko:0x38e4A497aD70aa0581BAc29747b0Ea7a53258585:\n- \"AnchorForkRouter\"\n implementationNames.taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA:\n+ \"Anchor\"\n category.name:\n- \"Spam\"\n+ \"Local Infrastructure\"\n category.priority:\n- -1\n+ 5\n }\n```\n\n```diff\n- Status: DELETED\n contract SignalService (taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28)\n +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\n```\n\n```diff\n- Status: DELETED\n contract Anchor (taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA)\n +++ description: Immutable L2 contract that anchors L1 block details to L2 for cross-layer communication and manages EIP-1559 gas pricing for L2 operations.\n```\n\n```diff\n contract DelegateController (taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C) {\n +++ description: Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n directlyReceivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"taiko:0x1670000000000000000000000000000000000005\",\"description\":\"pause and unpause proofs and verification.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10)\n +++ description: None\n```"
}
]
},
{
"id": "2011675c",
"date": "Wed, 22 Apr 2026 13:12:09 GMT",
"timestamp": 1776863372,
"description": "last admin upgrade perms are txfered to the DAO upgrade module.\nall vanilla upgrades are now in hands of dao with delay or SC with no delay.\nno risk change since proof system is closed.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract MainnetInbox (eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f) {\n +++ description: The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. It manages bonds, validates batch parameters, and acts as the state machine for the L2.\n values.$admin:\n- \"eth:0xF14Dc4EdDb43e9a6A440e6beC97ea2ea64f39Ef7\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0xF14Dc4EdDb43e9a6A440e6beC97ea2ea64f39Ef7\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.pendingOwner:\n- \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n contract TaikoDAOController (eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) {\n +++ description: Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n directlyReceivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f\",\"description\":\"pause and unpause the rollup system.\",\"role\":\".owner\"}\n directlyReceivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract DAO (eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261) {\n +++ description: The main contract and entrypoint of the Aragon-based DAO governance framework. Fine-grained DAO permissions, proposals, voting and thresholds are configured here.\n receivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f\",\"description\":\"pause and unpause the rollup system.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"}]}\n receivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract Safe (eth:0xF14Dc4EdDb43e9a6A440e6beC97ea2ea64f39Ef7)\n +++ description: None\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\n values.operatorMapping.0:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```"
}
]
},
{
"id": "3787d87a",
"date": "Mon, 20 Apr 2026 11:13:29 GMT",
"timestamp": 1776683523,
"description": "Taiko added SP1 6.1 verifier.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SP1VerifierGateway (eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e) {\n +++ description: This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n+++ description: Verifiers that are routed to by their selector and not frozen.\n values.activeVerifiers.2:\n+ {\"selector\":\"0x5a093a2f\",\"verifier\":\"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A\"}\n+++ description: All verifiers that were ever routed to by this gateway.\n values.allVerifiers.11:\n+ {\"selector\":\"0x5a093a2f\",\"verifier\":\"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A)\n +++ description: None\n```"
}
]
},
{
"id": "613479a6",
"date": "Thu, 09 Apr 2026 15:19:53 GMT",
"timestamp": 1775747881,
"description": "add new mainnet inbox and ignore old one. i overlooked the new inbox pre-shasta because there were no refs and the old inbox also got an upgrade.",
"isHighSeverity": true,
"changeCount": 83,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoRisc0Verifier (eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b) {\n +++ description: Gating router contract to verify batches using RISC Zero.\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.2:\n+ \"0x46efe5e0c74976548ee6856789fbfb4929b8f2f9118a119c57ced6e1062e727b\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.3:\n+ \"0xdfbce2039ad8b78b236b5a9dceba5d8cee0d9e4638fc8f1fe11a0b2d8bfa039e\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.4:\n+ \"0x398be8424f27802b38e6e8d3413bf6a0b187349e68522a218f5bfc00279006ac\"\n }\n```\n\n```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: The total count of encrypted emergency proposals created.\n values.proposalCount:\n- 27\n+ 28\n }\n```\n\n```diff\n contract MainnetInbox (eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f) {\n +++ description: The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. It manages bonds, validates batch parameters, and acts as the state machine for the L2.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.24:\n+ \"0x8f73135b83a84126c7fff37ea02f9363e134aea0f6446b13e198b20d94e75099\"\n values.mrEnclaves.25:\n+ \"0x72258d3cae0e9901d0efc1f630064f1c44f11950bd25fee0b62ec8df84532da2\"\n }\n```\n\n```diff\n contract TaikoSP1Verifier (eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6) {\n +++ description: Gating router contract to verify batches using SP1.\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.4:\n+ \"0x0079682c7b5af614273de79761aaad20d1c8e1a65091388b81be836632d382f8\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.5:\n+ \"0x3cb4163d56bd850967bcf2ec1aaad20d0e470d324244e22e037d06cc32d382f8\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.6:\n+ \"0x0002ac747570512099ca19c17f5a3b9f39697e5617a19ff2f2b2464229a50c7c\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.7:\n+ \"0x01563a3a5c1448263943382f75a3b9f34b4bf2b05e867fcb65648c8429a50c7c\"\n }\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 27\n+ 29\n values.proposalIds.27:\n+ \"604072306347775205060623596830012262580693762075\"\n values.proposalIds.28:\n+ \"604252334775688929080375373293834029676709806108\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 18\n+ 19\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\n values.latestActivationEpoch:\n- 0\n+ 1775558231\n values.operatorMapping.0:\n+ \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```\n\n```diff\n EOA (taiko:0x0000000000000000000000000000000000000000) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28\",\"description\":\"pause and unpause proofs and verification.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract SignalServiceForkRouter (taiko:0x1670000000000000000000000000000000000005) {\n +++ description: Routes to the Shasta SignalService post shasta fork.\n name:\n- \"SignalService\"\n+ \"SignalServiceForkRouter\"\n template:\n- \"taiko/L2SignalService\"\n+ \"taiko/SignalServiceForkRouter\"\n sourceHashes.1:\n- \"0xe8788984d5d121a0c1b2a1f177ae2bf142631d845ff8cabda588ae96c9b63038\"\n+ \"0x48d2edc5c332edbe5587795ecd9c72063d865a58d79f71e4fc30e28e91e88c50\"\n values.$implementation:\n- \"taiko:0xaea51c413Bd15bBee72737C8094BE942B5208762\"\n+ \"taiko:0x2987F6Bef39b03F8522EC38B36aF0f7422938EAb\"\n values.$pastUpgrades.1:\n+ [\"2026-04-02T14:02:23.000Z\",\"0xd8f236e03789398270e7144a8b4456279ae6c82a44334fec3fb9d97bcc7c12d1\",[\"taiko:0x2987F6Bef39b03F8522EC38B36aF0f7422938EAb\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.authorizedRelayers:\n- []\n values.impl:\n- \"taiko:0xaea51c413Bd15bBee72737C8094BE942B5208762\"\n values.inNonReentrant:\n- false\n values.paused:\n- false\n values.resolver:\n- \"taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8\"\n values.newFork:\n+ \"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28\"\n values.oldFork:\n+ \"taiko:0xaea51c413Bd15bBee72737C8094BE942B5208762\"\n values.shastaForkTimestamp:\n+ 1775135700\n implementationNames.taiko:0xaea51c413Bd15bBee72737C8094BE942B5208762:\n- \"SignalService\"\n implementationNames.taiko:0x2987F6Bef39b03F8522EC38B36aF0f7422938EAb:\n+ \"SignalServiceForkRouter\"\n description:\n+ \"Routes to the Shasta SignalService post shasta fork.\"\n category:\n+ {\"name\":\"Spam\",\"priority\":-1}\n }\n```\n\n```diff\n contract AnchorForkRouter (taiko:0x1670000000000000000000000000000000010001) {\n +++ description: Routes to the Shasta Anchor contract post shasta fork.\n name:\n- \"TaikoAnchor\"\n+ \"AnchorForkRouter\"\n template:\n- \"taiko/TaikoAnchor\"\n+ \"taiko/AnchorForkRouter\"\n sourceHashes.1:\n- \"0x3b17f3b24c2a1ab8b2cc942628d831d030a6c4a03ae0c5fb548b7142843c4e6d\"\n+ \"0x457bd8a81361da7cd33cf0749e16158c846ae643a1a69451a84aaac7f62cc16b\"\n description:\n- \"Handles cross-layer message verification and manages EIP-1559 gas pricing for L2 operations. Anchors L1 block details to L2 for cross-layer communication.\"\n+ \"Routes to the Shasta Anchor contract post shasta fork.\"\n values.$implementation:\n- \"taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"\n+ \"taiko:0x38e4A497aD70aa0581BAc29747b0Ea7a53258585\"\n values.$pastUpgrades.5:\n+ [\"2026-04-02T14:02:23.000Z\",\"0xd8f236e03789398270e7144a8b4456279ae6c82a44334fec3fb9d97bcc7c12d1\",[\"taiko:0x38e4A497aD70aa0581BAc29747b0Ea7a53258585\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.BASEFEE_MIN_VALUE:\n- 10000000\n values.GOLDEN_TOUCH_ADDRESS:\n- \"taiko:0x0000777735367b36bC9B61C50022d9D0700dB4Ec\"\n values.impl:\n- \"taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"\n values.inNonReentrant:\n- false\n values.isOnL1:\n- false\n values.l1ChainId:\n- 1\n values.pacayaForkHeight:\n- 1166000\n values.parentGasExcess:\n- 1344899430\n values.parentGasTarget:\n- 40000000\n values.paused:\n- false\n values.proxiableUUID:\n- \"EXPECT_REVERT\"\n values.resolver:\n- \"taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8\"\n values.signalService:\n- \"taiko:0x1670000000000000000000000000000000000005\"\n values.skipFeeCheck:\n- false\n values.newFork:\n+ \"taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA\"\n values.oldFork:\n+ \"taiko:0xE6d1efcC6AC8969474308C99a3805c332D33a1E0\"\n implementationNames.taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9:\n- \"TaikoAnchor\"\n implementationNames.taiko:0x38e4A497aD70aa0581BAc29747b0Ea7a53258585:\n+ \"AnchorForkRouter\"\n category:\n+ {\"name\":\"Spam\",\"priority\":-1}\n }\n```\n\n```diff\n- Status: DELETED\n contract DefaultResolver (taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n contract DelegateController (taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C) {\n +++ description: Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n directlyReceivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n directlyReceivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8\",\"role\":\"admin\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract SignalService (taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28)\n +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\n```\n\n```diff\n+ Status: CREATED\n contract Anchor (taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA)\n +++ description: Immutable L2 contract that anchors L1 block details to L2 for cross-layer communication and manages EIP-1559 gas pricing for L2 operations.\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459)\n +++ description: Verifier contract for SP1 proofs (v5.0.0).\n```\n\n```diff\n+ Status: CREATED\n contract TaikoRisc0Verifier (eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b)\n +++ description: Gating router contract to verify batches using RISC Zero.\n```\n\n```diff\n+ Status: CREATED\n contract SgxVerifier (eth:0x08568Df252ecf37D6C3eFD24f6ca3688118697F1)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711)\n +++ description: A timelock with access control. The current minimum delay is 3d.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D)\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 3.0.0).\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGateway (eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e)\n +++ description: This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n```\n\n```diff\n+ Status: CREATED\n contract MainnetInbox (eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f)\n +++ description: The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. It manages bonds, validates batch parameters, and acts as the state machine for the L2.\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C)\n +++ description: Verifier contract for SP1 proofs (v6.0.0).\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierRouter (eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319)\n +++ description: A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711).\n```\n\n```diff\n+ Status: CREATED\n contract TaikoSP1Verifier (eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6)\n +++ description: Gating router contract to verify batches using SP1.\n```\n\n```diff\n+ Status: CREATED\n contract MainnetVerifier (eth:0x9cAa4948381590900FCdd8a4F06EB24138eD665d)\n +++ description: Enforces the Taiko Multiprover policy and routes to the downstream router contracts.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696)\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 SgxVerifier (eth:0xa1018Ba2e22139076f91dA2A856B2CAB22d968F6)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGatewayMultisig (eth:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProverWhitelist (eth:0xEa798547d97e345395dA071a0D7ED8144CD612Ae)\n +++ description: Defines the whitelist of addresses allowed to prove proposals. Non-whitelisted provers must wait for the permissionless proving delay before they can submit proofs.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0xF14Dc4EdDb43e9a6A440e6beC97ea2ea64f39Ef7)\n +++ description: None\n```"
}
]
},
{
"id": "3bedf566",
"date": "Thu, 02 Apr 2026 13:24:32 GMT",
"timestamp": 1775136182,
"description": "SC review: https://gist.github.com/sekuba/63e456c08ef9b36bce08546957324662\nblog post: https://paragraph.com/@taiko-labs/achieving-stage-1-shasta-is-almost-here\n\n- [MainnetInbox](https://disco.l2beat.com/diff/eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5/eth:0x38dd73fed93f8051e7a0ddd6fb3b9e7c25668187)\n- [MainnetSignalService](https://disco.l2beat.com/diff/eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c/eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752)\n- [PreconfWhitelist](https://disco.l2beat.com/diff/eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc/eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149)\n\nShasta is mainly refactoring the core protocol to be simpler and more efficient, the proof system remains closed and SGX.",
"isHighSeverity": true,
"changeCount": 63,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1 (eth:0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. It manages L1 liveness bonds, validates batch parameters, and acts as the state machine for the L2.\n sourceHashes.1:\n- \"0x2fc623a8d2d43eaa7b59707ea9d1f766608b3626be55f68a9617b218e44b3cd5\"\n+ \"0x0ac653f7058ad40c6ffac7239e47de4da0e6cb079cc88095eb2be8e359c25ef2\"\n values.$implementation:\n- \"eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5\"\n+ \"eth:0x38Dd73fed93F8051E7A0dDd6FB3b9E7C25668187\"\n values.$pastUpgrades.30:\n+ [\"2026-03-31T13:44:47.000Z\",\"0xb132692b255fb1ff670b37d162af03de5151fa1e77811bf009ba276e4a9a2f36\",[\"eth:0x38Dd73fed93F8051E7A0dDd6FB3b9E7C25668187\"]]\n values.$upgradeCount:\n- 30\n+ 31\n values.impl:\n- \"eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5\"\n+ \"eth:0x38Dd73fed93F8051E7A0dDd6FB3b9E7C25668187\"\n values.shastaForkTimestamp:\n+ 1775135700\n implementationNames.eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5:\n- \"MainnetInbox\"\n implementationNames.eth:0x38Dd73fed93F8051E7A0dDd6FB3b9E7C25668187:\n+ \"MainnetInbox\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.3:\n+ \"0xd1f43acede51c4eb2f66b86cce52682edad80b810b9d87fba3a9b67254c91b77\"\n }\n```\n\n```diff\n contract TaikoDAOController (eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) {\n +++ description: Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n directlyReceivedPermissions.6:\n- {\"permission\":\"interact\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n directlyReceivedPermissions.10:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"description\":\"pause/unpause, manage operator and ejector roles.\",\"role\":\".owner\"}\n directlyReceivedPermissions.19:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.22:\n+ \"0x59bf7d48610cc8a56ba8a390b68c31a1443297869b174aeacac67dc152820f0e\"\n values.mrEnclaves.23:\n+ \"0xf285b7cbd78d2b96cdc54cfea3e47d8f510a4b4f91b719c97f8bbb90974f805b\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DefaultResolver (eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"description\":\"manage the ejecter role\",\"role\":\"._ejectorManager\"}]\n }\n```\n\n```diff\n contract DAO (eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261) {\n +++ description: The main contract and entrypoint of the Aragon-based DAO governance framework. Fine-grained DAO permissions, proposals, voting and thresholds are configured here.\n receivedPermissions.6:\n- {\"permission\":\"interact\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"description\":\"pause/unpause, manage operator and ejector roles.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"}]}\n receivedPermissions.20:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"}]}\n }\n```\n\n```diff\n contract SignalServiceForkRouter (eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: Routes to the Shasta SignalService post shasta fork.\n name:\n- \"MainnetSignalService\"\n+ \"SignalServiceForkRouter\"\n template:\n- \"taiko/_preShastaTemplates/SignalService\"\n+ \"taiko/SignalServiceForkRouter\"\n sourceHashes.1:\n- \"0xc978dbfc097ca447823c4a1eb83078cd63532727420b19287acc0f87e884285f\"\n+ \"0x48d2edc5c332edbe5587795ecd9c72063d865a58d79f71e4fc30e28e91e88c50\"\n description:\n- \"The SignalService contract serves as cross-chain message passing system. It defines methods for sending and verifying signals with merkle proofs.\"\n+ \"Routes to the Shasta SignalService post shasta fork.\"\n values.$implementation:\n- \"eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c\"\n+ \"eth:0x6a4B15E4b0296B2ECE03Ee9Ed74E4A3E3ECA68D6\"\n values.$pastUpgrades.8:\n+ [\"2026-03-31T13:44:47.000Z\",\"0xb132692b255fb1ff670b37d162af03de5151fa1e77811bf009ba276e4a9a2f36\",[\"eth:0x6a4B15E4b0296B2ECE03Ee9Ed74E4A3E3ECA68D6\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.impl:\n- \"eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c\"\n values.inNonReentrant:\n- false\n values.paused:\n- false\n values.proxiableUUID:\n- \"EXPECT_REVERT\"\n values.resolver:\n- \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n values.newFork:\n+ \"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752\"\n values.oldFork:\n+ \"eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c\"\n values.shastaForkTimestamp:\n+ 1775135700\n implementationNames.eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c:\n- \"MainnetSignalService\"\n implementationNames.eth:0x6a4B15E4b0296B2ECE03Ee9Ed74E4A3E3ECA68D6:\n+ \"SignalServiceForkRouter\"\n }\n```\n\n```diff\n contract Gustavo Gonzalez Taiko (eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a) {\n +++ description: None\n values.$members.3:\n- \"eth:0x7Cdd1c128Cd72dd252f569eeD942735330937F91\"\n values.multisigThreshold:\n- \"4 of 6 (67%)\"\n+ \"4 of 5 (80%)\"\n }\n```\n\n```diff\n EOA (eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d) {\n +++ description: None\n receivedPermissions.0.role:\n- \".getOperatorCandidatesForCurrentEpoch\"\n+ \".operatorMapping\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\n template:\n- \"taiko/_preShastaTemplates/PreconfWhitelist\"\n+ \"taiko/PreconfWhitelist\"\n sourceHashes.1:\n- \"0x93a254bb5914a81cd902577cdafd323639e44227fdae5e14aa14fd47e1440063\"\n+ \"0x974afbdcc80d21c6158c6eb226d4a8b02a6041f7b8e9affd849a300ce70e21ef\"\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\"\n values.$implementation:\n- \"eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc\"\n+ \"eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149\"\n values.$pastUpgrades.3:\n+ [\"2026-03-31T13:44:47.000Z\",\"0xb132692b255fb1ff670b37d162af03de5151fa1e77811bf009ba276e4a9a2f36\",[\"eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.getOperatorCandidatesForCurrentEpoch:\n- [\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"]\n values.getOperatorCandidatesForNextEpoch:\n- [\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"]\n values.havingPerfectOperators:\n- false\n values.impl:\n- \"eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc\"\n+ \"eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149\"\n values.operatorChangeDelay:\n- 2\n values.randomnessDelay:\n- 2\n values.registeredOperators:\n- [{\"proposer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\",\"sequencer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"},{\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}]\n values.registeredOperatorsCount:\n- 2\n values._ejectorManager:\n+ \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n values.latestActivationEpoch:\n+ 0\n values.OPERATOR_CHANGE_DELAY:\n+ 2\n values.operatorMapping:\n+ [\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\"]\n values.RANDOMNESS_DELAY:\n+ 2\n fieldMeta.havingPerfectOperators:\n- {\"description\":\"tells the contract whether it can safely pick a random operator using a simple mathematical operation, or if it needs to perform a more expensive \\\"loop-and-check\\\" operation\"}\n fieldMeta.paused:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc:\n- \"PreconfWhitelist\"\n implementationNames.eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149:\n+ \"PreconfWhitelist\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SignalService (eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752)\n +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\n```"
}
]
},
{
"id": "61693d6a",
"date": "Tue, 24 Mar 2026 11:59:30 GMT",
"timestamp": 1774353478,
"description": "operator changes.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n }\n```"
}
]
},
{
"id": "e0469acf",
"date": "Mon, 16 Mar 2026 13:00:22 GMT",
"timestamp": 1773665926,
"description": "shasta proposal proceeds to public veto phase\n\nproposal: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/26\n\nreview: https://gist.github.com/sekuba/63e456c08ef9b36bce08546957324662",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 26\n+ 27\n values.proposalIds.26:\n+ \"603470345479562597234986338918793351448504565786\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 17\n+ 18\n }\n```"
}
]
},
{
"id": "af40d70c",
"date": "Fri, 06 Mar 2026 09:41:48 GMT",
"timestamp": 1772790015,
"description": "veto period 21d -> 10d.\n\nhttps://dao.taiko.xyz/plugins/community-proposals/#/proposals/25",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.lastMultisigSettingsChange:\n- 22574240\n+ 24588180\n values.multisigSettings.destinationProposalDuration:\n- 1814400\n+ 864000\n }\n```"
}
]
},
{
"id": "8761c59f",
"date": "Wed, 04 Mar 2026 09:00:02 GMT",
"timestamp": 1772614552,
"description": "operator change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n values.operatorCount:\n- 4\n+ 3\n }\n```"
}
]
},
{
"id": "afada561",
"date": "Mon, 02 Mar 2026 14:06:19 GMT",
"timestamp": 1772460290,
"description": "DelegateController (proxy) on taiko verified.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n values.operatorCount:\n- 3\n+ 4\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n contract DelegateController (taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C) {\n +++ description: None\n unverified:\n- true\n sourceHashes.0:\n- null\n+ \"0xc44a84c18fe7660acbe7750e0a14401b3a0a0ad97d8c81305bd879dca88d873b\"\n implementationNames.taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C:\n- \"\"\n+ \"ERC1967Proxy\"\n }\n```"
}
]
},
{
"id": "4a35c9e2",
"date": "Thu, 26 Feb 2026 06:51:07 GMT",
"timestamp": 1772088580,
"description": "rotate operators.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"sequence\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"role\":\".getOperatorCandidatesForCurrentEpoch\"}]\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n values.operatorCount:\n- 4\n+ 3\n }\n```"
}
]
},
{
"id": "5b97feba",
"date": "Thu, 19 Feb 2026 09:46:59 GMT",
"timestamp": 1771493932,
"description": "operator rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"sequence\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"role\":\".getOperatorCandidatesForCurrentEpoch\"}]\n }\n```"
}
]
},
{
"id": "33092454",
"date": "Wed, 11 Feb 2026 13:18:12 GMT",
"timestamp": 1770815650,
"description": "fee proposal executed: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/24\n\nvoting period proposal moves to optimistic phase: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/25\n\nTaikoAnchor fee changes: https://disco.l2beat.com/diff/taiko:0xE6d1efcC6AC8969474308C99a3805c332D33a1E0/taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 25\n+ 26\n values.proposalIds.25:\n+ \"602381146540321106777275740158610369409831665689\"\n }\n```\n\n```diff\n contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7Cdd1c128Cd72dd252f569eeD942735330937F91\"\n values.$threshold:\n- 5\n+ 4\n values.multisigThreshold:\n- \"5 of 7 (71%)\"\n+ \"4 of 6 (67%)\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 16\n+ 17\n }\n```\n\n```diff\n contract TaikoAnchor (taiko:0x1670000000000000000000000000000000010001) {\n +++ description: Handles cross-layer message verification and manages EIP-1559 gas pricing for L2 operations. Anchors L1 block details to L2 for cross-layer communication.\n sourceHashes.1:\n- \"0x94dfc8c1aa6a1ce9447da9bf865b6e827ffe8c9cb0b08e4d7c7589b8c4193134\"\n+ \"0x3b17f3b24c2a1ab8b2cc942628d831d030a6c4a03ae0c5fb548b7142843c4e6d\"\n values.$implementation:\n- \"taiko:0xE6d1efcC6AC8969474308C99a3805c332D33a1E0\"\n+ \"taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"\n values.$pastUpgrades.4:\n+ [\"2026-02-11T02:45:07.000Z\",\"0xd044da28e6a74c63e79bcf8ac14fec397dae61afc9166ca7754af5e0b6e5c7fb\",[\"taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.BASEFEE_MIN_VALUE:\n- 25000000\n+ 10000000\n values.impl:\n- \"taiko:0xE6d1efcC6AC8969474308C99a3805c332D33a1E0\"\n+ \"taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"\n implementationNames.taiko:0xE6d1efcC6AC8969474308C99a3805c332D33a1E0:\n- \"TaikoAnchor\"\n implementationNames.taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9:\n+ \"TaikoAnchor\"\n }\n```"
}
]
},
{
"id": "ab50026d",
"date": "Mon, 02 Feb 2026 14:13:29 GMT",
"timestamp": 1770041480,
"description": "operator rotation.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.3:\n- \"eth:0x1eE487CEdCe52c370DB11e62987F3ABe873E145A\"\n+ \"eth:0xCf76A87E24FE2054DCF02a5f65eAc0F24A34c439\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n values.operatorCount:\n- 3\n+ 4\n }\n```"
}
]
},
{
"id": "72e21d16",
"date": "Mon, 26 Jan 2026 13:03:00 GMT",
"timestamp": 1769432500,
"description": "Operator removed, our event-based count shows 1 operator less.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\n values.operatorCount:\n- 4\n+ 3\n }\n```"
}
]
},
{
"id": "6defe874",
"date": "Wed, 21 Jan 2026 12:55:23 GMT",
"timestamp": 1768999626,
"description": "gattaca added to SC: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/23 .",
"isHighSeverity": false,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SignerList (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) {\n +++ description: A signer list for registering agents, similar to a Multisig.\n values.addresslistLength:\n- 8\n+ 9\n values.getEncryptionAgents.0:\n+ \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n values.getEncryptionAgents.7:\n- \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n+ \"eth:0xc4414B079bC4A013916B3dc241555F6f505c1619\"\n }\n```\n\n```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n values.lastMultisigSettingsChange:\n- 22574240\n+ 24269141\n values.multisigSettings.minApprovals:\n- 6\n+ 7\n }\n```\n\n```diff\n contract EncryptionRegistry (eth:0x2eFDb93a3B87b930E553d504db67Ee41c69C42d1) {\n +++ description: A registry for signers (of the Security Council) to appoint agents to operate on their behalf. These agents can also register their encryption keys for encrypted emergency proposal support.\n values.accountList.0:\n- \"eth:0x85f21919ed6046d7CE1F36a613eBA8f5EaC3d070\"\n+ \"eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a\"\n values.accountList.8:\n- \"eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a\"\n values.accountList.9:\n- \"eth:0xD5cF6A34Ba5fb9289510dC93c03F1f9084798487\"\n+ \"eth:0x6268d189E011Aa53A2f09A1FE159445BeB3d878E\"\n values.getRegisteredAccounts.0:\n- \"eth:0x85f21919ed6046d7CE1F36a613eBA8f5EaC3d070\"\n+ \"eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a\"\n values.getRegisteredAccounts.8:\n- \"eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a\"\n values.getRegisteredAccounts.9:\n- \"eth:0xD5cF6A34Ba5fb9289510dC93c03F1f9084798487\"\n+ \"eth:0x6268d189E011Aa53A2f09A1FE159445BeB3d878E\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Safe (eth:0xD5cF6A34Ba5fb9289510dC93c03F1f9084798487)\n +++ description: None\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Gattaca (eth:0x6268d189E011Aa53A2f09A1FE159445BeB3d878E)\n +++ description: None\n```"
}
]
},
{
"id": "c1390593",
"date": "Wed, 14 Jan 2026 06:28:29 GMT",
"timestamp": 1768372024,
"description": "New standard proposal: lower hardcoded basefee by 2.5x: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/24 .",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 24\n+ 25\n values.proposalIds.24:\n+ \"601724541768498866969402779460601617583941091352\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 15\n+ 16\n }\n```"
}
]
},
{
"id": "ec630b1a",
"date": "Wed, 07 Jan 2026 14:29:19 GMT",
"timestamp": 1767795947,
"description": "agent of one SC member updated. new proposal up targeting the gas config.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SignerList (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) {\n +++ description: A signer list for registering agents, similar to a Multisig.\n values.getEncryptionAgents.7:\n- \"eth:0xf0A0d6Bd4aA94F53F3FB2c88488202a9E9eD2c55\"\n+ \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 14\n+ 15\n }\n```"
}
]
},
{
"id": "9864b5eb",
"date": "Mon, 22 Dec 2025 13:12:17 GMT",
"timestamp": 1766409056,
"description": "operator rotation.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 23\n+ 24\n values.proposalIds.23:\n+ \"601076267109018851735115853749277719853690519575\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n values.registeredOperators.1:\n- {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n values.registeredOperators.2:\n+ {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n }\n```"
}
]
},
{
"id": "8b2adce4",
"date": "Mon, 15 Dec 2025 07:35:28 GMT",
"timestamp": 1765784042,
"description": "new proposal: add gattaca to sc and increase emergency threshold from 6 to 7/9.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: The total count of encrypted emergency proposals created.\n values.proposalCount:\n- 26\n+ 27\n }\n```\n\n```diff\n- Status: DELETED\n contract ProverSet (eth:0x9B17fdA35eD7EB7bB11a73AB69D0462045364514)\n +++ description: An operator proxy used by the Taiko team for operating (proposing, proving) the based rollup from permissioned addresses.\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 13\n+ 14\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (eth:0xEdB91449947ca7d74243Af9b39DCbb4D86F636c0)\n +++ description: None\n```"
}
]
},
{
"id": "c05b5238",
"date": "Thu, 11 Dec 2025 14:53:07 GMT",
"timestamp": 1765464471,
"description": "Operator changes.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 1 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n values.operatorCount:\n- 2\n+ 4\n values.registeredOperators.1:\n+ {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n values.registeredOperators.2:\n+ {\"proposer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\",\"sequencer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"}\n values.registeredOperatorsCount:\n- 1\n+ 3\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (eth:0x9B17fdA35eD7EB7bB11a73AB69D0462045364514)\n +++ description: An operator proxy used by the Taiko team for operating (proposing, proving) the based rollup from permissioned addresses.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (eth:0xEdB91449947ca7d74243Af9b39DCbb4D86F636c0)\n +++ description: None\n```"
}
]
},
{
"id": "c074de1f",
"date": "Thu, 04 Dec 2025 10:07:59 GMT",
"timestamp": 1764841913,
"description": "execution of a standard upgrade via governance. targeting the proof system: https://gist.github.com/sekuba/46d7bcab5127c0ed6e0d66ce285b0559\n\nTEE config and zk program hashes updated.\n\nusual operator changes.",
"isHighSeverity": true,
"changeCount": 30,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AutomataDcapV3Attestation (eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.2:\n+ \"0x3e6113a23bbdf9231520153253047d02db8f1dd38a9b52914ab7943278f52db0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroGroth16Verifier (eth:0x34Eda8BfFb539AeC33078819847B36D221c6641c)\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n```\n\n```diff\n contract Risc0VerifierGateway (eth:0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE) {\n +++ description: Entry contract to verify batches using RISC Zero.\n values.$implementation:\n- \"eth:0x3dEF88e306E449c6Abf9AaD8038C95d11Bb0b614\"\n+ \"eth:0xDF6327caafC5FeB8910777Ac811e0B1d27dCdf36\"\n values.$pastUpgrades.3:\n+ [\"2025-12-04T02:13:59.000Z\",\"0xbdd083f6c9905230ec66b00863175112f2dbad532a6bd34d5982752587d1c5dd\",[\"eth:0xDF6327caafC5FeB8910777Ac811e0B1d27dCdf36\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.impl:\n- \"eth:0x3dEF88e306E449c6Abf9AaD8038C95d11Bb0b614\"\n+ \"eth:0xDF6327caafC5FeB8910777Ac811e0B1d27dCdf36\"\n values.riscoGroth16Verifier:\n- \"eth:0x34Eda8BfFb539AeC33078819847B36D221c6641c\"\n+ \"eth:0x7CCA385bdC790c25924333F5ADb7F4967F5d1599\"\n+++ description: Image IDs (i.e. program digest) of Risc0 programs trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.8:\n+ \"0x3d933868e2ac698df98209b45e6c34c435df2d3c97754bb6739d541d5fd312e3\"\n+++ description: Image IDs (i.e. program digest) of Risc0 programs trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.9:\n+ \"0x77ff0953ded4fb48bb52b1099cc36c6b8bf603dc4ed9211608c039c7ec31b82b\"\n implementationNames.eth:0x3dEF88e306E449c6Abf9AaD8038C95d11Bb0b614:\n- \"Risc0Verifier\"\n implementationNames.eth:0xDF6327caafC5FeB8910777Ac811e0B1d27dCdf36:\n+ \"Risc0Verifier\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.20:\n+ \"0xe5774b71990b0d5f3eca8d4d22546764dd9549c743a1a6d4d4863d97f6b8c67a\"\n values.mrEnclaves.21:\n+ \"0x605ad10c1a56ed7289f198d64a39a952cd3b8a0bed3fcb19c8301c1847dc3a2f\"\n }\n```\n\n```diff\n contract SP1VerifierGateway (eth:0xbee1040D0Aab17AE19454384904525aE4A3602B9) {\n +++ description: Entry contract to verify batches using SP1.\n+++ description: Program hashes of SP1 programs trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains program hash data within them.\n+++ severity: HIGH\n values.trustedPrograms.12:\n+ \"0x008f96447139673b3f2d29b30ad4b43fe6ccb3f31d40f6e61478ac5640201d9e\"\n+++ description: Program hashes of SP1 programs trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains program hash data within them.\n+++ severity: HIGH\n values.trustedPrograms.13:\n+ \"0x47cb22384e59cecf65a536612d4b43fe36659f987503db9828f158ac40201d9e\"\n+++ description: Program hashes of SP1 programs trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains program hash data within them.\n+++ severity: HIGH\n values.trustedPrograms.14:\n+ \"0x00a32a15ab7a74a9a79f3b97a71d1b014cd4361b37819004b9322b502b5f5be1\"\n+++ description: Program hashes of SP1 programs trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains program hash data within them.\n+++ severity: HIGH\n values.trustedPrograms.15:\n+ \"0x51950ad55e9d2a6973e772f471d1b01466a1b0d95e064012726456a02b5f5be1\"\n }\n```\n\n```diff\n contract PreconfRouter (eth:0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a) {\n +++ description: Entry point for batch proposals under the pre-confirmation architecture. It allows batches to be proposed only by whitelisted addresses.\n sourceHashes.1:\n- \"0x34a58f3c77d5666ec8a39b17ab327273604248af9004c771429a4413b09e20dd\"\n+ \"0xa69b68882c2eac4ec75e64e92a7946b6311cf7e0fa7c844251baabfa7803d81b\"\n values.$implementation:\n- \"eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913\"\n+ \"eth:0xafCEDDe020dB8D431Fa86dF6B14C20f327382709\"\n values.$pastUpgrades.3:\n+ [\"2025-12-04T02:13:59.000Z\",\"0xbdd083f6c9905230ec66b00863175112f2dbad532a6bd34d5982752587d1c5dd\",[\"eth:0xafCEDDe020dB8D431Fa86dF6B14C20f327382709\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.impl:\n- \"eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913\"\n+ \"eth:0xafCEDDe020dB8D431Fa86dF6B14C20f327382709\"\n values.getConfig:\n+ {\"handOverSlots\":8}\n implementationNames.eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913:\n- \"PreconfRouter\"\n implementationNames.eth:0xafCEDDe020dB8D431Fa86dF6B14C20f327382709:\n+ \"PreconfRouter\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 1 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 1 operators registered.\"\n values.operatorCount:\n- 3\n+ 2\n values.registeredOperators.1:\n- {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n values.registeredOperatorsCount:\n- 2\n+ 1\n }\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x7CCA385bdC790c25924333F5ADb7F4967F5d1599)\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 3.0.0).\n```"
}
]
},
{
"id": "c64c6e2d",
"date": "Wed, 03 Dec 2025 11:03:47 GMT",
"timestamp": 1764759251,
"description": "Forkrouter removed, minor bugfix in MainnetInbox: https://disco.l2beat.com/diff/eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8/eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5\n\nthis was an SC emergency proposal reviewed by us.",
"isHighSeverity": true,
"changeCount": 31,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1 (eth:0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: Main contract implementing the logic for proposing and proving Taiko blocks on L1.\n name:\n- \"PacayaForkRouter\"\n+ \"TaikoL1\"\n sourceHashes.1:\n- \"0x5702f8ecc44ca1160a3d0954d937678c18e339e0b8b415d47e8d20c5f3fb4a19\"\n+ \"0x2fc623a8d2d43eaa7b59707ea9d1f766608b3626be55f68a9617b218e44b3cd5\"\n values.$implementation:\n- \"eth:0xbB1f830636e1A017b81C3E38b7f6219344149Eb7\"\n+ \"eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5\"\n values.$pastUpgrades.29:\n+ [\"2025-12-03T00:16:35.000Z\",\"0x22ad3111b2e282663d8ee67b9a1e8c64add6a87f1e1f0e89dd589619ad42cce4\",[\"eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5\"]]\n values.$upgradeCount:\n- 29\n+ 30\n values.newFork:\n- \"eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8\"\n values.oldFork:\n- \"eth:0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264\"\n values.bondToken:\n+ \"eth:0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.impl:\n+ \"eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5\"\n values.inboxWrapper:\n+ \"eth:0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n values.inNonReentrant:\n+ false\n values.isOnL1:\n+ true\n values.pacayaConfig:\n+ {\"chainId\":167000,\"maxUnverifiedBatches\":324000,\"batchRingBufferSize\":360000,\"maxBatchesToVerify\":8,\"blockMaxGasLimit\":240000000,\"livenessBondBase\":\"25000000000000000000\",\"livenessBondPerBlock\":0,\"stateRootSyncInternal\":4,\"maxAnchorHeightOffset\":96,\"baseFeeConfig\":{\"adjustmentQuotient\":8,\"sharingPctg\":75,\"gasIssuancePerSecond\":5000000,\"minGasExcess\":1344899430,\"maxGasIssuancePerBlock\":600000000},\"provingWindow\":7200,\"cooldownWindow\":7200,\"maxSignalsToReceive\":16,\"maxBlocksPerBatch\":768,\"forkHeights\":{\"ontake\":538304,\"pacaya\":1166000,\"shasta\":0,\"unzen\":0}}\n values.paused:\n+ false\n values.resolver:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.signalService:\n+ \"eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n values.verifier:\n+ \"eth:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n errors:\n- {\"proxiableUUID\":\"Processing error occurred.\"}\n implementationNames.eth:0xbB1f830636e1A017b81C3E38b7f6219344149Eb7:\n- \"PacayaForkRouter\"\n implementationNames.eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5:\n+ \"MainnetInbox\"\n template:\n+ \"taiko/TaikoL1PostPacaya\"\n description:\n+ \"Main contract implementing the logic for proposing and proving Taiko blocks on L1.\"\n }\n```\n\n```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: The total count of encrypted emergency proposals created.\n values.proposalCount:\n- 24\n+ 26\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetTaikoL1 (eth:0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264)\n +++ description: None\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 22\n+ 23\n values.proposalIds.22:\n+ \"600503437133673611609410939840991465998794096662\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetInbox (eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8)\n +++ description: None\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\n values.registeredOperators.0:\n- {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n values.registeredOperators.1:\n+ {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract MainnetTaikoL1 (eth:0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetInbox (eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8)\n +++ description: None\n```"
}
]
},
{
"id": "906e7d8d",
"date": "Wed, 26 Nov 2025 13:52:55 GMT",
"timestamp": 1764165081,
"description": "proposal to move TAIKO from the DAO to the Labs treasury: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/21\n\noperator changes",
"isHighSeverity": false,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 21\n+ 22\n values.proposalIds.21:\n+ \"600279957369763019115429650404480285099304157205\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n values.operatorCount:\n- 4\n+ 3\n values.registeredOperators.0:\n- {\"proposer\":\"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\",\"sequencer\":\"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"}\n values.registeredOperators.2.sequencer:\n- \"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.registeredOperators.2.proposer:\n- \"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.registeredOperatorsCount:\n- 3\n+ 2\n }\n```"
}
]
},
{
"id": "3ed654a2",
"date": "Mon, 24 Nov 2025 09:55:12 GMT",
"timestamp": 1763978021,
"description": "new operators.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n values.registeredOperators.1:\n- {\"proposer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\",\"sequencer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"}\n values.registeredOperators.2:\n+ {\"proposer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\",\"sequencer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"}\n }\n```"
}
]
},
{
"id": "9b6444b8",
"date": "Wed, 19 Nov 2025 11:32:31 GMT",
"timestamp": 1763551862,
"description": "new proposal: move TAIKO to team treasury multisig.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 12\n+ 13\n }\n```"
}
]
},
{
"id": "cd51abde",
"date": "Mon, 10 Nov 2025 09:00:28 GMT",
"timestamp": 1762765141,
"description": "PreconfWhitelist changed, and the verifier upgrade proposal is now in the public / optimistic phase:\n- dao frontend: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/20\n- review: https://gist.github.com/sekuba/46d7bcab5127c0ed6e0d66ce285b0559",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 20\n+ 21\n values.proposalIds.20:\n+ \"599695636739451592739723352125243732881756389396\"\n }\n```\n\n```diff\n contract Daniel Wang (eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n values.$members.1:\n+ \"eth:0xFa92ff698D57f7B875570D9F59501812B843CD44\"\n values.$members.2:\n+ \"eth:0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1\"\n values.$members.3:\n+ \"eth:0x7Cdd1c128Cd72dd252f569eeD942735330937F91\"\n values.$members.1:\n- \"eth:0x7057A707621Fadd422f84DE94A9dF7c4F1AC595C\"\n+ \"eth:0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a\"\n values.$threshold:\n- 1\n+ 4\n values.multisigThreshold:\n- \"1 of 2 (50%)\"\n+ \"4 of 6 (67%)\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n values.registeredOperators.1:\n- {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n values.registeredOperators.2:\n+ {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n }\n```"
}
]
},
{
"id": "6eb5cecb",
"date": "Tue, 04 Nov 2025 15:15:49 GMT",
"timestamp": 1762269183,
"description": "operator change.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 4 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n values.registeredOperators.1:\n- {\"proposer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\",\"sequencer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"}\n values.registeredOperators.3.sequencer:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n+ \"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"\n values.registeredOperators.3.proposer:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n+ \"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"\n values.registeredOperatorsCount:\n- 4\n+ 3\n }\n```"
}
]
},
{
"id": "3653ad61",
"date": "Mon, 03 Nov 2025 14:19:44 GMT",
"timestamp": 1761894930,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LibUtils (eth:0x5565543Ec09f746721928B0A4d019c9E750d0552)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LibBonds (eth:0xc618b0bA27F751D33689DebA538f8567AeF53ee6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LibData (eth:0xe61FD6715FfFA2f4057f1Cf0230512b91A9f5f84)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LibProving (eth:0xfD9B548c00a1E96BbFc2C5FE0D339618B40B4593)\n +++ description: None\n```"
}
]
},
{
"id": "0b0071d7",
"date": "Fri, 31 Oct 2025 07:17:02 GMT",
"timestamp": 1761894930,
"description": "Minor upgrade proposed.\n\nReviewed here: https://gist.github.com/sekuba/46d7bcab5127c0ed6e0d66ce285b0559 (approved, will go to optimistic phase if at least 5 approve)",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 11\n+ 12\n }\n```"
}
]
},
{
"id": "08dd5a80",
"date": "Tue, 28 Oct 2025 09:33:53 GMT",
"timestamp": 1761643945,
"description": "proposer/sequencer whitelist changed.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 4 operators registered.\n values.registeredOperators.0.sequencer:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.registeredOperators.0.proposer:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.registeredOperators.3.sequencer:\n- \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n+ \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n values.registeredOperators.3.proposer:\n- \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n+ \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```"
}
]
},
{
"id": "57934f47",
"date": "Mon, 27 Oct 2025 07:42:48 GMT",
"timestamp": 1761550873,
"description": "Operator change.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 4 operators registered.\n values.registeredOperators.0:\n- {\"proposer\":\"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\",\"sequencer\":\"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"}\n values.registeredOperators.1:\n- {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n values.registeredOperators.2:\n+ {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n values.registeredOperators.3:\n+ {\"proposer\":\"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\",\"sequencer\":\"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"}\n }\n```"
}
]
},
{
"id": "a1b1e6d7",
"date": "Wed, 08 Oct 2025 07:42:30 GMT",
"timestamp": 1759909174,
"description": "Proposal 23: encrypted emergency proposal.\n'proposal is neither to fix a bug nor time-critical' - sc chat.\n\nverification of the calldata is pending.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: The total count of encrypted emergency proposals created.\n values.proposalCount:\n- 23\n+ 24\n }\n```"
}
]
},
{
"id": "75bf1442",
"date": "Mon, 22 Sep 2025 07:47:06 GMT",
"timestamp": 1758523605,
"description": "New operator (proposer/preconfer) registered.\n\nconfig: act permissions for the dao controllers and minor description changes.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 4 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 4 operators registered.\"\n values.registeredOperators.3:\n+ {\"proposer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\",\"sequencer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"}\n values.registeredOperatorsCount:\n- 3\n+ 4\n }\n```"
}
]
},
{
"id": "72f8fc3e",
"date": "Fri, 19 Sep 2025 13:06:41 GMT",
"timestamp": 1758287100,
"description": "One preconfirmer deregistered.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\n description:\n- \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\"\n+ \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\"\n values.registeredOperators.3:\n- {\"proposer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\",\"sequencer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"}\n values.registeredOperatorsCount:\n- 4\n+ 3\n }\n```"
}
]
},
{
"id": "19898113",
"date": "Wed, 17 Sep 2025 12:00:17 GMT",
"timestamp": 1758110316,
"description": "Removed and then added back a preconf operator. As the result the list is reordered.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\n values.registeredOperators.1:\n- {\"proposer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\",\"sequencer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"}\n values.registeredOperators.3:\n+ {\"proposer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\",\"sequencer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"}\n }\n```"
}
]
},
{
"id": "0763c53c",
"date": "Tue, 09 Sep 2025 07:35:21 GMT",
"timestamp": 1757403234,
"description": "move of preconfWhitelist gov to the DAO.\n\nthe single non-DAO-governed contract left is ProverSet, so the migration seems to be complete.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoDAOController (eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) {\n +++ description: Contract that maintains ownership DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n receivedPermissions.28:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"upgrade\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"role\":\"admin\"}]\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```"
}
]
},
{
"id": "66b36386",
"date": "Mon, 08 Sep 2025 15:13:18 GMT",
"timestamp": 1757344306,
"description": "Remaining gov functions transfered to DAO/SC.",
"isHighSeverity": false,
"changeCount": 15,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2AddressManager (taiko:0x1670000000000000000000000000000000000006) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.$admin:\n- \"taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8\"\n+ \"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"\n values.owner:\n- \"taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8\"\n+ \"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"\n values.pendingOwner:\n- \"taiko:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n+ \"taiko:0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n contract TaikoAnchor (taiko:0x1670000000000000000000000000000000010001) {\n +++ description: Handles cross-layer message verification and manages EIP-1559 gas pricing for L2 operations. Anchors L1 block details to L2 for cross-layer communication.\n values.$admin:\n- \"taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8\"\n+ \"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"\n values.owner:\n- \"taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8\"\n+ \"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"\n values.pendingOwner:\n- \"taiko:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n+ \"taiko:0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n contract DefaultResolver (taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.$admin:\n- \"taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8\"\n+ \"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"\n values.owner:\n- \"taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8\"\n+ \"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"\n values.pendingOwner:\n- \"taiko:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n+ \"taiko:0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Taiko L2 Multisig (taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8)\n +++ description: None\n```\n\n```diff\n contract DelegateController (taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C) {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"taiko:0x1670000000000000000000000000000000000006\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"taiko:0x1670000000000000000000000000000000000006\",\"role\":\"admin\"}\n receivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"taiko:0x1670000000000000000000000000000000010001\",\"role\":\"admin\"}\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8\",\"role\":\"admin\"}\n }\n```"
}
]
},
{
"id": "f16112a0",
"date": "Fri, 05 Sep 2025 09:35:03 GMT",
"timestamp": 1757064809,
"description": "New operator registered, new pending owner (DAO/SC) for some contracts.",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\n description:\n- \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\"\n+ \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\"\n values.operatorCount:\n- 3\n+ 4\n values.registeredOperators.3:\n+ {\"proposer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\",\"sequencer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"}\n values.registeredOperatorsCount:\n- 3\n+ 4\n }\n```\n\n```diff\n contract L2AddressManager (taiko:0x1670000000000000000000000000000000000006) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.pendingOwner:\n- \"taiko:0x0000000000000000000000000000000000000000\"\n+ \"taiko:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract TaikoAnchor (taiko:0x1670000000000000000000000000000000010001) {\n +++ description: Handles cross-layer message verification and manages EIP-1559 gas pricing for L2 operations. Anchors L1 block details to L2 for cross-layer communication.\n values.pendingOwner:\n- \"taiko:0x0000000000000000000000000000000000000000\"\n+ \"taiko:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract DefaultResolver (taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.pendingOwner:\n- \"taiko:0x0000000000000000000000000000000000000000\"\n+ \"taiko:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract Taiko L2 Multisig (taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8) {\n +++ description: None\n values.$members.0:\n+ \"taiko:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n values.$threshold:\n- 4\n+ 5\n values.multisigThreshold:\n- \"4 of 6 (67%)\"\n+ \"5 of 7 (71%)\"\n }\n```"
}
]
},
{
"id": "0d8a72c8",
"date": "Tue, 02 Sep 2025 09:26:15 GMT",
"timestamp": 1756804828,
"description": "One operator got removed.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\n description:\n- \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\"\n+ \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\"\n values.registeredOperators.3:\n- {\"proposer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\",\"sequencer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"}\n values.registeredOperatorsCount:\n- 4\n+ 3\n }\n```"
}
]
},
{
"id": "709bc2e7",
"date": "Sun, 31 Aug 2025 07:53:11 GMT",
"timestamp": 1756626709,
"description": "- TaikoL1\nMinimal diff: changed function return value (proposeBatch now returns lastBlockId)\nhttps://disco.l2beat.com/diff/eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82/eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8\n\nNo diff, changed NewFork constructor param to use the new implementation contract from above (0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8) \nhttps://disco.l2beat.com/diff/eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F/eth:0xbB1f830636e1A017b81C3E38b7f6219344149Eb7\n\n- ProverSet\nAdmin change to EOA (taiko foundation msig member)\n\n- TaikoWrapper\nMinimal diff: changed functions ordering to do one less decoding \nhttps://disco.l2beat.com/diff/eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61/eth:0x52D6FC6F6db9E370c336f64f61ff3C29568d1859\n\n- PreconfRouter\nMinimal diff: match function interface changes from above \nhttps://disco.l2beat.com/diff/eth:0xf571E2626E2CE68127852123A2cC6AA522C586A0/eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913\n\n- PreconfWhitelist\nOperators can now also be added by ejecter (chnaged onlyOwner toonlyOwnerOrEjecter modifier).",
"isHighSeverity": true,
"changeCount": 111,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ForcedInclusionStore (0x05d88855361808fA1d7fc28084Ef3fCa191c4e03) {\n +++ description: Contract that allows users to enqueue forced transactions via L1. The system guarantees that at least one pending forced transaction from the queue will be processed every 255 batches. Individual transactions may face longer delays if the queue is extensive.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract TaikoL1 (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: Main contract implementing the logic for proposing and proving Taiko blocks on L1.\n sourceHashes.1:\n- \"0x036f854f425618da3e66dad1cd29e352eda6ce3f728eb078bc043f82fe653157\"\n+ \"0x4a046242c16270e33ec006d5d7d18a68040b417d8355d24cc6a44926ce444f6e\"\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.$implementation.0:\n- \"eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F\"\n+ \"eth:0xbB1f830636e1A017b81C3E38b7f6219344149Eb7\"\n values.$implementation.2:\n- \"eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82\"\n+ \"eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8\"\n values.$pastUpgrades.28:\n+ [\"2025-08-26T21:48:47.000Z\",\"0x27f89b30a14fdf2c6adb42c5722f4ac403eefde7d26f6a64bdfd4a86458a0c00\",[\"eth:0xbB1f830636e1A017b81C3E38b7f6219344149Eb7\",\"eth:0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264\",\"eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8\"]]\n values.$upgradeCount:\n- 28\n+ 29\n values.impl:\n- \"eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F\"\n+ \"eth:0xbB1f830636e1A017b81C3E38b7f6219344149Eb7\"\n values.newFork:\n- \"eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82\"\n+ \"eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n implementationNames.eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F:\n- \"PacayaForkRouter\"\n implementationNames.eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82:\n- \"MainnetInbox\"\n implementationNames.eth:0xbB1f830636e1A017b81C3E38b7f6219344149Eb7:\n+ \"PacayaForkRouter\"\n implementationNames.eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8:\n+ \"MainnetInbox\"\n }\n```\n\n```diff\n EOA (0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"upgrade\",\"from\":\"eth:0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9\",\"role\":\"admin\"}]\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261) {\n +++ description: Contract managing SGX attestation certificates.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract DefaultResolver (0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract ProverSet (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: An operator proxy used by the Taiko team for operating (proposing, proving) the based rollup from permissioned addresses.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n values.pendingOwner:\n- \"eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n contract Risc0VerifierGateway (0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE) {\n +++ description: Entry contract to verify batches using RISC Zero.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract TaikoDAOController (0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) {\n +++ description: Contract that maintains ownership DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\",\"description\":\"can add new instances without a DCAP attestation\",\"role\":\".owner\"}\n receivedPermissions.4:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.5:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.6:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\",\"description\":\"can add new instances without a DCAP attestation\",\"role\":\".owner\"}\n receivedPermissions.7:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xbee1040D0Aab17AE19454384904525aE4A3602B9\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.8:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\",\"role\":\"admin\"}\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\",\"role\":\"admin\"}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\",\"role\":\"admin\"}\n receivedPermissions.13:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\",\"role\":\"admin\"}\n receivedPermissions.14:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\",\"role\":\"admin\"}\n receivedPermissions.15:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\",\"role\":\"admin\"}\n receivedPermissions.16:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\",\"role\":\"admin\"}\n receivedPermissions.17:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"role\":\"admin\"}\n receivedPermissions.21:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\",\"role\":\"admin\"}\n receivedPermissions.22:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x9F9D2fC7abe74C79f86F0D1212107692430eef72\",\"role\":\"admin\"}\n receivedPermissions.23:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\",\"role\":\"admin\"}\n receivedPermissions.24:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xbee1040D0Aab17AE19454384904525aE4A3602B9\",\"role\":\"admin\"}\n receivedPermissions.25:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a\",\"role\":\"admin\"}\n receivedPermissions.27:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SgxVerifier (0x7e6409e9b6c5e2064064a6cC994f9a2e95680782) {\n +++ description: Verifier contract for SGX proven blocks.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract DefaultResolver (0x8Efa01564425692d0a0838DC10E300BD310Cb43e) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"eth:0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.3:\n- {\"permission\":\"interact\",\"from\":\"eth:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\",\"description\":\"can add new instances without a DCAP attestation\",\"role\":\".owner\"}\n receivedPermissions.4:\n- {\"permission\":\"interact\",\"from\":\"eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.5:\n- {\"permission\":\"interact\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.6:\n- {\"permission\":\"interact\",\"from\":\"eth:0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\",\"description\":\"can add new instances without a DCAP attestation\",\"role\":\".owner\"}\n receivedPermissions.7:\n- {\"permission\":\"interact\",\"from\":\"eth:0xbee1040D0Aab17AE19454384904525aE4A3602B9\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.8:\n- {\"permission\":\"interact\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\",\"role\":\"admin\"}\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\",\"role\":\"admin\"}\n receivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\",\"role\":\"admin\"}\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\",\"role\":\"admin\"}\n receivedPermissions.13:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9\",\"role\":\"admin\"}\n receivedPermissions.14:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\",\"role\":\"admin\"}\n receivedPermissions.15:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\",\"role\":\"admin\"}\n receivedPermissions.16:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\",\"role\":\"admin\"}\n receivedPermissions.17:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"role\":\"admin\"}\n receivedPermissions.18:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\",\"role\":\"admin\"}\n receivedPermissions.19:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9F9D2fC7abe74C79f86F0D1212107692430eef72\",\"role\":\"admin\"}\n receivedPermissions.20:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\",\"role\":\"admin\"}\n receivedPermissions.21:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xbee1040D0Aab17AE19454384904525aE4A3602B9\",\"role\":\"admin\"}\n receivedPermissions.22:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a\",\"role\":\"admin\"}\n receivedPermissions.23:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SgxVerifier (0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136) {\n +++ description: Verifier contract for SGX proven blocks.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract TaikoWrapper (0x9F9D2fC7abe74C79f86F0D1212107692430eef72) {\n +++ description: Entry point for proposing blocks. It enforces the inclusion of forced transactions after their deadline.\n sourceHashes.1:\n- \"0x6f1f57d97885434b7f6b769ef9377a6fa75456740c69110c6bb37fb53a7fc68f\"\n+ \"0xb219932acfe503395c533757b638bdb5327f27434f87222d3e135534243f0b51\"\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.$implementation:\n- \"eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61\"\n+ \"eth:0x52D6FC6F6db9E370c336f64f61ff3C29568d1859\"\n values.$pastUpgrades.2:\n+ [\"2025-08-26T21:48:47.000Z\",\"0x27f89b30a14fdf2c6adb42c5722f4ac403eefde7d26f6a64bdfd4a86458a0c00\",[\"eth:0x52D6FC6F6db9E370c336f64f61ff3C29568d1859\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.impl:\n- \"eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61\"\n+ \"eth:0x52D6FC6F6db9E370c336f64f61ff3C29568d1859\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n implementationNames.eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61:\n- \"TaikoWrapper\"\n implementationNames.eth:0x52D6FC6F6db9E370c336f64f61ff3C29568d1859:\n+ \"TaikoWrapper\"\n }\n```\n\n```diff\n contract VerifierGateway (0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1) {\n +++ description: Gateway contract for the multi-proof system. It redirects proof to the appropriate verifier based on the proof type.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract SP1VerifierGateway (0xbee1040D0Aab17AE19454384904525aE4A3602B9) {\n +++ description: Entry contract to verify batches using SP1.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract PreconfRouter (0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a) {\n +++ description: Entry point for batch proposals under the pre-confirmation architecture. It allows batches to be proposed only by whitelisted addresses.\n sourceHashes.1:\n- \"0x7029286f91090d6d474c9bc0329436fed073038c547c5cd3db6c70045a7dccf8\"\n+ \"0x34a58f3c77d5666ec8a39b17ab327273604248af9004c771429a4413b09e20dd\"\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.$implementation:\n- \"eth:0xf571E2626E2CE68127852123A2cC6AA522C586A0\"\n+ \"eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913\"\n values.$pastUpgrades.2:\n+ [\"2025-08-26T21:48:47.000Z\",\"0x27f89b30a14fdf2c6adb42c5722f4ac403eefde7d26f6a64bdfd4a86458a0c00\",[\"eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.impl:\n- \"eth:0xf571E2626E2CE68127852123A2cC6AA522C586A0\"\n+ \"eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n implementationNames.eth:0xf571E2626E2CE68127852123A2cC6AA522C586A0:\n- \"PreconfRouter\"\n implementationNames.eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913:\n+ \"PreconfRouter\"\n }\n```\n\n```diff\n contract L1SharedAddressManager (0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract PreconfWhitelist (0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\n sourceHashes.1:\n- \"0xf118d401839238cdc94b9476ab2149f7492c9653c489f80819102c4fe0b23fc3\"\n+ \"0x93a254bb5914a81cd902577cdafd323639e44227fdae5e14aa14fd47e1440063\"\n values.$implementation:\n- \"eth:0x44eC275996BD69361EF062ed488882a58256CF11\"\n+ \"eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc\"\n values.$pastUpgrades.2:\n+ [\"2025-08-26T21:48:47.000Z\",\"0x27f89b30a14fdf2c6adb42c5722f4ac403eefde7d26f6a64bdfd4a86458a0c00\",[\"eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.impl:\n- \"eth:0x44eC275996BD69361EF062ed488882a58256CF11\"\n+ \"eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc\"\n implementationNames.eth:0x44eC275996BD69361EF062ed488882a58256CF11:\n- \"PreconfWhitelist\"\n implementationNames.eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc:\n+ \"PreconfWhitelist\"\n }\n```"
}
]
},
{
"id": "c6aa02e4",
"date": "Mon, 25 Aug 2025 14:12:20 GMT",
"timestamp": 1756117493,
"description": "ProverSet is in the process of changing owner.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProverSet (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: An operator proxy used by the Taiko team for operating (proposing, proving) the based rollup from permissioned addresses.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n }\n```"
}
]
},
{
"id": "385fc1f6",
"date": "Wed, 20 Aug 2025 14:59:53 GMT",
"timestamp": 1755701960,
"description": "New preconfirmer.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\n description:\n- \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\"\n+ \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\"\n values.havingPerfectOperators:\n- true\n+ false\n values.operatorCount:\n- 3\n+ 4\n values.registeredOperators.3:\n+ {\"proposer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\",\"sequencer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"}\n values.registeredOperatorsCount:\n- 3\n+ 4\n }\n```"
}
]
},
{
"id": "55d6dea7",
"date": "Tue, 19 Aug 2025 09:02:29 GMT",
"timestamp": 1755594109,
"description": "New operator count.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\n description:\n- \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\"\n+ \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\"\n values.havingPerfectOperators:\n- false\n+ true\n values.operatorCount:\n- 4\n+ 3\n }\n```"
}
]
},
{
"id": "ac9916b2",
"date": "Fri, 15 Aug 2025 08:50:57 GMT",
"timestamp": 1755212383,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract Bridge (0x1670000000000000000000000000000000000001)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SignalService (0x1670000000000000000000000000000000000005)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2AddressManager (0x1670000000000000000000000000000000000006)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoAnchor (0x1670000000000000000000000000000000010001)\n +++ description: Handles cross-layer message verification and manages EIP-1559 gas pricing for L2 operations. Anchors L1 block details to L2 for cross-layer communication.\n```\n\n```diff\n+ Status: CREATED\n contract DefaultResolver (0xc32277f541bBADAA260337E71Cea53871D310DC8)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract Taiko L2 Multisig (0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelegateController (0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C)\n +++ description: None\n```"
}
]
},
{
"id": "0201cc02",
"date": "Fri, 15 Aug 2025 08:50:57 GMT",
"timestamp": 1755212383,
"description": "Taiko L2 side initial discovery.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\n description:\n- \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\"\n+ \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\"\n values.getOperatorForNextEpoch:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n+ \"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"\n values.operatorCount:\n- 3\n+ 4\n }\n```"
}
]
},
{
"id": "ca91bdf8",
"date": "Thu, 14 Aug 2025 11:58:53 GMT",
"timestamp": 1755172721,
"description": "Preconf Upgrade!\n\n[Fork Router](https://disco.l2beat.com/diff/eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319/eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F): no code diff\n\nOld fork: same address\n\n[New fork](https://disco.l2beat.com/diff/eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC/eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82): Minimal config changes: lower liveness bond,lower max batches per proposal, higher max anchor height.\n\n[TaikoWrapper](https://disco.l2beat.com/diff/eth:0xAdBa78120E85Add0dBD2050dBA0548CEDA81A31b/eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61): proposing must be done via PreconfRouter now.",
"isHighSeverity": true,
"changeCount": 35,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1 (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: Main contract implementing the logic for proposing and proving Taiko blocks on L1.\n sourceHashes.1:\n- \"0xd3d952e9a5655549b172292d82b0e6e7b2223cab5ef6819f2790ed53304f56a7\"\n+ \"0x036f854f425618da3e66dad1cd29e352eda6ce3f728eb078bc043f82fe653157\"\n values.$implementation.0:\n- \"eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319\"\n+ \"eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F\"\n values.$implementation.2:\n- \"eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC\"\n+ \"eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82\"\n values.$pastUpgrades.27:\n+ [\"2025-08-11T13:45:11.000Z\",\"0xbfd772cb4571eb6275f23d4fd8c7eb1502462b55821ee59dae0d15ab3325fc22\",[\"eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F\",\"eth:0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264\",\"eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82\"]]\n values.$upgradeCount:\n- 27\n+ 28\n values.impl:\n- \"eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319\"\n+ \"eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F\"\n values.newFork:\n- \"eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC\"\n+ \"eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82\"\n values.pacayaConfig.maxBatchesToVerify:\n- 16\n+ 8\n values.pacayaConfig.livenessBondBase:\n- \"125000000000000000000\"\n+ \"25000000000000000000\"\n values.pacayaConfig.maxAnchorHeightOffset:\n- 64\n+ 96\n implementationNames.eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319:\n- \"PacayaForkRouter\"\n implementationNames.eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC:\n- \"MainnetInbox\"\n implementationNames.eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F:\n+ \"PacayaForkRouter\"\n implementationNames.eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82:\n+ \"MainnetInbox\"\n }\n```\n\n```diff\n contract DefaultResolver (0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.namedAddresses.17:\n+ {\"name\":\"0x707265636f6e665f77686974656c697374000000000000000000000000000000\",\"address\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\"}\n values.namedAddresses.18:\n+ {\"name\":\"0x707265636f6e665f726f75746572000000000000000000000000000000000000\",\"address\":\"eth:0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a\"}\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.16:\n+ \"0xca349ba0dfeced0bd837a56c97417c11e51d490eec4ff08321dd130776a413bd\"\n values.mrEnclaves.17:\n+ \"0xe2375b778ee5700a73c7fcf449abb4a62e00127d324b6694898073ba5aff4f5c\"\n values.mrEnclaves.18:\n+ \"0x67742ab222790e20ba3656b3b294645a3384a5df5a770b86f8c06529523d990e\"\n values.mrEnclaves.19:\n+ \"0xddda8ba9c9153e3d2f680f2f53adbc774a9753cc55d40dde4cb02aef38c42109\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n values.$threshold:\n- 4\n+ 5\n values.multisigThreshold:\n- \"4 of 6 (67%)\"\n+ \"5 of 7 (71%)\"\n receivedPermissions.22:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a\",\"role\":\"admin\"}\n receivedPermissions.24:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract TaikoWrapper (0x9F9D2fC7abe74C79f86F0D1212107692430eef72) {\n +++ description: Entry point for proposing blocks. It enforces the inclusion of forced transactions after their deadline.\n sourceHashes.1:\n- \"0x9cee3ca82b3cd60de871679b86db583cbf35a0a911ded84676f9fdcc1a77c8ca\"\n+ \"0x6f1f57d97885434b7f6b769ef9377a6fa75456740c69110c6bb37fb53a7fc68f\"\n values.$implementation:\n- \"eth:0xAdBa78120E85Add0dBD2050dBA0548CEDA81A31b\"\n+ \"eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61\"\n values.$pastUpgrades.1:\n+ [\"2025-08-11T13:45:11.000Z\",\"0xbfd772cb4571eb6275f23d4fd8c7eb1502462b55821ee59dae0d15ab3325fc22\",[\"eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.impl:\n- \"eth:0xAdBa78120E85Add0dBD2050dBA0548CEDA81A31b\"\n+ \"eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61\"\n values.preconfRouter:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a\"\n implementationNames.eth:0xAdBa78120E85Add0dBD2050dBA0548CEDA81A31b:\n- \"TaikoWrapper\"\n implementationNames.eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61:\n+ \"TaikoWrapper\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreconfRouter (0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a)\n +++ description: Entry point for batch proposals under the pre-confirmation architecture. It allows batches to be proposed only by whitelisted addresses.\n```\n\n```diff\n+ Status: CREATED\n contract PreconfWhitelist (0xFD019460881e6EeC632258222393d5821029b2ac)\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\n```"
}
]
},
{
"id": "97554a00",
"date": "Tue, 29 Jul 2025 13:42:27 GMT",
"timestamp": 1753796542,
"description": "Updated RISC0 Groth16 verifier version for Taiko batch proofs.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0x34Eda8BfFb539AeC33078819847B36D221c6641c)\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n```"
}
]
},
{
"id": "9c15da27",
"date": "Tue, 15 Jul 2025 08:05:18 GMT",
"timestamp": 1752566718,
"description": "[Single line change](https://disco.l2beat.com/diff/eth:0x497B13f9192B09244de9b5F0964830969FB26F07/eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC) to the baseFeeConfig.sharingPctg: 50 -> 75.\n\n[ai]: this means that 75% of transaction fees are going to the block proposer and 25% to taiko treasury (distribution logic on L2).\ni could not really verify this claim and unsuccessfully searched for any l2 logic that distributes fees.\n\nthe pre-pacaya impl is the same.",
"isHighSeverity": false,
"changeCount": 12,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1 (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: Main contract implementing the logic for proposing and proving Taiko blocks on L1.\n sourceHashes.1:\n- \"0xc4ae3ca2fcf606673a1324989a7ac169b3fdb6780917814506e56898484e99d7\"\n+ \"0xd3d952e9a5655549b172292d82b0e6e7b2223cab5ef6819f2790ed53304f56a7\"\n values.$implementation.0:\n- \"eth:0x4e030b19135869F6fd926614754B7F9c184E2B83\"\n+ \"eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319\"\n values.$implementation.2:\n- \"eth:0x497B13f9192B09244de9b5F0964830969FB26F07\"\n+ \"eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC\"\n values.$pastUpgrades.26:\n+ [\"2025-07-15T01:20:35.000Z\",\"0xffedb70a513e71486c3a47079508d3ba87ae5362e7efb3300febac1be69276bc\",[\"eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319\",\"eth:0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264\",\"eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC\"]]\n values.$upgradeCount:\n- 26\n+ 27\n values.impl:\n- \"eth:0x4e030b19135869F6fd926614754B7F9c184E2B83\"\n+ \"eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319\"\n values.newFork:\n- \"eth:0x497B13f9192B09244de9b5F0964830969FB26F07\"\n+ \"eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC\"\n values.pacayaConfig.baseFeeConfig.sharingPctg:\n- 50\n+ 75\n implementationNames.eth:0x4e030b19135869F6fd926614754B7F9c184E2B83:\n- \"PacayaForkRouter\"\n implementationNames.eth:0x497B13f9192B09244de9b5F0964830969FB26F07:\n- \"MainnetInbox\"\n implementationNames.eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319:\n+ \"PacayaForkRouter\"\n implementationNames.eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC:\n+ \"MainnetInbox\"\n }\n```"
}
]
},
{
"id": "38c180c5",
"date": "Mon, 14 Jul 2025 12:46:35 GMT",
"timestamp": 1752497195,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 42,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract PEMCertChainLib (0x02772b7B3a5Bea0141C993Dbb8D0733C19F46169)\n +++ description: Library for managing PEM certificate chains.\n```\n\n```diff\n+ Status: CREATED\n contract ForcedInclusionStore (0x05d88855361808fA1d7fc28084Ef3fCa191c4e03)\n +++ description: Contract that allows users to enqueue forced transactions via L1. The system guarantees that at least one pending forced transaction from the queue will be processed every 255 batches. Individual transactions may face longer delays if the queue is extensive.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoL1 (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a)\n +++ description: Main contract implementing the logic for proposing and proving Taiko blocks on L1.\n```\n\n```diff\n+ Status: CREATED\n contract Halborn (0x0F40268Ec0Dc8D88CF2f22E227A29a0b478b6351)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SignerList (0x0F95E6968EC1B28c794CF1aD99609431de5179c2)\n +++ description: A signer list for registering agents, similar to a Multisig.\n```\n\n```diff\n+ Status: CREATED\n contract AutomataDcapV3Attestation (0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261)\n +++ description: Contract managing SGX attestation certificates.\n```\n\n```diff\n+ Status: CREATED\n contract Taiko Token (0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800)\n +++ description: ERC20 contract implementing the TAIKO token. It defines a list of addresses designated as non-voting.\n```\n\n```diff\n+ Status: CREATED\n contract Drew Van der Werff (0x25d3E89bAcE2040Ed3aF7c4c7B505cfBB72fD6f1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EmergencyMultisig (0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd)\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n```\n\n```diff\n+ Status: CREATED\n contract EncryptionRegistry (0x2eFDb93a3B87b930E553d504db67Ee41c69C42d1)\n +++ description: A registry for signers (of the Security Council) to appoint agents to operate on their behalf. These agents can also register their encryption keys for encrypted emergency proposal support.\n```\n\n```diff\n+ Status: CREATED\n contract Taiko Foundation Treasury Multisig (0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Chainbound (0x436a1075099A145417EBFc74BBaC9605e3e4f1A7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SigVerifyLib (0x47bB416ee947fE4a4b655011aF7d6E3A1B80E6e9)\n +++ description: Library for verifying signatures.\n```\n\n```diff\n+ Status: CREATED\n contract Nethermind (0x5353c607e6eca6C63FEC5c6C0F5CC3a5348d5c95)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DefaultResolver (0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9)\n +++ description: An operator proxy used by the Taiko team for operating (proposing, proving) the based rollup from permissioned addresses.\n```\n\n```diff\n+ Status: CREATED\n contract Risc0VerifierGateway (0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE)\n +++ description: Entry contract to verify batches using RISC Zero.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoDAOController (0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a)\n +++ description: Contract that maintains ownership DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n```\n\n```diff\n+ Status: CREATED\n contract SgxVerifier (0x7e6409e9b6c5e2064064a6cC994f9a2e95680782)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract AutomataDcapV3Attestation (0x8d7C954960a36a7596d7eA4945dDf891967ca8A3)\n +++ description: Contract managing SGX attestation certificates.\n```\n\n```diff\n+ Status: CREATED\n contract DefaultResolver (0x8Efa01564425692d0a0838DC10E300BD310Cb43e)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract QuotaManager (0x91f67118DD47d502B1f0C354D0611997B022f29E)\n +++ description: Defines withdrawal limits per token.\n```\n\n```diff\n+ Status: CREATED\n contract OptimisticTokenVotingPlugin (0x989E348275b659d36f8751ea1c10D146211650BE)\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n```\n\n```diff\n+ Status: CREATED\n contract MainnetERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab)\n +++ description: Shared vault for Taiko chains for bridged ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DAO (0x9CDf589C941ee81D75F34d3755671d614f7cf261)\n +++ description: The main contract of the Aragon-based DAO governance framework.\n```\n\n```diff\n+ Status: CREATED\n contract MainnetSignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C)\n +++ description: The SignalService contract serves as cross-chain message passing system. It defines methods for sending and verifying signals with merkle proofs.\n```\n\n```diff\n+ Status: CREATED\n contract SgxVerifier (0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoWrapper (0x9F9D2fC7abe74C79f86F0D1212107692430eef72)\n +++ description: Entry point for proposing blocks. It enforces the inclusion of forced transactions after their deadline.\n```\n\n```diff\n+ Status: CREATED\n contract Toni Wahrstätter (0xa384E224A3F3D664F43eBE33395eF0DCcE67e894)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract VerifierGateway (0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1)\n +++ description: Gateway contract for the multi-proof system. It redirects proof to the appropriate verifier based on the proof type.\n```\n\n```diff\n+ Status: CREATED\n contract Aragon (0xb284810536C0dAB6A8e48153B58588A9B9e0F701)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Daniel Wang (0xb47fE76aC588101BFBdA9E68F66433bA51E8029a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGateway (0xbee1040D0Aab17AE19454384904525aE4A3602B9)\n +++ description: Entry contract to verify batches using SP1.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (0xD5cF6A34Ba5fb9289510dC93c03F1f9084798487)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC)\n +++ description: Shared bridge for Taiko chains for bridged ETH.\n```\n\n```diff\n+ Status: CREATED\n contract Multisig (0xD7dA1C25E915438720692bC55eb3a7170cA90321)\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n```\n\n```diff\n+ Status: CREATED\n contract L1SharedAddressManager (0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract L2BEAT (0xf1cF63589A1e012F9124182c9eAa36B5333e5f06)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0xfB3Ca570A5348FD101e65303eECdB5Bf43C5548a)\n +++ description: Verifier contract for RISC Zero Groth16 proofs.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoDAOController (0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3)\n +++ description: Contract that maintains ownership DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (0xFF5Adab685362DC4C33536a65aF5873738D1216B)\n +++ description: Verifier contract for SP1 proofs (v5.0.0).\n```"
}
]
},
{
"id": "82d57b03",
"date": "Wed, 09 Jul 2025 16:02:11 GMT",
"timestamp": 1752076931,
"description": "Enclave hashes updated. Safe Multisigs upgraded to newest version.\n\nTaiko Foundation Treasury Multisig 4/6 -> 2/3",
"isHighSeverity": true,
"changeCount": 19,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AutomataDcapV3Attestation (0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.1:\n+ \"0x692c8624d30a327340b0dfbb67203e941175ac700d1a058c717e5269103d37e6\"\n }\n```\n\n```diff\n contract Taiko Foundation Treasury Multisig (0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.$members.0:\n- \"0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.$members.2:\n- \"0x1eE487CEdCe52c370DB11e62987F3ABe873E145A\"\n values.$members.3:\n- \"0xFa92ff698D57f7B875570D9F59501812B843CD44\"\n values.$members.4:\n- \"0x7Cdd1c128Cd72dd252f569eeD942735330937F91\"\n values.$threshold:\n- 4\n+ 2\n values.multisigThreshold:\n- \"4 of 6 (67%)\"\n+ \"2 of 3 (67%)\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.14:\n+ \"0x631778b0d420d2d0bba4c730b0fd74857afeefb3429371ae97ab450e40ca127e\"\n values.mrEnclaves.15:\n+ \"0x482b06132c4306ea55bc34ff90d46532ff4151f473dbfe4d2cb2442af2ff288b\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "7ce948a4",
"date": "Thu, 19 Jun 2025 11:31:54 GMT",
"timestamp": 1750332714,
"description": "Some core upgrade permissions transferred to DAOController.",
"isHighSeverity": false,
"changeCount": 25,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoDAOController (0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) {\n +++ description: Contract that maintains ownership DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n receivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\",\"role\":\"admin\"}\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x91f67118DD47d502B1f0C354D0611997B022f29E\",\"role\":\"admin\"}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\",\"role\":\"admin\"}\n receivedPermissions.1.from:\n- \"ethereum:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n+ \"ethereum:0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n receivedPermissions.0.from:\n- \"ethereum:0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"ethereum:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n }\n```\n\n```diff\n contract QuotaManager (0x91f67118DD47d502B1f0C354D0611997B022f29E) {\n +++ description: Defines withdrawal limits per token.\n values.$admin:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n receivedPermissions.25:\n- {\"permission\":\"upgrade\",\"from\":\"ethereum:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\"}\n receivedPermissions.24:\n- {\"permission\":\"upgrade\",\"from\":\"ethereum:0xbee1040D0Aab17AE19454384904525aE4A3602B9\",\"role\":\"admin\"}\n receivedPermissions.23:\n- {\"permission\":\"upgrade\",\"from\":\"ethereum:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\",\"role\":\"admin\"}\n receivedPermissions.22.from:\n- \"ethereum:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n+ \"ethereum:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n receivedPermissions.21.from:\n- \"ethereum:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"ethereum:0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n receivedPermissions.20.from:\n- \"ethereum:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n+ \"ethereum:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n receivedPermissions.19.from:\n- \"ethereum:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n+ \"ethereum:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n receivedPermissions.18.from:\n- \"ethereum:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n+ \"ethereum:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n receivedPermissions.17.from:\n- \"ethereum:0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n+ \"ethereum:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n receivedPermissions.16.from:\n- \"ethereum:0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n+ \"ethereum:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.15.from:\n- \"ethereum:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n+ \"ethereum:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n receivedPermissions.14.from:\n- \"ethereum:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\"\n+ \"ethereum:0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n receivedPermissions.13.from:\n- \"ethereum:0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\"\n+ \"ethereum:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\"\n receivedPermissions.12.from:\n- \"ethereum:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n+ \"ethereum:0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\"\n }\n```\n\n```diff\n contract MainnetSignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: The SignalService contract serves as cross-chain message passing system. It defines methods for sending and verifying signals with merkle proofs.\n values.$admin:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract MainnetBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: Shared bridge for Taiko chains for bridged ETH.\n values.$admin:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```"
}
]
},
{
"id": "2a241c73",
"date": "Wed, 18 Jun 2025 11:39:33 GMT",
"timestamp": 1750246773,
"description": "New test proposal (no actions, will be vetoed).",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 19\n+ 20\n values.proposalIds.19:\n+ \"594516471058441525137805458817300690127055486982\"\n values.proposalIds.18:\n- \"594516471058441525137805458817300690127055486982\"\n+ \"594368007222883387369940600290236287695678603267\"\n values.proposalIds.17:\n- \"594368007222883387369940600290236287695678603267\"\n+ \"594789857995414210150628315872956409027640688649\"\n values.proposalIds.16:\n- \"594789857995414210150628315872956409027640688649\"\n+ \"595223436259438596154551751121806216745162113041\"\n values.proposalIds.15:\n- \"595223436259438596154551751121806216745162113041\"\n+ \"595223403592331371744459256866956472219296858128\"\n values.proposalIds.14:\n- \"595223403592331371744459256866956472219296858128\"\n+ \"594333890512775894079591912881534348495153004546\"\n values.proposalIds.13:\n- \"594333890512775894079591912881534348495153004546\"\n+ \"595517191137765700860044776076277647522733752339\"\n }\n```\n\n```diff\n contract Multisig (0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 10\n+ 11\n }\n```"
}
]
},
{
"id": "e8c7b9d2",
"date": "Fri, 13 Jun 2025 08:40:49 GMT",
"timestamp": 1749804049,
"description": "Risc0 verifier update (gateway and groth16 verifier changes are minimal).",
"isHighSeverity": true,
"changeCount": 37,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract RiscZeroGroth16Verifier (0x48E32eFbe22e180A3FFe617f4955cD83B983dd98)\n +++ description: Verifier contract for RISC Zero Groth16 proofs.\n```\n\n```diff\n contract DefaultResolver (0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.namedAddresses.13.name:\n- \"0x72697363305f67726f746831365f766572696669657200000000000000000000\"\n+ \"bond_token\"\n values.namedAddresses.13.address:\n- \"0x48E32eFbe22e180A3FFe617f4955cD83B983dd98\"\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.namedAddresses.12.name:\n- \"bond_token\"\n+ \"0x7370315f72656d6f74655f766572696669657200000000000000000000000000\"\n values.namedAddresses.12.address:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"0xFF5Adab685362DC4C33536a65aF5873738D1216B\"\n values.namedAddresses.11.name:\n- \"0x7370315f72656d6f74655f766572696669657200000000000000000000000000\"\n+ \"taiko_token\"\n values.namedAddresses.11.address:\n- \"0xFF5Adab685362DC4C33536a65aF5873738D1216B\"\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.namedAddresses.10.name:\n- \"taiko_token\"\n+ \"0x6175746f6d6174615f646361705f6174746573746174696f6e00000000000000\"\n values.namedAddresses.10.address:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n values.namedAddresses.9.name:\n- \"0x6175746f6d6174615f646361705f6174746573746174696f6e00000000000000\"\n+ \"0x72697363305f726574685f766572696669657200000000000000000000000000\"\n values.namedAddresses.9.address:\n- \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\"\n values.namedAddresses.8.name:\n- \"0x72697363305f726574685f766572696669657200000000000000000000000000\"\n+ \"bridge\"\n values.namedAddresses.8.address:\n- \"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\"\n+ \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n values.namedAddresses.7.name:\n- \"bridge\"\n+ \"0x72697363305f67726f746831365f766572696669657200000000000000000000\"\n values.namedAddresses.7.address:\n- \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n+ \"0xfB3Ca570A5348FD101e65303eECdB5Bf43C5548a\"\n }\n```\n\n```diff\n contract Risc0VerifierGateway (0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE) {\n +++ description: Entry contract to verify batches using RISC Zero.\n sourceHashes.1:\n- \"0xd24723da846efa982924d892e9d3e52d38b6d85eab9d8e2f0a298ff07d18d994\"\n+ \"0xbf2f7f196a5a1b3990b49d6d86c282eedd22259e4e1c970138b25b38cced4ac6\"\n values.$implementation:\n- \"0x801878e56A8DA58d6a837006345CDD11a9E6a852\"\n+ \"0xB1c6fF8dCbED16FE412291E7BDA0d611405944Be\"\n values.$pastUpgrades.1:\n+ [\"2025-05-15T00:25:59.000Z\",\"0x2c106efd4e844195ff8597792c0e87d8319c23b5f4b6f675f878d75181c27baa\",[\"0x801878e56A8DA58d6a837006345CDD11a9E6a852\"]]\n values.$pastUpgrades.0.2:\n- [\"0x801878e56A8DA58d6a837006345CDD11a9E6a852\"]\n+ \"2025-06-12T03:50:35.000Z\"\n values.$pastUpgrades.0.1:\n- \"0x2c106efd4e844195ff8597792c0e87d8319c23b5f4b6f675f878d75181c27baa\"\n+ \"0x2b9250ebdcf10b1a1ec658e5cc9e7fd9aa19dd32573e6ab5bc036499682dea3a\"\n values.$pastUpgrades.0.0:\n- \"2025-05-15T00:25:59.000Z\"\n+ [\"0xB1c6fF8dCbED16FE412291E7BDA0d611405944Be\"]\n values.$upgradeCount:\n- 1\n+ 2\n values.impl:\n- \"0x801878e56A8DA58d6a837006345CDD11a9E6a852\"\n+ \"0xB1c6fF8dCbED16FE412291E7BDA0d611405944Be\"\n values.riscoGroth16Verifier:\n- \"0x48E32eFbe22e180A3FFe617f4955cD83B983dd98\"\n+ \"0xfB3Ca570A5348FD101e65303eECdB5Bf43C5548a\"\n implementationNames.0x801878e56A8DA58d6a837006345CDD11a9E6a852:\n- \"Risc0Verifier\"\n implementationNames.0xB1c6fF8dCbED16FE412291E7BDA0d611405944Be:\n+ \"TaikoRisc0Verifier\"\n }\n```\n\n```diff\n contract TaikoDAOController (0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) {\n +++ description: Contract that maintains ownership DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n receivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.13:\n+ \"0xb09f9005e4612526e378466b5c16ab6028478e81c085812d6ed37166c4cda10e\"\n values.mrEnclaves.12:\n+ \"0x6e43c1d575b5b785d0f6259dfac44998c6f0c164864f9f98270fb740c14eb943\"\n }\n```\n\n```diff\n contract MainnetERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) {\n +++ description: Shared vault for Taiko chains for bridged ERC20 tokens.\n values.$admin:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n receivedPermissions.26:\n- {\"permission\":\"upgrade\",\"from\":\"ethereum:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\"}\n receivedPermissions.25.from:\n- \"ethereum:0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n+ \"ethereum:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n receivedPermissions.24.from:\n- \"ethereum:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n+ \"ethereum:0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n receivedPermissions.23.from:\n- \"ethereum:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n+ \"ethereum:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n receivedPermissions.22.from:\n- \"ethereum:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n+ \"ethereum:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0xfB3Ca570A5348FD101e65303eECdB5Bf43C5548a)\n +++ description: Verifier contract for RISC Zero Groth16 proofs.\n```"
}
]
},
{
"id": "2bf787f6",
"date": "Mon, 09 Jun 2025 10:52:23 GMT",
"timestamp": 1749466343,
"description": "New daocontroller for the TAIKO token, which is now controlled by the DAO.",
"isHighSeverity": false,
"changeCount": 40,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Taiko Token (0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800) {\n +++ description: ERC20 contract implementing the TAIKO token. It defines a list of addresses designated as non-voting.\n values.$admin:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 14\n+ 19\n values.proposalIds.18:\n+ \"594516471058441525137805458817300690127055486982\"\n values.proposalIds.17:\n+ \"594368007222883387369940600290236287695678603267\"\n values.proposalIds.16:\n+ \"594789857995414210150628315872956409027640688649\"\n values.proposalIds.15:\n+ \"595223436259438596154551751121806216745162113041\"\n values.proposalIds.14:\n+ \"595223403592331371744459256866956472219296858128\"\n values.proposalIds.13:\n- \"594516471058441525137805458817300690127055486982\"\n+ \"594333890512775894079591912881534348495153004546\"\n values.proposalIds.12:\n- \"594368007222883387369940600290236287695678603267\"\n+ \"594544283016854707280302755040001935835586887687\"\n values.proposalIds.11:\n- \"594789857995414210150628315872956409027640688649\"\n+ \"594516360806954642753743290707182802352260251653\"\n values.proposalIds.10:\n- \"594333890512775894079591912881534348495153004546\"\n+ \"594868197801926748603689506985812031612995502090\"\n values.proposalIds.9:\n- \"594544283016854707280302755040001935835586887687\"\n+ \"594516275055798178677248899489514254466604335108\"\n values.proposalIds.8:\n- \"594516360806954642753743290707182802352260251653\"\n+ \"594544466769332844587073035223531748793578946568\"\n values.proposalIds.7:\n- \"594868197801926748603689506985812031612995502090\"\n+ \"595202819231391590334926314529761202858453106703\"\n values.proposalIds.6:\n- \"594516275055798178677248899489514254466604335108\"\n+ \"595112788683881116119978678391417950963358498829\"\n values.proposalIds.5:\n- \"594544466769332844587073035223531748793578946568\"\n+ \"594932801089851422612858457733038049577270247436\"\n values.proposalIds.4:\n- \"595112788683881116119978678391417950963358498829\"\n+ \"594333808845007833054360677244409987180489867265\"\n values.proposalIds.3:\n- \"594932801089851422612858457733038049577270247436\"\n+ \"594318504305273196926027118847304676812617940992\"\n values.proposalIds.2:\n- \"594333808845007833054360677244409987180489867265\"\n+ \"594868769476303175780308156445682560815637463051\"\n values.proposalIds.1:\n- \"594318504305273196926027118847304676812617940992\"\n+ \"595168678020953678736974786657474616653076496398\"\n values.proposalIds.0:\n- \"594868769476303175780308156445682560815637463051\"\n+ \"595300306046126036153418824792663965561388007442\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n receivedPermissions.27:\n- {\"permission\":\"upgrade\",\"from\":\"ethereum:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\"}\n receivedPermissions.26.from:\n- \"ethereum:0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n+ \"ethereum:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n receivedPermissions.25.from:\n- \"ethereum:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n+ \"ethereum:0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n receivedPermissions.24.from:\n- \"ethereum:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n+ \"ethereum:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n receivedPermissions.23.from:\n- \"ethereum:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n+ \"ethereum:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n receivedPermissions.22.from:\n- \"ethereum:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"ethereum:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n receivedPermissions.21.from:\n- \"ethereum:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n+ \"ethereum:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n receivedPermissions.20.from:\n- \"ethereum:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n+ \"ethereum:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n receivedPermissions.19.from:\n- \"ethereum:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n+ \"ethereum:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.18.from:\n- \"ethereum:0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n+ \"ethereum:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n receivedPermissions.17.from:\n- \"ethereum:0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n+ \"ethereum:0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n receivedPermissions.16.from:\n- \"ethereum:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n+ \"ethereum:0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n receivedPermissions.15.from:\n- \"ethereum:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\"\n+ \"ethereum:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n receivedPermissions.14.from:\n- \"ethereum:0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"ethereum:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\"\n }\n```\n\n```diff\n contract DAO (0x9CDf589C941ee81D75F34d3755671d614f7cf261) {\n +++ description: The main contract of the Aragon-based DAO governance framework.\n receivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3\",\"role\":\"admin\"}\n receivedPermissions.0.from:\n- \"ethereum:0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3\"\n+ \"ethereum:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract Multisig (0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 9\n+ 10\n }\n```\n\n```diff\n+ Status: CREATED\n contract TaikoDAOController (0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a)\n +++ description: Contract that maintains ownership DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n```"
}
]
},
{
"id": "136d39c0",
"date": "Wed, 04 Jun 2025 13:52:34 GMT",
"timestamp": 1749045154,
"description": "SP1 verifier upgrade to v5 (plonky3 vuln related). Security Council signer removed (internal test signer). The DAO/SC is now in prod configuration, but hasn't got any critical permissions yet.",
"isHighSeverity": true,
"changeCount": 32,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SignerList (0x0F95E6968EC1B28c794CF1aD99609431de5179c2) {\n +++ description: A signer list for registering agents, similar to a Multisig.\n values.addresslistLength:\n- 9\n+ 8\n values.getEncryptionAgents.8:\n- \"0x824Dce8d292a393DAb5FFdeb788DC1086257f678\"\n values.getEncryptionAgents.7:\n- \"0x1d955983044548E03DAA583B36A37cA4bdE6F556\"\n+ \"0x824Dce8d292a393DAb5FFdeb788DC1086257f678\"\n values.getEncryptionAgents.6:\n- \"0x85f21919ed6046d7CE1F36a613eBA8f5EaC3d070\"\n+ \"0x1d955983044548E03DAA583B36A37cA4bdE6F556\"\n values.settings.minSignerListLength:\n- 9\n+ 8\n }\n```\n\n```diff\n contract EmergencyMultisig (0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: The total count of encrypted emergency proposals created.\n values.proposalCount:\n- 21\n+ 23\n }\n```\n\n```diff\n contract DefaultResolver (0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.namedAddresses.11.name:\n- \"taiko_token\"\n+ \"0x7370315f72656d6f74655f766572696669657200000000000000000000000000\"\n values.namedAddresses.11.address:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"0xFF5Adab685362DC4C33536a65aF5873738D1216B\"\n values.namedAddresses.10.name:\n- \"0x7370315f72656d6f74655f766572696669657200000000000000000000000000\"\n+ \"taiko_token\"\n values.namedAddresses.10.address:\n- \"0x68593ad19705E9Ce919b2E368f5Cb7BAF04f7371\"\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SP1Verifier (0x68593ad19705E9Ce919b2E368f5Cb7BAF04f7371)\n +++ description: Verifier contract for SP1 proofs.\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 13\n+ 14\n values.proposalIds.13:\n+ \"594516471058441525137805458817300690127055486982\"\n values.proposalIds.12:\n- \"594516471058441525137805458817300690127055486982\"\n+ \"594368007222883387369940600290236287695678603267\"\n values.proposalIds.11:\n- \"594368007222883387369940600290236287695678603267\"\n+ \"594789857995414210150628315872956409027640688649\"\n values.proposalIds.10:\n- \"594789857995414210150628315872956409027640688649\"\n+ \"594333890512775894079591912881534348495153004546\"\n values.proposalIds.9:\n- \"594333890512775894079591912881534348495153004546\"\n+ \"594544283016854707280302755040001935835586887687\"\n values.proposalIds.8:\n- \"594544283016854707280302755040001935835586887687\"\n+ \"594516360806954642753743290707182802352260251653\"\n values.proposalIds.7:\n- \"594516360806954642753743290707182802352260251653\"\n+ \"594868197801926748603689506985812031612995502090\"\n values.proposalIds.6:\n- \"594868197801926748603689506985812031612995502090\"\n+ \"594516275055798178677248899489514254466604335108\"\n values.proposalIds.5:\n- \"594516275055798178677248899489514254466604335108\"\n+ \"594544466769332844587073035223531748793578946568\"\n values.proposalIds.4:\n- \"594544466769332844587073035223531748793578946568\"\n+ \"595112788683881116119978678391417950963358498829\"\n }\n```\n\n```diff\n contract SP1VerifierGateway (0xbee1040D0Aab17AE19454384904525aE4A3602B9) {\n +++ description: Entry contract to verify batches using SP1.\n sourceHashes.1:\n- \"0x5ae248a45849f9700bac9ab8fbd1570be72258e51c738511f3468f788e1127ca\"\n+ \"0x21ba9895a752c42c9a52b397fdc8ee7c4c22e621273f53176f80c853e2502ca0\"\n values.$implementation:\n- \"0x35f26e14D0dAeDd1904843370f761C60B891D466\"\n+ \"0x2E17aC86CafC1db939C9942E478F92bF0E548Ee7\"\n values.$pastUpgrades.1:\n+ [\"2025-06-04T00:40:23.000Z\",\"0xbdc86ada3808a5987cd1f4bbc49ecd2d7e577bf90642956442a3d14cffa827ec\",[\"0x2E17aC86CafC1db939C9942E478F92bF0E548Ee7\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.impl:\n- \"0x35f26e14D0dAeDd1904843370f761C60B891D466\"\n+ \"0x2E17aC86CafC1db939C9942E478F92bF0E548Ee7\"\n values.sp1RemoteVerifier:\n- \"0x68593ad19705E9Ce919b2E368f5Cb7BAF04f7371\"\n+ \"0xFF5Adab685362DC4C33536a65aF5873738D1216B\"\n implementationNames.0x35f26e14D0dAeDd1904843370f761C60B891D466:\n- \"SP1Verifier\"\n implementationNames.0x2E17aC86CafC1db939C9942E478F92bF0E548Ee7:\n+ \"TaikoSP1Verifier\"\n }\n```\n\n```diff\n contract Multisig (0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 6\n+ 9\n }\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (0xFF5Adab685362DC4C33536a65aF5873738D1216B)\n +++ description: Verifier contract for SP1 proofs.\n```"
}
]
},
{
"id": "d76833ed",
"date": "Fri, 30 May 2025 14:28:14 GMT",
"timestamp": 1748615294,
"description": "Add DAO and SC related contracts.",
"isHighSeverity": false,
"changeCount": 14,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract Halborn (0x0F40268Ec0Dc8D88CF2f22E227A29a0b478b6351)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SignerList (0x0F95E6968EC1B28c794CF1aD99609431de5179c2)\n +++ description: A signer list for registering agents, similar to a Multisig.\n```\n\n```diff\n+ Status: CREATED\n contract Drew Van der Werff (0x25d3E89bAcE2040Ed3aF7c4c7B505cfBB72fD6f1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EmergencyMultisig (0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd)\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n```\n\n```diff\n+ Status: CREATED\n contract EncryptionRegistry (0x2eFDb93a3B87b930E553d504db67Ee41c69C42d1)\n +++ description: A registry for signers (of the Security Council) to appoint agents to operate on their behalf. These agents can also register their encryption keys for encrypted emergency proposal support.\n```\n\n```diff\n+ Status: CREATED\n contract Chainbound (0x436a1075099A145417EBFc74BBaC9605e3e4f1A7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Nethermind (0x5353c607e6eca6C63FEC5c6C0F5CC3a5348d5c95)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimisticTokenVotingPlugin (0x989E348275b659d36f8751ea1c10D146211650BE)\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n```\n\n```diff\n+ Status: CREATED\n contract Toni Wahrstätter (0xa384E224A3F3D664F43eBE33395eF0DCcE67e894)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Aragon (0xb284810536C0dAB6A8e48153B58588A9B9e0F701)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Daniel Wang (0xb47fE76aC588101BFBdA9E68F66433bA51E8029a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Safe (0xD5cF6A34Ba5fb9289510dC93c03F1f9084798487)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Multisig (0xD7dA1C25E915438720692bC55eb3a7170cA90321)\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n```\n\n```diff\n+ Status: CREATED\n contract L2BEAT (0xf1cF63589A1e012F9124182c9eAa36B5333e5f06)\n +++ description: None\n```"
}
]
},
{
"id": "efb0e1a0",
"date": "Fri, 30 May 2025 11:13:55 GMT",
"timestamp": 1748603635,
"description": "Ignore spammy batches/state values.",
"isHighSeverity": false,
"changeCount": 44,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Taiko Foundation Treasury Multisig (0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da) {\n +++ description: None\n values.$members.5:\n+ \"0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n values.$members.4:\n- \"0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n+ \"0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1\"\n values.$members.3:\n- \"0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1\"\n+ \"0xFa92ff698D57f7B875570D9F59501812B843CD44\"\n values.$members.2:\n- \"0xFa92ff698D57f7B875570D9F59501812B843CD44\"\n+ \"0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a\"\n values.$threshold:\n- 3\n+ 4\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"4 of 6 (67%)\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.5:\n+ \"0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n values.$members.4:\n- \"0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n+ \"0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1\"\n values.$members.3:\n- \"0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1\"\n+ \"0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a\"\n values.multisigThreshold:\n- \"4 of 5 (80%)\"\n+ \"4 of 6 (67%)\"\n receivedPermissions.27:\n+ {\"permission\":\"upgrade\",\"from\":\"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\",\"role\":\"admin\"}\n receivedPermissions.26:\n+ {\"permission\":\"upgrade\",\"from\":\"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\",\"role\":\"admin\"}\n receivedPermissions.25:\n+ {\"permission\":\"upgrade\",\"from\":\"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\",\"role\":\"admin\"}\n receivedPermissions.24.from:\n- \"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n+ \"0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\"\n receivedPermissions.23.from:\n- \"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n+ \"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\"\n receivedPermissions.22.from:\n- \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n receivedPermissions.21.from:\n- \"0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\"\n+ \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n receivedPermissions.20.from:\n- \"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\"\n+ \"0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9\"\n receivedPermissions.19.from:\n- \"0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n+ \"0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n receivedPermissions.18.from:\n- \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n+ \"0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n receivedPermissions.17.from:\n- \"0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n+ \"0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.16.from:\n- \"0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n+ \"0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n receivedPermissions.15.from:\n- \"0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n+ \"0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\"\n receivedPermissions.14.from:\n- \"0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n+ \"0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n receivedPermissions.13.from:\n- \"0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\"\n+ \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n receivedPermissions.12.from:\n- \"0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n+ \"0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n receivedPermissions.11.from:\n- \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n receivedPermissions.10.from:\n- \"0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n+ \"0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\"\n receivedPermissions.9.from:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n receivedPermissions.8.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.8.from:\n- \"0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n+ \"0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.8.role:\n- \"admin\"\n+ \".owner\"\n receivedPermissions.8.description:\n+ \"can update the contract address for a given name\"\n receivedPermissions.7.from:\n- \"0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n+ \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n receivedPermissions.7.description:\n- \"can update the contract address for a given name\"\n+ \"can update the program being verified\"\n receivedPermissions.6.from:\n- \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\"\n receivedPermissions.5.from:\n- \"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\"\n+ \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n receivedPermissions.5.description:\n- \"can update the program being verified\"\n+ \"can update the contract address for a given name\"\n receivedPermissions.4.from:\n- \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n+ \"0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n receivedPermissions.4.description:\n- \"can update the contract address for a given name\"\n+ \"can update the program being verified\"\n receivedPermissions.3.from:\n- \"0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n+ \"0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\"\n receivedPermissions.3.description:\n- \"can update the program being verified\"\n+ \"can update the contract address for a given name\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DefaultResolver (0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9)\n +++ description: None\n```"
}
]
},
{
"id": "167b8dff",
"date": "Wed, 28 May 2025 11:33:59 GMT",
"timestamp": 1748432039,
"description": "Main TaikoL1 contract has been upgraded to an intermediate proxy that points to both an old and new implementation. The old implementation is also not the same as the actually previous one, but it's just add a \"Pacaya\" fork height that prevents proposing or proving for new blocks. The new fork compared to the new presents some simplifications, like removal of `AddressCache`, `AddressResolver`, `IAddressResolver`, `ITaikoL1`, `LibBonds`, `LibData`, `LibProposing`, `LibProving`, `LibUtils`, `LibVerifying`, `RollupAddressCache`, `SafeCastUpgradeable`, `TaikoData`, and `TaikoEvents`. The address resolving logic is still present and has been moved to the `EssentialContract` contract.\n\nAt the time of writing, calls are still forwarded to the old impl as the Pacaya fork is expected to go live on Wed 21 May. `ITaikoInbox` and `TaikoInbox` replace `ITaikoL1` and `TaikoL1`. Batches have replaced blocks, as now one batch can contain multiple blocks. Instead of `proposeBlocksV2`, the `proposeBatch` function is called to sequence blocks. An `InboxWrapper` contract has been introduced, which is referenced by the `TaikoInbox`. The `InboxWrapper` references a `ForcedInclusionStore` contract that is used to submit forced transactions. All forced transactions must pay a fee, and it's currently set to a very high value meaning that the mechanism is in practice disabled. The slowest forced transactions can be included is one by one every 255 batches, creating a potential DoS attack via spam of forced transactions. It's therefore not clear how to estimate exit windows (not that it matters rn).\n\nThe `proveBatches` function reflects the removal of tiers. The `_params` is decoded into `metas[]` (metadatas) and `trans[]` (transitions). On transition ids: when a batch is first proposed, the `nextTransitionId` is 1 and the `verifiedTransitionId` is zero. When a batch is proven for the first time, the `nextTransitionId` is incremented to 2, the proofs get verified, everything is good. The same batch can be proven again: it is checked that the new block hash and new state root also corresponds. If it does, it is treated as a no-op, if it doesn't, the block hash of the transition is set to zero, and contracts are paused. It is possible to prove a fault this way by providing a different starting point for the proving process, by providing a different `parentHash` to start from. Batches whose transitions' `blockHash` is set to zero are skipped during the `verifyBatches` call.\n \nThe `verifyBatches` function also reflects the removal of tiers. The main function is still to credit back bonds to the proposer, specifically the full liveness bond if the block has been proved within the proving window, or half bond if not.\n \nThe `verifier` is actually a multi-proof system with 4 verifiers: sp1, r0, sgx_reth and sgx_geth. A proof must contain exactly two sub-proofs targeting two different verifiers. An ordering is defined between them based on their address: r0 -> sgx_geth -> sgx_reth -> sp1. It is required that one of the verifiers used is sgx_geth. It is possible to use two TEEs to verify a block, which causes them to still be affected by our recategorization.",
"isHighSeverity": true,
"changeCount": 263,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1 (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: Main contract implementing the logic for proposing and proving Taiko blocks on L1.\n name:\n- \"MainnetTaikoL1\"\n+ \"TaikoL1\"\n template:\n- \"taiko/TaikoL1Contract\"\n+ \"taiko/TaikoL1PostPacaya\"\n sourceHashes.1:\n- \"0x8c8d91a3b010953954bbd3ba9f4c55f76112bf6d7f298dcd584c2de94a4ad1a4\"\n+ \"0xc4ae3ca2fcf606673a1324989a7ac169b3fdb6780917814506e56898484e99d7\"\n description:\n- \"This contract provides functionalities for proposing, proving, and verifying blocks.\"\n+ \"Main contract implementing the logic for proposing and proving Taiko blocks on L1.\"\n values.$implementation:\n- \"0x5110634593Ccb8072d161A7d260A409A7E74D7Ca\"\n+ [\"0x4e030b19135869F6fd926614754B7F9c184E2B83\",\"0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264\",\"0x497B13f9192B09244de9b5F0964830969FB26F07\"]\n values.$pastUpgrades.25:\n+ [\"2024-11-10T16:10:23.000Z\",\"0x5eb57ab352b3e3c1ddbc3fe468d582901b88c6a137ce49b0d70857d5218d626d\",[\"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\",\"0x0000000000000000000000000000000000000000\",\"0x0000000000000000000000000000000000000000\"]]\n values.$pastUpgrades.24:\n+ [\"2025-05-16T02:36:23.000Z\",\"0x78f766ae83ce94ef2293c9c7d81ae514e8fa0a79fbce1530c3c68d7624708795\",[\"0x4e030b19135869F6fd926614754B7F9c184E2B83\",\"0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264\",\"0x497B13f9192B09244de9b5F0964830969FB26F07\"]]\n values.$pastUpgrades.23.2:\n- \"0x5eb57ab352b3e3c1ddbc3fe468d582901b88c6a137ce49b0d70857d5218d626d\"\n+ \"0x2c455ae888a23c232bb5c7603657eda010ffadc602a74e626332bc06eaaa3b78\"\n values.$pastUpgrades.23.1:\n- \"2024-11-10T16:10:23.000Z\"\n+ \"2024-06-04T06:10:11.000Z\"\n values.$pastUpgrades.23.0.2:\n- \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n+ \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n values.$pastUpgrades.22.2:\n- \"0x2c455ae888a23c232bb5c7603657eda010ffadc602a74e626332bc06eaaa3b78\"\n+ \"0x6368890b9aa2f87c6a6b727efdd8af0ea357a11460b546d8a7f3e19e38a34e41\"\n values.$pastUpgrades.22.1:\n- \"2024-06-04T06:10:11.000Z\"\n+ \"2025-02-27T03:27:23.000Z\"\n values.$pastUpgrades.22.0.2:\n- \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n+ \"0x5110634593Ccb8072d161A7d260A409A7E74D7Ca\"\n values.$pastUpgrades.21.2:\n- \"0x6368890b9aa2f87c6a6b727efdd8af0ea357a11460b546d8a7f3e19e38a34e41\"\n+ \"0x78ca7c7d9c7e5aa9c5e6ab80e0229289a8d3bc8df2c2b9ba6baa74a0f60a0703\"\n values.$pastUpgrades.21.1:\n- \"2025-02-27T03:27:23.000Z\"\n+ \"2024-11-03T05:15:23.000Z\"\n values.$pastUpgrades.21.0.2:\n- \"0x5110634593Ccb8072d161A7d260A409A7E74D7Ca\"\n+ \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n values.$pastUpgrades.20.2:\n- \"0x78ca7c7d9c7e5aa9c5e6ab80e0229289a8d3bc8df2c2b9ba6baa74a0f60a0703\"\n+ \"2024-05-27T16:37:11.000Z\"\n values.$pastUpgrades.20.1:\n- \"2024-11-03T05:15:23.000Z\"\n+ \"0x187cc99e9bcf2a94f723cf52d85b74b79bdb3872681e2a3808cadbbc3ba301e2\"\n values.$pastUpgrades.20.0.2:\n- \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n+ \"0xa200c2268d77737a8Fd2CA1698dA6eeab2a85CEb\"\n values.$pastUpgrades.19.2:\n- \"2024-05-27T16:37:11.000Z\"\n+ \"0xaed098ad0c93113e401f61358f963501f40a046c5b5b659a1610f10120a9a86b\"\n values.$pastUpgrades.19.1:\n- \"0x187cc99e9bcf2a94f723cf52d85b74b79bdb3872681e2a3808cadbbc3ba301e2\"\n+ \"2024-05-21T14:15:11.000Z\"\n values.$pastUpgrades.19.0.2:\n- \"0xa200c2268d77737a8Fd2CA1698dA6eeab2a85CEb\"\n+ \"0xe0A5D394878723CEAEC8B993e04756DF1f4B44eF\"\n values.$pastUpgrades.18.2:\n- \"0xaed098ad0c93113e401f61358f963501f40a046c5b5b659a1610f10120a9a86b\"\n+ \"0x77871837d1749b22a7991da475e657baa4371937f5a8cb094d4e170db000cb25\"\n values.$pastUpgrades.18.1:\n- \"2024-05-21T14:15:11.000Z\"\n+ \"2024-12-24T14:19:11.000Z\"\n values.$pastUpgrades.18.0.2:\n- \"0xe0A5D394878723CEAEC8B993e04756DF1f4B44eF\"\n+ \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n values.$pastUpgrades.17.2:\n- \"0x77871837d1749b22a7991da475e657baa4371937f5a8cb094d4e170db000cb25\"\n+ \"2025-05-15T08:40:47.000Z\"\n values.$pastUpgrades.17.1:\n- \"2024-12-24T14:19:11.000Z\"\n+ [\"0x5eEcd1305aC72d4a77Bf3BD734e81c15e2A2adEf\",\"0xaA64D5A3A26D1e76AcAf6e22c199D02d58076A01\",\"0x497B13f9192B09244de9b5F0964830969FB26F07\"]\n values.$pastUpgrades.17.0:\n- [\"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\",\"0x0000000000000000000000000000000000000000\",\"0x0000000000000000000000000000000000000000\"]\n+ \"0x97789b6668d0a287b1f57bb6c8e23cce62308fb887139faeb0f06b77855995fd\"\n values.$upgradeCount:\n- 24\n+ 26\n values.addressManager:\n- \"0x579f40D0BE111b823962043702cabe6Aaa290780\"\n values.assignment_hook:\n- \"0x0000000000000000000000000000000000000000\"\n values.automata_dcap_attestation:\n- \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n values.bond_token:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.bridge:\n- \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n values.bridge_watchdog:\n- \"0x0000000000000000000000000000000000000000\"\n values.bridged_erc1155:\n- \"0x0000000000000000000000000000000000000000\"\n values.bridged_erc20:\n- \"0x0000000000000000000000000000000000000000\"\n values.bridged_erc721:\n- \"0x0000000000000000000000000000000000000000\"\n values.chain_watchdog:\n- \"0xE3D777143Ea25A6E031d1e921F396750885f43aC\"\n values.erc1155_vault:\n- \"0x0000000000000000000000000000000000000000\"\n values.erc20_vault:\n- \"0x0000000000000000000000000000000000000000\"\n values.erc721_vault:\n- \"0x0000000000000000000000000000000000000000\"\n values.getLastSyncedBlock:\n- {\"blockId_\":1148703,\"blockHash_\":\"0x5a7e198eb91f666cb2a95abeb5585a7e9485c6c4a3008f8275c34ffedc3f1031\",\"stateRoot_\":\"0x775e54de208c8220b5e302d1c845c1b25cf99ed1f8807ac36e20589e3b56231d\",\"verifiedAt_\":1747209131}\n values.getLastVerifiedBlock.blockId_:\n- 1148703\n+ 1178564\n values.getLastVerifiedBlock.blockHash_:\n- \"0x5a7e198eb91f666cb2a95abeb5585a7e9485c6c4a3008f8275c34ffedc3f1031\"\n+ \"0x30dabf999649a05a6aeb9d9e30b6a2910788dbffb4a7fcdb5ec3f49934a0e12b\"\n values.getLastVerifiedBlock.stateRoot_:\n- \"0x775e54de208c8220b5e302d1c845c1b25cf99ed1f8807ac36e20589e3b56231d\"\n+ \"0x339e2ac188194e6fd6bc0e129c2232940ca5c0efd7c7015435aafae3a1cb6587\"\n values.getLastVerifiedBlock.verifiedAt_:\n- 1747209131\n+ 1738480871\n values.getStateVariables.1.genesisHeight:\n- 19923613\n values.getStateVariables.1.genesisTimestamp:\n- 1716358991\n values.getStateVariables.1.lastSyncedBlockId:\n- 1148703\n values.getStateVariables.1.lastSynecdAt:\n- 1747226267\n values.getStateVariables.1.numBlocks:\n+ 1178840\n values.getStateVariables.1.lastVerifiedBlockId:\n+ 1178564\n values.getStateVariables.1.provingPaused:\n+ false\n values.getStateVariables.1.lastProposedIn:\n+ 22579860\n values.getStateVariables.1.lastUnpausedAt:\n+ 1716571955\n values.getStateVariables.0.numBlocks:\n- 1149204\n values.getStateVariables.0.lastVerifiedBlockId:\n- 1148703\n values.getStateVariables.0.provingPaused:\n- false\n values.getStateVariables.0.lastProposedIn:\n- 22481927\n values.getStateVariables.0.lastUnpausedAt:\n- 1716571955\n values.getStateVariables.0.genesisHeight:\n+ 19923613\n values.getStateVariables.0.genesisTimestamp:\n+ 1716358991\n values.getStateVariables.0.lastSyncedBlockId:\n+ 1178564\n values.getStateVariables.0.lastSynecdAt:\n+ 1748416535\n values.impl:\n- \"0x5110634593Ccb8072d161A7d260A409A7E74D7Ca\"\n+ \"0x4e030b19135869F6fd926614754B7F9c184E2B83\"\n values.lastProposedIn:\n- 22481927\n+ 22579860\n values.lastUnpausedAt:\n- 1716571955\n values.preconf_task_manager:\n- \"0x0000000000000000000000000000000000000000\"\n values.proposer:\n- \"0x000000633b68f5D8D3a86593ebB815b4663BCBe0\"\n values.proposer_one:\n- \"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\"\n values.prover_assignment:\n- \"0x0000000000000000000000000000000000000000\"\n values.prover_set:\n- \"0x280eAbfd252f017B78e15b69580F249F45FB55Fa\"\n values.proxiableUUID:\n- \"EXPECT_REVERT\"\n values.quota_manager:\n- \"0x0000000000000000000000000000000000000000\"\n values.return_liveness_bond:\n- \"0x0000000000000000000000000000000000000000\"\n values.sgx_watchdog:\n- \"0x0000000000000000000000000000000000000000\"\n values.signal_root:\n- \"0x0000000000000000000000000000000000000000\"\n values.signal_service:\n- \"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n values.sp1_remote_verifier:\n- \"0x68593ad19705E9Ce919b2E368f5Cb7BAF04f7371\"\n values.state.slotA:\n- {\"genesisHeight\":19923613,\"genesisTimestamp\":1716358991,\"lastSyncedBlockId\":1148703,\"lastSynecdAt\":1747226267}\n values.state.slotB:\n- {\"numBlocks\":1149204,\"lastVerifiedBlockId\":1148703,\"provingPaused\":false,\"lastProposedIn\":22481927,\"lastUnpausedAt\":1716571955}\n values.state.stats1:\n+ {\"genesisHeight\":19923613,\"__reserved2\":1716358991,\"lastSyncedBatchId\":1178564,\"lastSyncedAt\":1748416535}\n values.state.stats2:\n+ {\"numBatches\":1178840,\"lastVerifiedBatchId\":1178564,\"paused\":false,\"lastProposedIn\":22579860,\"lastUnpausedAt\":1716571955}\n values.state_root:\n- \"0x0000000000000000000000000000000000000000\"\n values.taiko:\n- \"0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\"\n values.taiko_token:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.tier_router:\n- \"0x44d307a9ec47aA55a7a30849d065686753C86Db6\"\n values.verifier_RISCZERO_GROTH16_VERIFIER:\n- \"0x48E32eFbe22e180A3FFe617f4955cD83B983dd98\"\n values.verifier_TIER_GUARDIAN:\n- \"0xE3D777143Ea25A6E031d1e921F396750885f43aC\"\n values.verifier_TIER_GUARDIAN_MINORITY:\n- \"0x579A8d63a2Db646284CBFE31FE5082c9989E985c\"\n values.verifier_TIER_OPTIMISTIC:\n- \"0x0000000000000000000000000000000000000000\"\n values.verifier_TIER_SGX:\n- \"0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81\"\n values.verifier_TIER_TDX:\n- \"0x0000000000000000000000000000000000000000\"\n values.verifier_TIER_TEE_ANY:\n- \"0x0000000000000000000000000000000000000000\"\n values.verifier_TIER_ZKVM_AND_TEE:\n- \"0x0000000000000000000000000000000000000000\"\n values.verifier_TIER_ZKVM_ANY:\n- \"0x0000000000000000000000000000000000000000\"\n values.verifier_TIER_ZKVM_RISC0:\n- \"0x55902b2D3DF2A65370A89C86Ae9dd71Ecd508edc\"\n values.verifier_TIER_ZKVM_SP1:\n- \"0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452\"\n values.withdrawer:\n- \"0x0000000000000000000000000000000000000000\"\n values.bondToken:\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.getLastSyncedTransition:\n+ {\"batchId_\":1178564,\"blockId_\":1178564,\"ts_\":{\"parentHash\":\"0x7c801227fd8912dfd03b4b1f664ae228b579aa782a221a4a4569131637ab2955\",\"blockHash\":\"0x30dabf999649a05a6aeb9d9e30b6a2910788dbffb4a7fcdb5ec3f49934a0e12b\",\"stateRoot\":\"0x339e2ac188194e6fd6bc0e129c2232940ca5c0efd7c7015435aafae3a1cb6587\",\"prover\":\"0x41F2F55571f9e8e3Ba511Adc48879Bd67626A2b6\",\"inProvingWindow\":true,\"createdAt\":1748406971}}\n values.getLastVerifiedTransition:\n+ {\"batchId_\":1178564,\"blockId_\":1178564,\"ts_\":{\"parentHash\":\"0x7c801227fd8912dfd03b4b1f664ae228b579aa782a221a4a4569131637ab2955\",\"blockHash\":\"0x30dabf999649a05a6aeb9d9e30b6a2910788dbffb4a7fcdb5ec3f49934a0e12b\",\"stateRoot\":\"0x339e2ac188194e6fd6bc0e129c2232940ca5c0efd7c7015435aafae3a1cb6587\",\"prover\":\"0x41F2F55571f9e8e3Ba511Adc48879Bd67626A2b6\",\"inProvingWindow\":true,\"createdAt\":1748406971}}\n values.getStats1:\n+ {\"genesisHeight\":19923613,\"__reserved2\":1716358991,\"lastSyncedBatchId\":1178564,\"lastSyncedAt\":1748416535}\n values.getStats2:\n+ {\"numBatches\":1178840,\"lastVerifiedBatchId\":1178564,\"paused\":false,\"lastProposedIn\":22579860,\"lastUnpausedAt\":1716571955}\n values.inboxWrapper:\n+ \"0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n values.isOnL1:\n+ true\n values.newFork:\n+ \"0x497B13f9192B09244de9b5F0964830969FB26F07\"\n values.oldFork:\n+ \"0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264\"\n values.pacayaConfig:\n+ {\"chainId\":167000,\"maxUnverifiedBatches\":324000,\"batchRingBufferSize\":360000,\"maxBatchesToVerify\":16,\"blockMaxGasLimit\":240000000,\"livenessBondBase\":\"125000000000000000000\",\"livenessBondPerBlock\":0,\"stateRootSyncInternal\":4,\"maxAnchorHeightOffset\":64,\"baseFeeConfig\":{\"adjustmentQuotient\":8,\"sharingPctg\":50,\"gasIssuancePerSecond\":5000000,\"minGasExcess\":1344899430,\"maxGasIssuancePerBlock\":600000000},\"provingWindow\":7200,\"cooldownWindow\":7200,\"maxSignalsToReceive\":16,\"maxBlocksPerBatch\":768,\"forkHeights\":{\"ontake\":538304,\"pacaya\":1166000,\"shasta\":0,\"unzen\":0}}\n values.resolver:\n+ \"0x0000000000000000000000000000000000000000\"\n values.signalService:\n+ \"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n values.verifier:\n+ \"0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n implementationNames.0x5110634593Ccb8072d161A7d260A409A7E74D7Ca:\n- \"MainnetTaikoL1\"\n implementationNames.0x4e030b19135869F6fd926614754B7F9c184E2B83:\n+ \"PacayaForkRouter\"\n implementationNames.0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264:\n+ \"MainnetTaikoL1\"\n implementationNames.0x497B13f9192B09244de9b5F0964830969FB26F07:\n+ \"MainnetInbox\"\n category:\n- {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract TaikoToken (0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800) {\n +++ description: ERC20 contract implementing the TAIKO token. It defines a list of addresses designated as non-voting.\n template:\n- \"taiko/TaikoToken\"\n+ \"taiko/TaikoTokenPostPacaya\"\n sourceHashes.1:\n- \"0xc44a84c18fe7660acbe7750e0a14401b3a0a0ad97d8c81305bd879dca88d873b\"\n+ \"0x2b1eb63ab3adb1a0783bae6252816727a2fb5d150dd0e9912e0a01e4ee224be9\"\n sourceHashes.0:\n- \"0xea41529d3c7a5cd7651ff173711c111016d65e4345f6f60dc2af04d8ddef375f\"\n+ \"0xc44a84c18fe7660acbe7750e0a14401b3a0a0ad97d8c81305bd879dca88d873b\"\n description:\n- \"Taiko's native token. Used for block proposal rewards, proving bonds and rewards, and contesting bonds.\"\n+ \"ERC20 contract implementing the TAIKO token. It defines a list of addresses designated as non-voting.\"\n values.$implementation:\n- \"0x87C752b0F70cAa237Edd7571B0845470A37DE040\"\n+ \"0x5C96Ff5B7F61b9E3436Ef04DA1377C8388dfC106\"\n values.$pastUpgrades.6:\n+ [\"2024-05-29T08:03:23.000Z\",\"0x56402f9fd928be890fbd29829b817faffc0780b85e83300a29962c969808cae2\",[\"0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F\"]]\n values.$pastUpgrades.5.2:\n- \"0x56402f9fd928be890fbd29829b817faffc0780b85e83300a29962c969808cae2\"\n+ \"2024-05-11T05:46:11.000Z\"\n values.$pastUpgrades.5.1.0:\n- \"0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F\"\n+ \"0xea53c0f4b129Cf3f3FBA896F9f23ca18246e9B3c\"\n values.$pastUpgrades.5.0:\n- \"2024-05-29T08:03:23.000Z\"\n+ \"0x7d82794932540ed9edd259e58f6ef8ae21a49beada7f0224638f888f7149c01c\"\n values.$pastUpgrades.4.2:\n- \"2024-05-11T05:46:11.000Z\"\n+ \"0x4f7a1c6ad21fbfeaecab40ea36a3845bf67e22d7770d8a259d62b995cb93cb34\"\n values.$pastUpgrades.4.1.0:\n- \"0xea53c0f4b129Cf3f3FBA896F9f23ca18246e9B3c\"\n+ \"0x9ae1a067F9655DD0511390e3d70Bb25933AE61eb\"\n values.$pastUpgrades.4.0:\n- \"0x7d82794932540ed9edd259e58f6ef8ae21a49beada7f0224638f888f7149c01c\"\n+ \"2024-04-25T08:29:59.000Z\"\n values.$pastUpgrades.3.2:\n- \"0x4f7a1c6ad21fbfeaecab40ea36a3845bf67e22d7770d8a259d62b995cb93cb34\"\n+ \"0xdb7d5de46738ad3f676db47b61772db531f9858b7a01e8c3b5aee49fa74cac95\"\n values.$pastUpgrades.3.1.0:\n- \"0x9ae1a067F9655DD0511390e3d70Bb25933AE61eb\"\n+ \"0x87C752b0F70cAa237Edd7571B0845470A37DE040\"\n values.$pastUpgrades.3.0:\n- \"2024-04-25T08:29:59.000Z\"\n+ \"2025-05-13T00:47:23.000Z\"\n values.$pastUpgrades.2.2:\n- \"0xdb7d5de46738ad3f676db47b61772db531f9858b7a01e8c3b5aee49fa74cac95\"\n+ \"2024-07-02T07:15:47.000Z\"\n values.$pastUpgrades.2.1.0:\n- \"0x87C752b0F70cAa237Edd7571B0845470A37DE040\"\n+ \"0xcfe803378D79d1180EbF030455040EA6513869dF\"\n values.$pastUpgrades.2.0:\n- \"2025-05-13T00:47:23.000Z\"\n+ \"0xc9f468d33d8d55911e4e5b5c301ed244a5f81ab0f389d2b4f398eb5b89d417ef\"\n values.$pastUpgrades.1.2:\n- \"2024-07-02T07:15:47.000Z\"\n+ [\"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"]\n values.$pastUpgrades.1.1:\n- [\"0xcfe803378D79d1180EbF030455040EA6513869dF\"]\n+ \"2024-06-07T04:02:11.000Z\"\n values.$pastUpgrades.1.0:\n- \"0xc9f468d33d8d55911e4e5b5c301ed244a5f81ab0f389d2b4f398eb5b89d417ef\"\n+ \"0x0bbf7d1258c646f41a02a92a55825b1ebfd3659577d0f2b57b462f8895e23a04\"\n values.$pastUpgrades.0.2.0:\n- \"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"\n+ \"0x5C96Ff5B7F61b9E3436Ef04DA1377C8388dfC106\"\n values.$pastUpgrades.0.1:\n- \"2024-06-07T04:02:11.000Z\"\n+ \"0x986fc2c7ae945cdd358b2f2ae54364b350026f965f5861ed470f78e145f12626\"\n values.$pastUpgrades.0.0:\n- \"0x0bbf7d1258c646f41a02a92a55825b1ebfd3659577d0f2b57b462f8895e23a04\"\n+ \"2025-05-15T05:12:11.000Z\"\n values.$upgradeCount:\n- 6\n+ 7\n values.clock:\n- 1747232111\n+ 1748418323\n values.getNonVotingAccounts.3:\n+ \"0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3\"\n values.getNonVotingAccounts.2:\n+ \"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n values.getNonVotingAccounts.1:\n- \"0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.impl:\n- \"0x87C752b0F70cAa237Edd7571B0845470A37DE040\"\n+ \"0x5C96Ff5B7F61b9E3436Ef04DA1377C8388dfC106\"\n values.proxiableUUID:\n- \"EXPECT_REVERT\"\n values.TAIKO_ERC20_VAULT:\n+ \"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n implementationNames.0x87C752b0F70cAa237Edd7571B0845470A37DE040:\n- \"TaikoToken\"\n implementationNames.0x5C96Ff5B7F61b9E3436Ef04DA1377C8388dfC106:\n+ \"TaikoToken\"\n category:\n- {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetProverSet (0x280eAbfd252f017B78e15b69580F249F45FB55Fa)\n +++ description: A contract that holds TAIKO token and acts as a Taiko Labs owned proposer and prover proxy. This contract relays `proveBlock` calls to the TaikoL1 contract so that msg.sender doesn't need to hold any TAIKO. There are several instances of this contract operated by different entities.\n```\n\n```diff\n- Status: DELETED\n contract MainnetTierRouter (0x44d307a9ec47aA55a7a30849d065686753C86Db6)\n +++ description: Contract managing and routing the multi-tier proof system.\n```\n\n```diff\n- Status: DELETED\n contract Risc0VerifierGateway (0x55902b2D3DF2A65370A89C86Ae9dd71Ecd508edc)\n +++ description: Entry contract to verify batches using RISC Zero.\n```\n\n```diff\n- Status: DELETED\n contract MainnetGuardianProver (0x579A8d63a2Db646284CBFE31FE5082c9989E985c)\n +++ description: Verifier contract for blocks proven by Guardian minority.\n```\n\n```diff\n- Status: DELETED\n contract MainnetRollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780)\n +++ description: This contract manages the rollup addresses list, allowing to set the address for a specific chainId-name pair.\n```\n\n```diff\n- Status: DELETED\n contract SP1VerifierGateway (0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452)\n +++ description: Entry contract to verify batches using SP1.\n```\n\n```diff\n- Status: DELETED\n contract MainnetProverSet (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9)\n +++ description: A contract that holds TAIKO token and acts as a Taiko Labs owned proposer and prover proxy. This contract relays `proveBlock` calls to the TaikoL1 contract so that msg.sender doesn't need to hold any TAIKO. There are several instances of this contract operated by different entities.\n```\n\n```diff\n contract AutomataDcapV3Attestation (0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.11:\n+ \"0x3f71cf178a032816c2731a43aef746c464a5326e891dc881773ec2b599b2cf0a\"\n values.mrEnclaves.10:\n+ \"0xc90e5d2e39d1d3f8397a6048c32ba50139d1577c28985e1f7638785935f41734\"\n values.mrEnclaves.9:\n- \"0x3f71cf178a032816c2731a43aef746c464a5326e891dc881773ec2b599b2cf0a\"\n+ \"0x13ea9869632ac20b176ae0fdc39998b2a644a695db024ef7fe0e4b3c59084160\"\n values.mrEnclaves.8:\n- \"0xc90e5d2e39d1d3f8397a6048c32ba50139d1577c28985e1f7638785935f41734\"\n+ \"0x9546301721e2ea111ab0f79b6e529d6bb6c486ac98bcf7739429ad06c09db63d\"\n values.mrEnclaves.7:\n- \"0x13ea9869632ac20b176ae0fdc39998b2a644a695db024ef7fe0e4b3c59084160\"\n+ \"0xdfcb4fca3073e3f3a90b05d328688c32619d56f26789c0a9797aa10e765a7807\"\n values.mrEnclaves.6:\n- \"0x9546301721e2ea111ab0f79b6e529d6bb6c486ac98bcf7739429ad06c09db63d\"\n+ \"0xdcd483d3406d9b1871bb92420f5a080c4372e0d6b8522a4a2cb91a0f736669c6\"\n values.mrEnclaves.5:\n- \"0xdfcb4fca3073e3f3a90b05d328688c32619d56f26789c0a9797aa10e765a7807\"\n+ \"0xa096348d480eb0474f5eab182671933c029545521960d87d4e49283005809be9\"\n values.mrEnclaves.4:\n- \"0xa096348d480eb0474f5eab182671933c029545521960d87d4e49283005809be9\"\n+ \"0xa4eedfc6484494d4c08bfb9b9dd887c6e0540ba9d8ee207fe0e16814852e3356\"\n values.mrEnclaves.3:\n- \"0xa4eedfc6484494d4c08bfb9b9dd887c6e0540ba9d8ee207fe0e16814852e3356\"\n+ \"0x3551faac39edee5abfaa19ab065c217db1485aebae255a9edddf6dfff6b29b52\"\n values.mrEnclaves.2:\n- \"0x3551faac39edee5abfaa19ab065c217db1485aebae255a9edddf6dfff6b29b52\"\n+ \"0x3b589538b775ddbfc5fb028167ff846116159e6687aef9f849ca5a70a7871ea5\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.2:\n- \"0x1eE487CEdCe52c370DB11e62987F3ABe873E145A\"\n+ \"0x0aED2375549D1115e180bd0caea829C429Ea50B3\"\n values.$members.1:\n- \"0x7Cdd1c128Cd72dd252f569eeD942735330937F91\"\n+ \"0x1eE487CEdCe52c370DB11e62987F3ABe873E145A\"\n values.$members.0:\n- \"0x6B6072CE402F22fDcFbA1705383D8e280717Cb87\"\n+ \"0x7Cdd1c128Cd72dd252f569eeD942735330937F91\"\n values.$threshold:\n- 3\n+ 4\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"4 of 5 (80%)\"\n receivedPermissions.24:\n+ {\"permission\":\"upgrade\",\"from\":\"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\",\"role\":\"admin\"}\n receivedPermissions.23:\n+ {\"permission\":\"upgrade\",\"from\":\"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\",\"role\":\"admin\"}\n receivedPermissions.22:\n+ {\"permission\":\"upgrade\",\"from\":\"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\",\"role\":\"admin\"}\n receivedPermissions.21:\n+ {\"permission\":\"upgrade\",\"from\":\"0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\",\"role\":\"admin\"}\n receivedPermissions.20:\n+ {\"permission\":\"upgrade\",\"from\":\"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\",\"role\":\"admin\"}\n receivedPermissions.19.from:\n- \"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n+ \"0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n receivedPermissions.18.from:\n- \"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n+ \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n receivedPermissions.17.from:\n- \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n receivedPermissions.16.from:\n- \"0xE3D777143Ea25A6E031d1e921F396750885f43aC\"\n+ \"0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n receivedPermissions.15.from:\n- \"0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\"\n+ \"0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.14.from:\n- \"0x579A8d63a2Db646284CBFE31FE5082c9989E985c\"\n+ \"0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n receivedPermissions.13.from:\n- \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n+ \"0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\"\n receivedPermissions.12.from:\n- \"0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9\"\n+ \"0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n receivedPermissions.11.from:\n- \"0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n+ \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n receivedPermissions.10.from:\n- \"0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452\"\n+ \"0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n receivedPermissions.9.from:\n- \"0x579f40D0BE111b823962043702cabe6Aaa290780\"\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n receivedPermissions.8.from:\n- \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n+ \"0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n receivedPermissions.7.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.7.from:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.7.role:\n- \"admin\"\n+ \".owner\"\n receivedPermissions.7.description:\n+ \"can update the contract address for a given name\"\n receivedPermissions.6.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.6.from:\n- \"0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81\"\n+ \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n receivedPermissions.6.role:\n- \"admin\"\n+ \".owner\"\n receivedPermissions.6.description:\n+ \"can update the program being verified\"\n receivedPermissions.5.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.5.from:\n- \"0x55902b2D3DF2A65370A89C86Ae9dd71Ecd508edc\"\n+ \"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\"\n receivedPermissions.5.role:\n- \"admin\"\n+ \".owner\"\n receivedPermissions.5.description:\n+ \"can update the program being verified\"\n receivedPermissions.4.from:\n- \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n receivedPermissions.4.description:\n- \"can update the program being verified\"\n+ \"can update the contract address for a given name\"\n receivedPermissions.3.from:\n- \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n+ \"0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n receivedPermissions.3.description:\n- \"can update the contract address for a given name\"\n+ \"can update the program being verified\"\n receivedPermissions.2.from:\n- \"0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452\"\n+ \"0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n receivedPermissions.1.from:\n- \"0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81\"\n+ \"0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n receivedPermissions.0.from:\n- \"0x55902b2D3DF2A65370A89C86Ae9dd71Ecd508edc\"\n+ \"0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\"\n receivedPermissions.0.description:\n- \"can update the program being verified\"\n+ \"can add new instances without a DCAP attestation\"\n }\n```\n\n```diff\n contract MainnetSignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: The SignalService contract serves as cross-chain message passing system. It defines methods for sending and verifying signals with merkle proofs.\n sourceHashes.1:\n- \"0xf99b7d5f650d3734e945c5040d8e4776dfdc97ff745666e084c1d471b7973f38\"\n+ \"0xc978dbfc097ca447823c4a1eb83078cd63532727420b19287acc0f87e884285f\"\n values.$implementation:\n- \"0x45fed11Ba70D4217545F18E27DDAF7D76Ff499f3\"\n+ \"0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c\"\n values.$pastUpgrades.7:\n+ [\"2024-05-01T08:03:23.000Z\",\"0x0898d14da2f38d677085073d2decfb7ca32902406df2e7a84f6615d9c92d4516\",[\"0xE1d91bAE44B70bD66e8b688B8421fD62dcC33c72\"]]\n values.$pastUpgrades.6:\n+ [\"2024-06-06T08:51:11.000Z\",\"0x8de1631a25b337c1e702f9ce9d9ab8a3b626922441855e959b2d79dae40bd131\",[\"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"]]\n values.$pastUpgrades.5.2:\n- \"2024-05-01T08:03:23.000Z\"\n+ [\"0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c\"]\n values.$pastUpgrades.5.1:\n- \"0x0898d14da2f38d677085073d2decfb7ca32902406df2e7a84f6615d9c92d4516\"\n+ \"2025-05-18T14:25:11.000Z\"\n values.$pastUpgrades.5.0:\n- [\"0xE1d91bAE44B70bD66e8b688B8421fD62dcC33c72\"]\n+ \"0x0ae99d24b294622e3d3868c8dca911a5936231ce1f97254ec0c6a6f65f7aa81c\"\n values.$pastUpgrades.4.2.0:\n- \"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"\n+ \"0x0783Ee019C9b0f918A741469bD488A88827b3617\"\n values.$pastUpgrades.4.1:\n- \"0x8de1631a25b337c1e702f9ce9d9ab8a3b626922441855e959b2d79dae40bd131\"\n+ \"2025-05-15T08:40:47.000Z\"\n values.$pastUpgrades.4.0:\n- \"2024-06-06T08:51:11.000Z\"\n+ \"0x97789b6668d0a287b1f57bb6c8e23cce62308fb887139faeb0f06b77855995fd\"\n values.$upgradeCount:\n- 6\n+ 8\n values.addressManager:\n- \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n values.impl:\n- \"0x45fed11Ba70D4217545F18E27DDAF7D76Ff499f3\"\n+ \"0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c\"\n values.lastUnpausedAt:\n- 0\n values.resolver:\n+ \"0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n implementationNames.0x45fed11Ba70D4217545F18E27DDAF7D76Ff499f3:\n- \"MainnetSignalService\"\n implementationNames.0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c:\n+ \"MainnetSignalService\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetSgxVerifier (0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n- Status: DELETED\n contract MainnetGuardianProver (0xE3D777143Ea25A6E031d1e921F396750885f43aC)\n +++ description: Verifier contract for Guardian proven blocks.\n```\n\n```diff\n contract L1SharedAddressManager (0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.namedAddresses.10.name:\n- \"bridge_watchdog\"\n+ \"taiko_token\"\n values.namedAddresses.10.address:\n- \"0x00000291AB79c55dC4Fcd97dFbA4880DF4b93624\"\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.namedAddresses.9.name:\n- \"taiko_token\"\n+ \"signal_service\"\n values.namedAddresses.9.address:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"0x1670000000000000000000000000000000000005\"\n values.namedAddresses.8.name:\n- \"signal_service\"\n+ \"erc1155_vault\"\n values.namedAddresses.8.address:\n- \"0x1670000000000000000000000000000000000005\"\n+ \"0x1670000000000000000000000000000000000004\"\n values.namedAddresses.7.name:\n- \"erc1155_vault\"\n+ \"bridged_erc1155\"\n values.namedAddresses.7.address:\n- \"0x1670000000000000000000000000000000000004\"\n+ \"0x3c90963cFBa436400B0F9C46Aa9224cB379c2c40\"\n values.namedAddresses.6.name:\n- \"bridged_erc1155\"\n+ \"bridge\"\n values.namedAddresses.6.address:\n- \"0x3c90963cFBa436400B0F9C46Aa9224cB379c2c40\"\n+ \"0x1670000000000000000000000000000000000001\"\n values.namedAddresses.5.name:\n- \"bridge\"\n+ \"bridged_erc20\"\n values.namedAddresses.5.address:\n- \"0x1670000000000000000000000000000000000001\"\n+ \"0x65666141a541423606365123Ed280AB16a09A2e1\"\n values.namedAddresses.4.name:\n- \"bridged_erc20\"\n+ \"bridged_erc721\"\n values.namedAddresses.4.address:\n- \"0x65666141a541423606365123Ed280AB16a09A2e1\"\n+ \"0xC3310905E2BC9Cfb198695B75EF3e5B69C6A1Bf7\"\n values.namedAddresses.3.name:\n- \"bridged_erc721\"\n+ \"quota_manager\"\n values.namedAddresses.3.address:\n- \"0xC3310905E2BC9Cfb198695B75EF3e5B69C6A1Bf7\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.namedAddresses.2.name:\n- \"quota_manager\"\n+ \"erc721_vault\"\n values.namedAddresses.2.address:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x1670000000000000000000000000000000000003\"\n values.namedAddresses.1.name:\n- \"erc721_vault\"\n+ \"erc20_vault\"\n values.namedAddresses.1.address:\n- \"0x1670000000000000000000000000000000000003\"\n+ \"0x1670000000000000000000000000000000000002\"\n values.namedAddresses.0.name:\n- \"erc20_vault\"\n+ \"bridge_watchdog\"\n values.namedAddresses.0.address:\n- \"0x1670000000000000000000000000000000000002\"\n+ \"0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract ForcedInclusionStore (0x05d88855361808fA1d7fc28084Ef3fCa191c4e03)\n +++ description: Contract that allows to enqueue forced transaction through L1. A pending forced transaction must be processed every 255 batches.\n```\n\n```diff\n+ Status: CREATED\n contract AutomataDcapV3Attestation (0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261)\n +++ description: Contract managing SGX attestation certificates.\n```\n\n```diff\n+ Status: CREATED\n contract Risc0VerifierGateway (0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE)\n +++ description: Entry contract to verify batches using RISC Zero.\n```\n\n```diff\n+ Status: CREATED\n contract SgxVerifier (0x7e6409e9b6c5e2064064a6cC994f9a2e95680782)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract DefaultResolver (0x8Efa01564425692d0a0838DC10E300BD310Cb43e)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract SgxVerifier (0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoWrapper (0x9F9D2fC7abe74C79f86F0D1212107692430eef72)\n +++ description: Entry point for proposing blocks. It enforces the inclusion of forced transactions after their deadline.\n```\n\n```diff\n+ Status: CREATED\n contract VerifierGateway (0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1)\n +++ description: Gateway contract for the multi-proof system. It redirects proof to the appropriate verifier based on the proof type.\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGateway (0xbee1040D0Aab17AE19454384904525aE4A3602B9)\n +++ description: Entry contract to verify batches using SP1.\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract QuotaManager (0x91f67118DD47d502B1f0C354D0611997B022f29E)\n +++ description: Defines withdrawal limits per token.\n```"
}
]
},
{
"id": "c6c7f71d",
"date": "Tue, 13 May 2025 14:42:00 GMT",
"timestamp": 1747147320,
"description": "TAIKO token contract refactor and introduces an explicit list of non-voting accounts, the Foundation (TAIKO_FOUNDATION_TREASURY) and DAO contracts (TAIKO_DAO_CONTROLLER), for which token weight do not count. Sets up the DAO with a separate executor contract (TAIKO_DAO_CONTROLLER) helper that the DAO owns.",
"isHighSeverity": true,
"changeCount": 36,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoToken (0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800) {\n +++ description: Taiko's native token. Used for block proposal rewards, proving bonds and rewards, and contesting bonds.\n sourceHashes.1:\n- \"0x5da570fbffd5ab663ce8983496a9ded290ed853a950b4052ac93b35217babac8\"\n+ \"0xc44a84c18fe7660acbe7750e0a14401b3a0a0ad97d8c81305bd879dca88d873b\"\n sourceHashes.0:\n- \"0xc44a84c18fe7660acbe7750e0a14401b3a0a0ad97d8c81305bd879dca88d873b\"\n+ \"0xea41529d3c7a5cd7651ff173711c111016d65e4345f6f60dc2af04d8ddef375f\"\n values.$implementation:\n- \"0xcfe803378D79d1180EbF030455040EA6513869dF\"\n+ \"0x87C752b0F70cAa237Edd7571B0845470A37DE040\"\n values.$pastUpgrades.5:\n+ [\"2024-05-29T08:03:23.000Z\",\"0x56402f9fd928be890fbd29829b817faffc0780b85e83300a29962c969808cae2\",[\"0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F\"]]\n values.$pastUpgrades.4.2:\n- \"0x56402f9fd928be890fbd29829b817faffc0780b85e83300a29962c969808cae2\"\n+ \"2024-05-11T05:46:11.000Z\"\n values.$pastUpgrades.4.1.0:\n- \"0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F\"\n+ \"0xea53c0f4b129Cf3f3FBA896F9f23ca18246e9B3c\"\n values.$pastUpgrades.4.0:\n- \"2024-05-29T08:03:23.000Z\"\n+ \"0x7d82794932540ed9edd259e58f6ef8ae21a49beada7f0224638f888f7149c01c\"\n values.$pastUpgrades.3.2:\n- \"2024-05-11T05:46:11.000Z\"\n+ \"0x4f7a1c6ad21fbfeaecab40ea36a3845bf67e22d7770d8a259d62b995cb93cb34\"\n values.$pastUpgrades.3.1.0:\n- \"0xea53c0f4b129Cf3f3FBA896F9f23ca18246e9B3c\"\n+ \"0x9ae1a067F9655DD0511390e3d70Bb25933AE61eb\"\n values.$pastUpgrades.3.0:\n- \"0x7d82794932540ed9edd259e58f6ef8ae21a49beada7f0224638f888f7149c01c\"\n+ \"2024-04-25T08:29:59.000Z\"\n values.$pastUpgrades.2.2:\n- \"0x4f7a1c6ad21fbfeaecab40ea36a3845bf67e22d7770d8a259d62b995cb93cb34\"\n+ \"0xdb7d5de46738ad3f676db47b61772db531f9858b7a01e8c3b5aee49fa74cac95\"\n values.$pastUpgrades.2.1.0:\n- \"0x9ae1a067F9655DD0511390e3d70Bb25933AE61eb\"\n+ \"0x87C752b0F70cAa237Edd7571B0845470A37DE040\"\n values.$pastUpgrades.2.0:\n- \"2024-04-25T08:29:59.000Z\"\n+ \"2025-05-13T00:47:23.000Z\"\n values.$upgradeCount:\n- 5\n+ 6\n values.addressManager:\n- \"0x0000000000000000000000000000000000000000\"\n values.getPastTotalSupply:\n- [0,0,0,0,0]\n values.impl:\n- \"0xcfe803378D79d1180EbF030455040EA6513869dF\"\n+ \"0x87C752b0F70cAa237Edd7571B0845470A37DE040\"\n values.lastUnpausedAt:\n- 0\n values.getNonVotingAccounts:\n+ [\"0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da\",\"0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3\"]\n values.proxiableUUID:\n+ \"EXPECT_REVERT\"\n values.resolver:\n+ \"0x0000000000000000000000000000000000000000\"\n values.TAIKO_DAO_CONTROLLER:\n+ \"0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3\"\n values.TAIKO_FOUNDATION_TREASURY:\n+ \"0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da\"\n errors:\n- {\"getPastTotalSupply\":\"Processing error occurred.\",\"proxiableUUID\":\"Processing error occurred.\"}\n implementationNames.0xcfe803378D79d1180EbF030455040EA6513869dF:\n- \"TaikoToken\"\n implementationNames.0x87C752b0F70cAa237Edd7571B0845470A37DE040:\n+ \"TaikoToken\"\n template:\n+ \"taiko/TaikoToken\"\n description:\n+ \"Taiko's native token. Used for block proposal rewards, proving bonds and rewards, and contesting bonds.\"\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.4:\n+ \"0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n values.$members.3:\n- \"0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n+ \"0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1\"\n values.$members.2:\n- \"0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1\"\n+ \"0x1eE487CEdCe52c370DB11e62987F3ABe873E145A\"\n values.multisigThreshold:\n- \"3 of 4 (75%)\"\n+ \"3 of 5 (60%)\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Taiko Foundation Treasury Multisig (0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DAO (0x9CDf589C941ee81D75F34d3755671d614f7cf261)\n +++ description: The entry point to the DAO Aragon-based governance framework.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoDAOController (0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3)\n +++ description: Contract that maintains ownership of all contracts and assets, owned by the DAO. Its token weight does not count towards the DAO quorum.\n```"
}
]
},
{
"id": "9c1b4f57",
"date": "Fri, 18 Apr 2025 18:11:13 GMT",
"timestamp": 1744999873,
"description": "Update RiscZeroGroth16Verifier.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n values.verifier_RISCZERO_GROTH16_VERIFIER:\n- \"0xf31DE43cc0cF75245adE63d3Dabf58d4332855e9\"\n+ \"0x48E32eFbe22e180A3FFe617f4955cD83B983dd98\"\n }\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroGroth16Verifier (0xf31DE43cc0cF75245adE63d3Dabf58d4332855e9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0x48E32eFbe22e180A3FFe617f4955cD83B983dd98)\n +++ description: None\n```"
}
]
},
{
"id": "6a798064",
"date": "Tue, 04 Mar 2025 13:38:38 GMT",
"timestamp": 1741095518,
"description": "Taiko admin multisig signer change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoAdmin (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.0:\n- \"0xb47fE76aC588101BFBdA9E68F66433bA51E8029a\"\n+ \"0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Safe (0xb47fE76aC588101BFBdA9E68F66433bA51E8029a)\n +++ description: None\n```"
}
]
},
{
"id": "e32a44c7",
"date": "Thu, 27 Feb 2025 13:52:49 GMT",
"timestamp": 1740664369,
"description": "The forced zk tiers for the DAO fallback proposer have been removed. Any proposer/challenger/prover can choose among the 5 tiers:\n- tiers_[0] = LibTiers.TIER_SGX;\n- tiers_[1] = LibTiers.TIER_ZKVM_RISC0;\n- tiers_[2] = LibTiers.TIER_ZKVM_SP1;\n- tiers_[3] = LibTiers.TIER_GUARDIAN_MINORITY;\n- tiers_[4] = LibTiers.TIER_GUARDIAN;\n\nUpdate MainnetTierRouter with new cooldown and proving periods, new validity bond values (see above which tiers are active):\n\n| Tier | Parameter | Before | After |\n|------|-----------|--------|-------|\n| **TIER_OPTIMISTIC** | validityBond | 75 TKO | 50 TKO |\n| | contestBond | 492.19 TKO | 328.13 TKO |\n| | cooldownPeriod | 24 hours | 24 hours |\n| | provingPeriod | 4.25 hours | 1 hour |\n| **TEE Tiers** (SGX, TDX, TEE_ANY) | validityBond | 150 TKO | 100 TKO |\n| | contestBond | 984.38 TKO | 656.25 TKO |\n| | cooldownPeriod | 4 hours | 4 hours |\n| | provingPeriod | 5 hours | 5 hours |\n| **ZKVM Tiers** (RISC0, SP1, ANY, AND_TEE) | validityBond | 225 TKO | 150 TKO |\n| | contestBond | 1476.56 TKO | 984.38 TKO |\n| | cooldownPeriod | 4 hours | 4 hours |\n| | provingPeriod | 7 hours | 7 hours |\n| **TIER_GUARDIAN_MINORITY** | validityBond | 225 TKO | 200 TKO |\n| | contestBond | 1476.56 TKO | 1312.5 TKO |\n| | cooldownPeriod | 4 hours | 4 hours |\n| | provingPeriod | 0 hours | 2 hours |\n| **TIER_GUARDIAN** | validityBond | 0 TKO | 0 TKO |\n| | contestBond | 0 TKO | 0 TKO |\n| | cooldownPeriod | 4 hours | 8 hours |\n| | provingPeriod | 0 hours | 0 hours |",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0xb0f9a7fd86a26f933460b09bf9ddb6f3fcb1926850109b97c24801d6230186e3\"\n+ \"0x8c8d91a3b010953954bbd3ba9f4c55f76112bf6d7f298dcd584c2de94a4ad1a4\"\n values.$implementation:\n- \"0x2784423f7c61Bc7B75dB6CdA26959946f437588D\"\n+ \"0x5110634593Ccb8072d161A7d260A409A7E74D7Ca\"\n values.$pastUpgrades.23:\n+ [\"2025-02-27T03:27:23.000Z\",\"0x6368890b9aa2f87c6a6b727efdd8af0ea357a11460b546d8a7f3e19e38a34e41\",[\"0x5110634593Ccb8072d161A7d260A409A7E74D7Ca\"]]\n values.$upgradeCount:\n- 23\n+ 24\n values.impl:\n- \"0x2784423f7c61Bc7B75dB6CdA26959946f437588D\"\n+ \"0x5110634593Ccb8072d161A7d260A409A7E74D7Ca\"\n values.tier_router:\n- \"0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66\"\n+ \"0x44d307a9ec47aA55a7a30849d065686753C86Db6\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetTierRouter (0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetTierRouter (0x44d307a9ec47aA55a7a30849d065686753C86Db6)\n +++ description: None\n```"
}
]
},
{
"id": "4f615b6f",
"date": "Fri, 14 Feb 2025 13:24:42 GMT",
"timestamp": 1739539482,
"description": "TaikoL1 upgrade:\n- old proposeBlock() removed\n- formatting, comments, small fixes\n\nTierRouter:\n- RISC0 from 1/200 to 1/1000\n- SP1 from 1/40 to 1/10\n...of daofallback proposer batches",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0x5ced94c638514ff09ace408fda7efb4bd52077a7e9ce2f20e154419454ac3869\"\n+ \"0xb0f9a7fd86a26f933460b09bf9ddb6f3fcb1926850109b97c24801d6230186e3\"\n values.$implementation:\n- \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n+ \"0x2784423f7c61Bc7B75dB6CdA26959946f437588D\"\n values.$pastUpgrades.22:\n+ [\"2025-02-13T06:57:47.000Z\",\"0xc0e8ec30d1479ca2414d4d28a09a543c2845247d80387f78c179d663ffe55c3c\",[\"0x2784423f7c61Bc7B75dB6CdA26959946f437588D\"]]\n values.$upgradeCount:\n- 22\n+ 23\n values.impl:\n- \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n+ \"0x2784423f7c61Bc7B75dB6CdA26959946f437588D\"\n values.prover_set:\n- \"0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A\"\n+ \"0x280eAbfd252f017B78e15b69580F249F45FB55Fa\"\n values.tier_router:\n- \"0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0\"\n+ \"0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetTierRouter (0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0)\n +++ description: None\n```\n\n```diff\n contract DAOFallbackProposer (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TAIKO token and acts as a Taiko Labs owned proposer and prover proxy. This contract relays `proveBlock` calls to the TaikoL1 contract so that msg.sender doesn't need to hold any TKO. There are several instances of this contract operated by different entities.\n sourceHashes.1:\n- \"0x62ec48ec56b8eb6e604ca35e87dca2922adb6e914b1922139a0ae932750abd61\"\n+ \"0x397ca5d98f464f3096b2ba95f9057ebbc27c56e4d878ebbae83c911594dd7c5b\"\n values.$implementation:\n- \"0xd0d3f025D83D7122de7eC43e86331C57c8A4F30B\"\n+ \"0x280eAbfd252f017B78e15b69580F249F45FB55Fa\"\n values.$pastUpgrades.10:\n+ [\"2025-02-13T06:57:47.000Z\",\"0xc0e8ec30d1479ca2414d4d28a09a543c2845247d80387f78c179d663ffe55c3c\",[\"0x280eAbfd252f017B78e15b69580F249F45FB55Fa\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.impl:\n- \"0xd0d3f025D83D7122de7eC43e86331C57c8A4F30B\"\n+ \"0x280eAbfd252f017B78e15b69580F249F45FB55Fa\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetProverSet (0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetProverSet (0x280eAbfd252f017B78e15b69580F249F45FB55Fa)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetTierRouter (0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66)\n +++ description: None\n```"
}
]
},
{
"id": "308b1ff2",
"date": "Wed, 15 Jan 2025 13:39:32 GMT",
"timestamp": 1736948372,
"description": "Upgrade of both RISC0 and SP1 verifier contracts.\n\n### SP1Verifier\n\nv3.0.0 -> v4.0.0-rc.3\n\nAll-new verifier with new verifier hash: https://github.com/succinctlabs/sp1/releases/tag/v4.0.0-rc.1 ('not production ready').\n\n### RiscZeroGroth16Verifier\n\nv1.1.2 -> v1.2.0\n\nAdds a new Interface `IRiscZeroSelectable` for easily querying the selector. No changes to the zk verification itself",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n values.sp1_remote_verifier:\n- \"0x2D33d748644dAb8B3FB0E07642d9dE96b816d067\"\n+ \"0x68593ad19705E9Ce919b2E368f5Cb7BAF04f7371\"\n values.verifier_RISCZERO_GROTH16_VERIFIER:\n- \"0xcF706D99C265fC2349AE43c5f6BFD7931FE5308D\"\n+ \"0xf31DE43cc0cF75245adE63d3Dabf58d4332855e9\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SP1Verifier (0x2D33d748644dAb8B3FB0E07642d9dE96b816d067)\n +++ description: None\n```\n\n```diff\n contract SP1Verifier (0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452) {\n +++ description: None\n values.sp1RemoteVerifier:\n- \"0x2D33d748644dAb8B3FB0E07642d9dE96b816d067\"\n+ \"0x68593ad19705E9Ce919b2E368f5Cb7BAF04f7371\"\n }\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroGroth16Verifier (0xcF706D99C265fC2349AE43c5f6BFD7931FE5308D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SP1RemoteVerifier (0x68593ad19705E9Ce919b2E368f5Cb7BAF04f7371)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0xf31DE43cc0cF75245adE63d3Dabf58d4332855e9)\n +++ description: None\n```"
}
]
},
{
"id": "553b3e5e",
"date": "Fri, 03 Jan 2025 12:10:19 GMT",
"timestamp": 1735906219,
"description": "MS signer change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (0xb47fE76aC588101BFBdA9E68F66433bA51E8029a) {\n +++ description: None\n values.$members.0:\n- \"0x55d79345Afc87806B690C9f96c4D7BfE2Bca8268\"\n+ \"0x30bc4C0Baf55A37Ccf2d626Bc592bd7715b75De2\"\n }\n```"
}
]
},
{
"id": "2d84825c",
"date": "Thu, 26 Dec 2024 11:48:26 GMT",
"timestamp": 1735213706,
"description": "Tiny change in the MainnetTierRouter, resetting the probabilities for forced validity proofs via the DAO proposer to the old ~1/200, ~1/40 for RISC0 and SP1 respectively. No other changes.",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0xad202d72005832c623578708f77802197e8a681c1621f57c1106161858ba2dca\"\n+ \"0x5ced94c638514ff09ace408fda7efb4bd52077a7e9ce2f20e154419454ac3869\"\n values.$implementation:\n- \"0xd4896d4537c6425aC5d89B9f122d4E4ac4D65e1c\"\n+ \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n values.$pastUpgrades.21:\n+ [\"2024-12-24T14:19:11.000Z\",\"0x77871837d1749b22a7991da475e657baa4371937f5a8cb094d4e170db000cb25\",[\"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"]]\n values.$upgradeCount:\n- 21\n+ 22\n values.impl:\n- \"0xd4896d4537c6425aC5d89B9f122d4E4ac4D65e1c\"\n+ \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n values.tier_router:\n- \"0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66\"\n+ \"0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetTierRouter (0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetTierRouter (0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0)\n +++ description: None\n```"
}
]
},
{
"id": "a66aba2e",
"date": "Tue, 24 Dec 2024 09:17:36 GMT",
"timestamp": 1735031856,
"description": "Validity proofs reinstated as before (same SP1 and RISC0 contracts), but with new probabilities for the DAO proposer: RISC0 ~1/1000 and SP1 ~1/100.",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0xeeb07b10bec4783237afadc9ac7b0e746138695fef1f85996e97012e2e83b6df\"\n+ \"0xad202d72005832c623578708f77802197e8a681c1621f57c1106161858ba2dca\"\n values.$implementation:\n- \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n+ \"0xd4896d4537c6425aC5d89B9f122d4E4ac4D65e1c\"\n values.$pastUpgrades.20:\n+ [\"2024-12-23T14:55:47.000Z\",\"0x9c2f36af40c0004110041fc45d980b73b0c8dde8064713a55aeb6f69fca77a99\",[\"0xd4896d4537c6425aC5d89B9f122d4E4ac4D65e1c\"]]\n values.$upgradeCount:\n- 20\n+ 21\n values.impl:\n- \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n+ \"0xd4896d4537c6425aC5d89B9f122d4E4ac4D65e1c\"\n values.tier_router:\n- \"0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542\"\n+ \"0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetTierRouter (0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetTierRouter (0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66)\n +++ description: None\n```"
}
]
},
{
"id": "9326eb49",
"date": "Mon, 23 Dec 2024 13:46:23 GMT",
"timestamp": 1734961583,
"description": "New TierRouter, removing all validity proofs, leaving only SGX (minTier) and Guardians.\n\nNew DAOFallbackProposer refactors some minor things and deprecates the v1 proposals (only v2 possible).\n\nOther changes are only related to the new TierRouter address.",
"isHighSeverity": true,
"changeCount": 19,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0x5ced94c638514ff09ace408fda7efb4bd52077a7e9ce2f20e154419454ac3869\"\n+ \"0xeeb07b10bec4783237afadc9ac7b0e746138695fef1f85996e97012e2e83b6df\"\n values.$implementation:\n- \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n+ \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n values.$pastUpgrades.19:\n+ [\"2024-12-23T03:12:35.000Z\",\"0xe66aba9f8bfcd86dc0ae32416862ca61a51c47f8ec747799e65f155ef27eeb20\",[\"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"]]\n values.$pastUpgrades.18:\n+ [\"2024-12-23T02:45:11.000Z\",\"0xfa949022e61921e108974e73130e94fc5120463f2c537d26626e5cee2120c944\",[\"0xb74A66b6CF50AD63E29669F0BDE4354E11758162\"]]\n values.$upgradeCount:\n- 18\n+ 20\n values.impl:\n- \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n+ \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n values.tier_router:\n- \"0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0\"\n+ \"0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetTierRouter (0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0)\n +++ description: None\n```\n\n```diff\n contract L1RollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780) {\n +++ description: None\n sourceHashes.1:\n- \"0xe3ef3bce11823157fe0b3d8d8705554e47a8789445c2a255990ca15564e7e945\"\n+ \"0x9dede6e55b7b0db6226ea3cead125c4750d147ad96cef774a61e51e8e9ce6d36\"\n values.$implementation:\n- \"0x52CA3c5566d779b3c6bb5c4f760Ea39E294Fc788\"\n+ \"0x0079a79E5d8DDA67029051d505E5A11DE279B36D\"\n values.$pastUpgrades.10:\n+ [\"2024-12-23T02:45:11.000Z\",\"0xfa949022e61921e108974e73130e94fc5120463f2c537d26626e5cee2120c944\",[\"0x0079a79E5d8DDA67029051d505E5A11DE279B36D\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.impl:\n- \"0x52CA3c5566d779b3c6bb5c4f760Ea39E294Fc788\"\n+ \"0x0079a79E5d8DDA67029051d505E5A11DE279B36D\"\n }\n```\n\n```diff\n contract DAOFallbackProposer (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TAIKO token and acts as a Taiko Labs owned proposer and prover proxy. This contract relays `proveBlock` calls to the TaikoL1 contract so that msg.sender doesn't need to hold any TKO. There are several instances of this contract operated by different entities.\n sourceHashes.1:\n- \"0x6c2e43f356e499e332ee9b82cb8ae970dbe6209146e72d925e9d9f22f5b791e1\"\n+ \"0x62ec48ec56b8eb6e604ca35e87dca2922adb6e914b1922139a0ae932750abd61\"\n values.$implementation:\n- \"0x3022Ed0346CCE0c08268c8ad081458AfD95E8763\"\n+ \"0xd0d3f025D83D7122de7eC43e86331C57c8A4F30B\"\n values.$pastUpgrades.9:\n+ [\"2024-12-23T02:45:11.000Z\",\"0xfa949022e61921e108974e73130e94fc5120463f2c537d26626e5cee2120c944\",[\"0xd0d3f025D83D7122de7eC43e86331C57c8A4F30B\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.impl:\n- \"0x3022Ed0346CCE0c08268c8ad081458AfD95E8763\"\n+ \"0xd0d3f025D83D7122de7eC43e86331C57c8A4F30B\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MainnetTierRouter (0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542)\n +++ description: None\n```"
}
]
},
{
"id": "8100bc06",
"date": "Thu, 05 Dec 2024 06:17:09 GMT",
"timestamp": 1733379429,
"description": "One TaikoAdmin MS member changed to a sub-safe.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoAdmin (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.0:\n- \"0x55d79345Afc87806B690C9f96c4D7BfE2Bca8268\"\n+ \"0xb47fE76aC588101BFBdA9E68F66433bA51E8029a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Safe (0xb47fE76aC588101BFBdA9E68F66433bA51E8029a)\n +++ description: None\n```"
}
]
},
{
"id": "a83164a8",
"date": "Mon, 18 Nov 2024 15:16:10 GMT",
"timestamp": 1731942970,
"description": "These upgrades contain the parameter changes and new deployments that activate Multiproofs, in particular the new ZK-VM tierIds 250 (ZKVM_RISC0) and 251 (ZKVM_SP1).\n\nCurrent active tiers:\n- 200: SGX\n- 250: RISC0\n- 251: SP1\n- 900: guardian minority\n- 1000: guardian\n\nA higher tier can be used to challenge a lower tier before the tier-specific cooldown period has passed. A challenge resets the cooldown window for the proof.\n\nThe ZK tiers are generally not enforced and can always be contested by the higher Guardian tiers.\n\nIn the case of a block being proposed by the `DAO_FALLBACK_PROPOSER` (the ProverSetProxy contract that is used by Taiko and proposes almost all batches), the **minimum proof tier** is determined pseudorandomly at the time of a batch proposal based on a hash depending on the number of blocks in the batch (`keccak256(abi.encode(\"TAIKO_DIFFICULTY\", local.b.numBlocks))`). It can be either of RISC0, SP1 or SGX with certain hardcoded probabilities.\n\nCurrent probabilities assuming a uniformly random input (keccak256) to the function and the dao fallback proposer:\n- RISC0: 0.5% or 1/200\n- SP1: 2.5% or 1/40\n- SGX: 97%\n\nIf any other (not dao_fallback) proposer proposes a batch by posting the required validity bond, the minimum-tier is always SGX.\n\nBoth zk-vm verifiers are currently used multiple times per day.",
"isHighSeverity": true,
"changeCount": 37,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0xeeb07b10bec4783237afadc9ac7b0e746138695fef1f85996e97012e2e83b6df\"\n+ \"0x5ced94c638514ff09ace408fda7efb4bd52077a7e9ce2f20e154419454ac3869\"\n values.$implementation:\n- \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n+ \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n values.$pastUpgrades.17:\n+ [\"2024-11-10T16:10:23.000Z\",\"0x5eb57ab352b3e3c1ddbc3fe468d582901b88c6a137ce49b0d70857d5218d626d\",[\"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"]]\n values.$pastUpgrades.16:\n+ [\"2024-11-10T15:46:23.000Z\",\"0x5efedb806fca83936c58f9e4d30644257ce3a529239131b0b19f630320bcfb04\",[\"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"]]\n values.$pastUpgrades.15:\n+ [\"2024-11-10T15:32:47.000Z\",\"0xa9e285d0f2cc84161ac3fc28962003779e9a618271bd6a54b16fb4001ede5b38\",[\"0x0205ea1e1162bc50E1030F36412E5Dd69daA4040\"]]\n values.$upgradeCount:\n- 15\n+ 18\n values.bond_token:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.impl:\n- \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n+ \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n values.sp1_remote_verifier:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x2D33d748644dAb8B3FB0E07642d9dE96b816d067\"\n values.tier_router:\n- \"0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542\"\n+ \"0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0\"\n values.verifier_RISCZERO_GROTH16_VERIFIER:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0xcF706D99C265fC2349AE43c5f6BFD7931FE5308D\"\n values.verifier_TIER_ZKVM_RISC0:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x55902b2D3DF2A65370A89C86Ae9dd71Ecd508edc\"\n values.verifier_TIER_ZKVM_SP1:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452\"\n }\n```\n\n```diff\n contract L1RollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780) {\n +++ description: None\n sourceHashes.1:\n- \"0x5782d554c7b5637e1f166c61be43d34b6d44dabccd12fea3ed904f2988502d79\"\n+ \"0xe3ef3bce11823157fe0b3d8d8705554e47a8789445c2a255990ca15564e7e945\"\n values.$implementation:\n- \"0x190D5d50D98D2202a618f75B2fD9986e60E096be\"\n+ \"0x52CA3c5566d779b3c6bb5c4f760Ea39E294Fc788\"\n values.$pastUpgrades.9:\n+ [\"2024-11-10T05:21:47.000Z\",\"0x43353a74df973d8f6a379b5c8815ac80935a5099f8ab93a4aa204eb5ef2c663e\",[\"0x52CA3c5566d779b3c6bb5c4f760Ea39E294Fc788\"]]\n values.$pastUpgrades.8:\n+ [\"2024-11-08T08:35:47.000Z\",\"0x5d46840df79d8df508880675e7ea549e9b46137f597ca520c3e0c979439441d1\",[\"0x6D8e6e1a061791AD17A55De5e15a111c58f6Fb3D\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.impl:\n- \"0x190D5d50D98D2202a618f75B2fD9986e60E096be\"\n+ \"0x52CA3c5566d779b3c6bb5c4f760Ea39E294Fc788\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetTierRouter (0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542)\n +++ description: None\n```\n\n```diff\n contract TaikoAdmin (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n receivedPermissions.13:\n+ {\"permission\":\"upgrade\",\"target\":\"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"}\n receivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"target\":\"0xE3D777143Ea25A6E031d1e921F396750885f43aC\"}\n receivedPermissions.11.target:\n- \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n+ \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n receivedPermissions.10.target:\n- \"0xE3D777143Ea25A6E031d1e921F396750885f43aC\"\n+ \"0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81\"\n receivedPermissions.9.target:\n- \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n+ \"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n receivedPermissions.8.target:\n- \"0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81\"\n+ \"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n receivedPermissions.7.target:\n- \"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n+ \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n receivedPermissions.6.target:\n- \"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n+ \"0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9\"\n receivedPermissions.5.target:\n- \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452\"\n receivedPermissions.4.target:\n- \"0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9\"\n+ \"0x579f40D0BE111b823962043702cabe6Aaa290780\"\n receivedPermissions.3.target:\n- \"0x579f40D0BE111b823962043702cabe6Aaa290780\"\n+ \"0x579A8d63a2Db646284CBFE31FE5082c9989E985c\"\n receivedPermissions.2.target:\n- \"0x579A8d63a2Db646284CBFE31FE5082c9989E985c\"\n+ \"0x55902b2D3DF2A65370A89C86Ae9dd71Ecd508edc\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SP1RemoteVerifier (0x2D33d748644dAb8B3FB0E07642d9dE96b816d067)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetTierRouter (0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Risc0Verifier (0x55902b2D3DF2A65370A89C86Ae9dd71Ecd508edc)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0xcF706D99C265fC2349AE43c5f6BFD7931FE5308D)\n +++ description: None\n```"
}
]
},
{
"id": "38328c2f",
"date": "Tue, 05 Nov 2024 16:54:14 GMT",
"timestamp": 1730825654,
"description": "Taiko ['Ontake' upgrade](https://taiko.mirror.xyz/OJA4SwCqHjF32Zz0GkNJvnHWlsRYzdJ6hcO9FXVOpLs).\n- batching (for proposing and proving)\n- new verifier slots (SP1, Risc0) (0x00 atm)\n- new Block struct in preconf preparations (preconfRegistry set to 0x00)\n- integration of the TierProvider into the MainnetTierRouter\n- new TIER_SGX challengePeriod of 4h (down from 1d)",
"isHighSeverity": true,
"changeCount": 60,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0xa2bfa567075799db54daaa89afafea79e42c73c36c23112c79926407116d0765\"\n+ \"0xeeb07b10bec4783237afadc9ac7b0e746138695fef1f85996e97012e2e83b6df\"\n values.$implementation:\n- \"0xf0E6d34937701622cA887a75c150cC23d4FFDf2F\"\n+ \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n values.$pastUpgrades.14:\n+ [\"2024-11-03T05:15:23.000Z\",\"0x78ca7c7d9c7e5aa9c5e6ab80e0229289a8d3bc8df2c2b9ba6baa74a0f60a0703\",[\"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"]]\n values.$pastUpgrades.13:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0x4229d14F520848aa83760Cf748abEB8A69cdaB2d\"]]\n values.$upgradeCount:\n- 13\n+ 15\n values.getConfig.checkEOAForCalldataDA:\n- true\n values.getConfig.maxAnchorHeightOffset:\n+ 64\n values.getConfig.baseFeeConfig:\n+ {\"adjustmentQuotient\":8,\"sharingPctg\":75,\"gasIssuancePerSecond\":5000000,\"minGasExcess\":1340000000,\"maxGasIssuancePerBlock\":600000000}\n values.getConfig.ontakeForkHeight:\n+ 538304\n values.impl:\n- \"0xf0E6d34937701622cA887a75c150cC23d4FFDf2F\"\n+ \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n values.tier_router:\n- \"0x6E997f1F22C40ba37F633B08f3b07E10Ed43155a\"\n+ \"0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542\"\n }\n```\n\n```diff\n- Status: DELETED\n contract TierProviderV2 (0x3a1A900680BaADb889202faf12915F7E47B71ddd)\n +++ description: None\n```\n\n```diff\n contract GuardianMinorityProver (0x579A8d63a2Db646284CBFE31FE5082c9989E985c) {\n +++ description: Verifier contract for blocks proven by Guardian minority.\n sourceHashes.1:\n- \"0xb6ed017b0bf49c547dbaa4b24efcbcd5218c26aafd94f8cf06850d009e538347\"\n+ \"0x489b7169b5c7aa13cbb8928934057ad78b37ce9b52651656bf8bda7759533f68\"\n values.$implementation:\n- \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n+ \"0xB866E9046CAf4D75e2cbCD8b5eA3f07Ea74F7B47\"\n values.$pastUpgrades.6:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0xB866E9046CAf4D75e2cbCD8b5eA3f07Ea74F7B47\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.impl:\n- \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n+ \"0xB866E9046CAf4D75e2cbCD8b5eA3f07Ea74F7B47\"\n }\n```\n\n```diff\n contract L1RollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780) {\n +++ description: None\n sourceHashes.1:\n- \"0x06f614affc4908aeeac9faa505010855388740ee8e5ba632fbc0e5f56ee8927d\"\n+ \"0x5782d554c7b5637e1f166c61be43d34b6d44dabccd12fea3ed904f2988502d79\"\n values.$implementation:\n- \"0x4f6D5D3109C07E77035B410602996e445b18E8E9\"\n+ \"0x190D5d50D98D2202a618f75B2fD9986e60E096be\"\n values.$pastUpgrades.7:\n+ [\"2024-11-02T12:04:59.000Z\",\"0xf26d0526aa4b8225c603720ce0dc016803188b959c50677d5446087d1f2c4e60\",[\"0x190D5d50D98D2202a618f75B2fD9986e60E096be\"]]\n values.$pastUpgrades.6:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0x3202Fc255aE09F91DbbD5b000b87dA4A2E04eE37\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.impl:\n- \"0x4f6D5D3109C07E77035B410602996e445b18E8E9\"\n+ \"0x190D5d50D98D2202a618f75B2fD9986e60E096be\"\n }\n```\n\n```diff\n contract ProverSetProxy (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TKO token and acts as a Taiko prover. This contract will simply relay `proveBlock` calls to TaikoL1 so msg.sender doesn't need to hold any TKO.\n sourceHashes.1:\n- \"0x020f0e8ece4630d3f7e6458ef5f1d86c5408ed344c580633e3f32e53393ceab5\"\n+ \"0x6c2e43f356e499e332ee9b82cb8ae970dbe6209146e72d925e9d9f22f5b791e1\"\n values.$implementation:\n- \"0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A\"\n+ \"0x3022Ed0346CCE0c08268c8ad081458AfD95E8763\"\n values.$pastUpgrades.8:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0x3022Ed0346CCE0c08268c8ad081458AfD95E8763\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.impl:\n- \"0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A\"\n+ \"0x3022Ed0346CCE0c08268c8ad081458AfD95E8763\"\n }\n```\n\n```diff\n- Status: DELETED\n contract TierRouter (0x6E997f1F22C40ba37F633B08f3b07E10Ed43155a)\n +++ description: None\n```\n\n```diff\n contract SharedERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) {\n +++ description: None\n sourceHashes.1:\n- \"0x3c7adf8e3200906bd67dec9e0b73fb813681e84ba1499dcede6987370ce146c9\"\n+ \"0x0112b81e89b367f8ffeb6b571bd245b1be7a1279474ffa11591f8374a2c8b14f\"\n values.$implementation:\n- \"0x7ACFBb369a552C45d402448A4d64b9da54C3FF30\"\n+ \"0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63\"\n values.$pastUpgrades.7:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.impl:\n- \"0x7ACFBb369a552C45d402448A4d64b9da54C3FF30\"\n+ \"0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63\"\n }\n```\n\n```diff\n contract SignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: None\n sourceHashes.1:\n- \"0xa5cf6831e233f05c8a2f677c311dd359c75850355d61417bc5201d493db30039\"\n+ \"0xf99b7d5f650d3734e945c5040d8e4776dfdc97ff745666e084c1d471b7973f38\"\n values.$implementation:\n- \"0xDF8642a1FBFc2014de27E8E87283D6f3eEF315DF\"\n+ \"0x45fed11Ba70D4217545F18E27DDAF7D76Ff499f3\"\n values.$pastUpgrades.5:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0x45fed11Ba70D4217545F18E27DDAF7D76Ff499f3\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.impl:\n- \"0xDF8642a1FBFc2014de27E8E87283D6f3eEF315DF\"\n+ \"0x45fed11Ba70D4217545F18E27DDAF7D76Ff499f3\"\n }\n```\n\n```diff\n contract SgxVerifier (0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81) {\n +++ description: Verifier contract for SGX proven blocks.\n sourceHashes.1:\n- \"0xdb8e8268242e52348760b0b2d154955236307b3ef1bc9cb0234fc6c0d01aa70f\"\n+ \"0x076c7d823685a1a394ad6ec677d2d7707207efa9e8e482f479c2cdfd92008904\"\n values.$implementation:\n- \"0x7EE4CEF8a945639e09DDf3032e9d95c8d90f07f3\"\n+ \"0x81DFEA931500cdcf0460e9EC45FA283A6B7f0838\"\n values.$pastUpgrades.5:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0x81DFEA931500cdcf0460e9EC45FA283A6B7f0838\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.impl:\n- \"0x7EE4CEF8a945639e09DDf3032e9d95c8d90f07f3\"\n+ \"0x81DFEA931500cdcf0460e9EC45FA283A6B7f0838\"\n }\n```\n\n```diff\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: None\n sourceHashes.1:\n- \"0x14240ef6b1d8181a009840162a21975c2777f78f27c22e8e550bc66b36357f78\"\n+ \"0x118c20a34164db28141d7fa6496d1fcf9e139354ed77c4e1c3f33e5eaac65977\"\n values.$implementation:\n- \"0xAc96FF285158bceBB8573D20d853e86BB2915aF3\"\n+ \"0x2705B12a971dA766A3f9321a743d61ceAD67dA2F\"\n values.$pastUpgrades.11:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0x2705B12a971dA766A3f9321a743d61ceAD67dA2F\"]]\n values.$upgradeCount:\n- 11\n+ 12\n values.impl:\n- \"0xAc96FF285158bceBB8573D20d853e86BB2915aF3\"\n+ \"0x2705B12a971dA766A3f9321a743d61ceAD67dA2F\"\n }\n```\n\n```diff\n contract GuardianProver (0xE3D777143Ea25A6E031d1e921F396750885f43aC) {\n +++ description: Verifier contract for Guardian proven blocks.\n sourceHashes.1:\n- \"0xb6ed017b0bf49c547dbaa4b24efcbcd5218c26aafd94f8cf06850d009e538347\"\n+ \"0x489b7169b5c7aa13cbb8928934057ad78b37ce9b52651656bf8bda7759533f68\"\n values.$implementation:\n- \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n+ \"0xB866E9046CAf4D75e2cbCD8b5eA3f07Ea74F7B47\"\n values.$pastUpgrades.6:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0xB866E9046CAf4D75e2cbCD8b5eA3f07Ea74F7B47\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.impl:\n- \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n+ \"0xB866E9046CAf4D75e2cbCD8b5eA3f07Ea74F7B47\"\n }\n```\n\n```diff\n contract L1SharedAddressManager (0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa) {\n +++ description: None\n sourceHashes.1:\n- \"0xa0dc6b4537f21ed3a4a43a7fb74645ff827cff8c2b26f2e3e4350ddec470c990\"\n+ \"0x61eadd250e6fee2eea7d778ca5fdb6e04b0fa09044c65eba836b397f585e5535\"\n values.$implementation:\n- \"0x2f7126f78365AD54EAB26fD7faEc60435008E2fD\"\n+ \"0xEC1a9aa1C648F047752fe4eeDb2C21ceab0c6449\"\n values.$pastUpgrades.4:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0xEC1a9aa1C648F047752fe4eeDb2C21ceab0c6449\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.impl:\n- \"0x2f7126f78365AD54EAB26fD7faEc60435008E2fD\"\n+ \"0xEC1a9aa1C648F047752fe4eeDb2C21ceab0c6449\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MainnetTierRouter (0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542)\n +++ description: None\n```"
}
]
},
{
"id": "a96fdad5",
"date": "Wed, 16 Oct 2024 09:19:09 GMT",
"timestamp": 1729070349,
"description": "Upgrade of the TaikoL1Contract implementation with a [bug fix](https://github.com/taikoxyz/taiko-mono/pull/18254) in a check ('sametransition') of the proving library.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0xf13ac7cd2ef8d7b72cab625effe80906f11db83cf2a688e85a19d515da43f06f\"\n+ \"0xa2bfa567075799db54daaa89afafea79e42c73c36c23112c79926407116d0765\"\n values.$implementation:\n- \"0xBA1d90BCfA74163bFE09e8eF609b346507D83231\"\n+ \"0xf0E6d34937701622cA887a75c150cC23d4FFDf2F\"\n values.$pastUpgrades.12:\n+ [\"2024-10-16T07:55:23.000Z\",[\"0xf0E6d34937701622cA887a75c150cC23d4FFDf2F\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.impl:\n- \"0xBA1d90BCfA74163bFE09e8eF609b346507D83231\"\n+ \"0xf0E6d34937701622cA887a75c150cC23d4FFDf2F\"\n }\n```"
}
]
},
{
"id": "46dff8f0",
"date": "Tue, 23 Jul 2024 06:40:25 GMT",
"timestamp": 1721716825,
"description": "Small upgrade, no functional changes.",
"isHighSeverity": true,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SgxVerifier (0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81) {\n +++ description: Verifier contract for SGX proven blocks.\n values.$implementation:\n- \"0xEE5F6648307319263FFBaE91f68ac700b188fF24\"\n+ \"0x7EE4CEF8a945639e09DDf3032e9d95c8d90f07f3\"\n values.impl:\n- \"0xEE5F6648307319263FFBaE91f68ac700b188fF24\"\n+ \"0x7EE4CEF8a945639e09DDf3032e9d95c8d90f07f3\"\n }\n```"
}
]
},
{
"id": "bf28d6a1",
"date": "Wed, 17 Jul 2024 10:56:00 GMT",
"timestamp": 1721213760,
"description": "Taiko [upgrade 1.9.0](https://github.com/taikoxyz/taiko-mono/pull/17783). The diff is extensive but logic changes are not since much of the diff is about naming and refactoring. The MainnetXXX contracts are deployed to save gas, logic is supposed to stay the same. Contract diffs were reviewed superficially since the code is changing too often and there seem to be no new features / permissions. Below is a changelog copied from the Taiko monorepo:\n\n### Features\n\n* **protocol:** add withdraw eth function to proverset ([#17800](https://github.com/taikoxyz/taiko-mono/issues/17800)) ([bb2abc5](https://github.com/taikoxyz/taiko-mono/commit/bb2abc510c98e62c89e0bfd9382c11720fb9edc7))\n* **protocol:** update Hekla deployment ([#17795](https://github.com/taikoxyz/taiko-mono/issues/17795)) ([cadaef8](https://github.com/taikoxyz/taiko-mono/commit/cadaef882c0751496809c88ee03ff818e49c4b4a))\n* **protocol:** update risc0 verifier contract to release-1.0 ([#17776](https://github.com/taikoxyz/taiko-mono/issues/17776)) ([2dd30ab](https://github.com/taikoxyz/taiko-mono/commit/2dd30ab2dc92b25105f19a4bcc1ddf7b40886039))\n\n\n### Bug Fixes\n\n* **protocol:** reduce MainnetTaikoL1 code size ([#17792](https://github.com/taikoxyz/taiko-mono/issues/17792)) ([45281b8](https://github.com/taikoxyz/taiko-mono/commit/45281b848f3ef3c45487bfcd1bfd38b382eff4d0))\n\n\n### Documentation\n\n* **protocol:** update L1 deployment ([#17789](https://github.com/taikoxyz/taiko-mono/issues/17789)) ([a889f1a](https://github.com/taikoxyz/taiko-mono/commit/a889f1a3e6c27b6758e873572c371ac9399a3d9a))\n\n\n### Code Refactoring\n\n* **protocol:** add MainnetGuardianProver ([#17805](https://github.com/taikoxyz/taiko-mono/issues/17805)) ([6f68316](https://github.com/taikoxyz/taiko-mono/commit/6f68316e89373670cf2c58bde5e64de196b9c139))\n* **protocol:** add MainnetSgxVerifier ([#17803](https://github.com/taikoxyz/taiko-mono/issues/17803)) ([a4be247](https://github.com/taikoxyz/taiko-mono/commit/a4be247e181861300d79af6454b3fd3776100b48))\n* **protocol:** added cached version of the bridge and vaults ([#17801](https://github.com/taikoxyz/taiko-mono/issues/17801)) ([b70cc57](https://github.com/taikoxyz/taiko-mono/commit/b70cc57704d750081a62a7e8e44f68f32efdc4c1))\n* **protocol:** improve mainnet gas efficiency with addresses cached ([#17791](https://github.com/taikoxyz/taiko-mono/issues/17791)) ([b12227d](https://github.com/taikoxyz/taiko-mono/commit/b12227d4d2b2636fb80e04ee7ebc2dec3c17faa8))\n* **protocol:** name address manager param clearer ([#17806](https://github.com/taikoxyz/taiko-mono/issues/17806)) ([1d5a6ff](https://github.com/taikoxyz/taiko-mono/commit/1d5a6ff191e8457ee12c96cb73c074560c556a2a))",
"isHighSeverity": true,
"changeCount": 33,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n values.$implementation:\n- \"0xcEe590fACd976B9BDE87BC1B7620B284c5edD2C3\"\n+ \"0xBA1d90BCfA74163bFE09e8eF609b346507D83231\"\n values.impl:\n- \"0xcEe590fACd976B9BDE87BC1B7620B284c5edD2C3\"\n+ \"0xBA1d90BCfA74163bFE09e8eF609b346507D83231\"\n values.prover_set:\n- \"0x518845daA8870bE2C59E49620Fc262AD48953C9a\"\n+ \"0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A\"\n derivedName:\n- \"TaikoL1\"\n+ \"MainnetTaikoL1\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ProverSet (0x518845daA8870bE2C59E49620Fc262AD48953C9a)\n +++ description: None\n```\n\n```diff\n contract GuardianMinorityProver (0x579A8d63a2Db646284CBFE31FE5082c9989E985c) {\n +++ description: Verifier contract for blocks proven by Guardian minority.\n values.$implementation:\n- \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n+ \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n values.impl:\n- \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n+ \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n derivedName:\n- \"GuardianProver\"\n+ \"MainnetGuardianProver\"\n }\n```\n\n```diff\n contract L1RollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780) {\n +++ description: None\n values.$implementation:\n- \"0x29a88d60246C76E4F28806b9C8a42d2183154900\"\n+ \"0x4f6D5D3109C07E77035B410602996e445b18E8E9\"\n values.impl:\n- \"0x29a88d60246C76E4F28806b9C8a42d2183154900\"\n+ \"0x4f6D5D3109C07E77035B410602996e445b18E8E9\"\n derivedName:\n- \"L1RollupAddressManager\"\n+ \"MainnetRollupAddressManager\"\n }\n```\n\n```diff\n contract ProverSetProxy (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TKO token and acts as a Taiko prover. This contract will simply relay `proveBlock` calls to TaikoL1 so msg.sender doesn't need to hold any TKO.\n values.$implementation:\n- \"0x518845daA8870bE2C59E49620Fc262AD48953C9a\"\n+ \"0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A\"\n values.impl:\n- \"0x518845daA8870bE2C59E49620Fc262AD48953C9a\"\n+ \"0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A\"\n derivedName:\n- \"ProverSet\"\n+ \"MainnetProverSet\"\n }\n```\n\n```diff\n contract SharedERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) {\n +++ description: None\n values.$implementation:\n- \"0xa303784B0557BF1F1FB8b8abEF2B18a005722689\"\n+ \"0x7ACFBb369a552C45d402448A4d64b9da54C3FF30\"\n values.impl:\n- \"0xa303784B0557BF1F1FB8b8abEF2B18a005722689\"\n+ \"0x7ACFBb369a552C45d402448A4d64b9da54C3FF30\"\n derivedName:\n- \"ERC20Vault\"\n+ \"MainnetERC20Vault\"\n }\n```\n\n```diff\n contract SignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: None\n values.$implementation:\n- \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n+ \"0xDF8642a1FBFc2014de27E8E87283D6f3eEF315DF\"\n values.impl:\n- \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n+ \"0xDF8642a1FBFc2014de27E8E87283D6f3eEF315DF\"\n derivedName:\n- \"SignalService\"\n+ \"MainnetSignalService\"\n }\n```\n\n```diff\n contract SgxVerifier (0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81) {\n +++ description: Verifier contract for SGX proven blocks.\n values.$implementation:\n- \"0xB0b782cf0fCEce896E0C041F8e54f86cA4cC8e9F\"\n+ \"0xEE5F6648307319263FFBaE91f68ac700b188fF24\"\n values.impl:\n- \"0xB0b782cf0fCEce896E0C041F8e54f86cA4cC8e9F\"\n+ \"0xEE5F6648307319263FFBaE91f68ac700b188fF24\"\n derivedName:\n- \"SgxVerifier\"\n+ \"MainnetSgxVerifier\"\n }\n```\n\n```diff\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: None\n values.$implementation:\n- \"0x01E7D369a619eF1B0E92563d8737F42C09789986\"\n+ \"0xAc96FF285158bceBB8573D20d853e86BB2915aF3\"\n values.impl:\n- \"0x01E7D369a619eF1B0E92563d8737F42C09789986\"\n+ \"0xAc96FF285158bceBB8573D20d853e86BB2915aF3\"\n derivedName:\n- \"Bridge\"\n+ \"MainnetBridge\"\n }\n```\n\n```diff\n contract GuardianProver (0xE3D777143Ea25A6E031d1e921F396750885f43aC) {\n +++ description: Verifier contract for Guardian proven blocks.\n values.$implementation:\n- \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n+ \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n values.impl:\n- \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n+ \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n derivedName:\n- \"GuardianProver\"\n+ \"MainnetGuardianProver\"\n }\n```\n\n```diff\n contract L1SharedAddressManager (0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa) {\n +++ description: None\n values.$implementation:\n- \"0x9496502d7D121B3D5eF25cA6c58d4f7593398a17\"\n+ \"0x2f7126f78365AD54EAB26fD7faEc60435008E2fD\"\n values.impl:\n- \"0x9496502d7D121B3D5eF25cA6c58d4f7593398a17\"\n+ \"0x2f7126f78365AD54EAB26fD7faEc60435008E2fD\"\n derivedName:\n- \"L1SharedAddressManager\"\n+ \"MainnetSharedAddressManager\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MainnetProverSet (0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A)\n +++ description: None\n```"
}
]
},
{
"id": "d5817b5e",
"date": "Mon, 15 Jul 2024 07:22:39 GMT",
"timestamp": 1721028159,
"description": "This is the [Taiko protocol v1.8.0 upgrade](https://github.com/taikoxyz/taiko-mono/releases/tag/protocol-v1.8.0).\n\ntldr:\n- TAIKO bonds are escrowed in the TaikoL1 contract and only manually withdrawn using `withdrawBond()` by proposers / provers. For efficiency, bonds can be deposited once in the contract and be left there.\n- ring buffer size increased by 36 000 blocks (5 days worth of blocks @ 12 seconds). `getVerifiedBlockProver` can be called on these blocks to get their prover's address.\n- `CalldataTxList` emitted when calldata is used as DA (to be used for derivation)",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n values.$implementation:\n- \"0x5fc54737ECC1de49D58AE1195d4A296257F1E31b\"\n+ \"0xcEe590fACd976B9BDE87BC1B7620B284c5edD2C3\"\n values.getConfig.blockRingBufferSize:\n- 324512\n+ 360000\n values.impl:\n- \"0x5fc54737ECC1de49D58AE1195d4A296257F1E31b\"\n+ \"0xcEe590fACd976B9BDE87BC1B7620B284c5edD2C3\"\n }\n```\n\n```diff\n contract ProverSetProxy (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TKO token and acts as a Taiko prover. This contract will simply relay `proveBlock` calls to TaikoL1 so msg.sender doesn't need to hold any TKO.\n values.$implementation:\n- \"0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1\"\n+ \"0x518845daA8870bE2C59E49620Fc262AD48953C9a\"\n values.impl:\n- \"0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1\"\n+ \"0x518845daA8870bE2C59E49620Fc262AD48953C9a\"\n }\n```"
}
]
},
{
"id": "5f77329d",
"date": "Mon, 08 Jul 2024 13:19:34 GMT",
"timestamp": 1720444774,
"description": "New ProverSet implementation: added possibility for authorized admin to call depositBond and withdrawBond on TaikoL1contract. These functions don't exist yet on TaikoL1contract, so this change is probably the beginning of a bigger update.\n\nProverSet address changed in L1RollupAddressManager, old implementation still in use under ProverSetProxy.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n values.prover_set:\n- \"0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1\"\n+ \"0x518845daA8870bE2C59E49620Fc262AD48953C9a\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ProverSet (0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (0x518845daA8870bE2C59E49620Fc262AD48953C9a)\n +++ description: None\n```"
}
]
},
{
"id": "6e2c88a0",
"date": "Wed, 03 Jul 2024 10:37:45 GMT",
"timestamp": 1720003065,
"description": "- L1RollupAddressManager.sol: changed harcoded B_TIER_ROUTER address.\n- Bridge.sol: small change in retryMessage logic.\n- TaikoL1.sol: changes in block verification. assignedProver and hookCalls now DEPRECATED. assignedProver is now msg.sender of proposeBlock tx. New getters (getLastVerifiedBlock, getLastSyncedBlock), and decreased liveness bond to 125 TAIKO. Block proposers can now bribe the Ethereum block builder. Move some functions into libraries.\n- TaikoToken.sol: can now call batchTransfer for multiple recipients and amounts.\n- TierProviderV2.sol: validityBond and contestBond decreased (halved), cooldownWindow decreased (24h to 4h) for tiers TIER_SGX,TIER_GUARDIAN_MINORITY, for TIER_GUARDIAN increased from 1 to 24 hours. maxBlocksToVerifyPerProof now deprecated.\n- TierRouter.sol: change hardcoded tier provider address.",
"isHighSeverity": true,
"changeCount": 27,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n upgradeability.implementation:\n- \"0xB9E1E58bcF33B79CcfF99c298963546a6c334388\"\n+ \"0x5fc54737ECC1de49D58AE1195d4A296257F1E31b\"\n implementations.0:\n- \"0xB9E1E58bcF33B79CcfF99c298963546a6c334388\"\n+ \"0x5fc54737ECC1de49D58AE1195d4A296257F1E31b\"\n values.getConfig.maxBlocksToVerifyPerProposal:\n- 10\n values.getConfig.livenessBond:\n- \"250000000000000000000\"\n+ \"125000000000000000000\"\n values.getConfig.blockSyncThreshold:\n- 32\n values.getConfig.maxBlocksToVerify:\n+ 16\n values.getConfig.stateRootSyncInternal:\n+ 16\n values.impl:\n- \"0xB9E1E58bcF33B79CcfF99c298963546a6c334388\"\n+ \"0x5fc54737ECC1de49D58AE1195d4A296257F1E31b\"\n values.slotA:\n- {\"genesisHeight\":19923613,\"genesisTimestamp\":1716358991,\"lastSyncedBlockId\":105566,\"lastSynecdAt\":1719571751}\n values.slotB:\n- {\"numBlocks\":108928,\"lastVerifiedBlockId\":105588,\"provingPaused\":false,\"__reservedB1\":0,\"__reservedB2\":0,\"__reservedB3\":0,\"lastUnpausedAt\":1716571955}\n values.tier_router:\n- \"0xa8e5D3a2E2052bea7f10bE6a0386454b721d1f9F\"\n+ \"0x6E997f1F22C40ba37F633B08f3b07E10Ed43155a\"\n }\n```\n\n```diff\n contract TaikoToken (0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800) {\n +++ description: None\n upgradeability.implementation:\n- \"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"\n+ \"0xcfe803378D79d1180EbF030455040EA6513869dF\"\n implementations.0:\n- \"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"\n+ \"0xcfe803378D79d1180EbF030455040EA6513869dF\"\n values.impl:\n- \"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"\n+ \"0xcfe803378D79d1180EbF030455040EA6513869dF\"\n }\n```\n\n```diff\n- Status: DELETED\n contract TierProviderV2 (0x4cffe56C947E26D07C14020499776DB3e9AE3a23)\n +++ description: None\n```\n\n```diff\n contract L1RollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780) {\n +++ description: None\n upgradeability.implementation:\n- \"0x8EEf314878A7E56314E8DF285d0B0D649C903aF6\"\n+ \"0x29a88d60246C76E4F28806b9C8a42d2183154900\"\n implementations.0:\n- \"0x8EEf314878A7E56314E8DF285d0B0D649C903aF6\"\n+ \"0x29a88d60246C76E4F28806b9C8a42d2183154900\"\n values.impl:\n- \"0x8EEf314878A7E56314E8DF285d0B0D649C903aF6\"\n+ \"0x29a88d60246C76E4F28806b9C8a42d2183154900\"\n }\n```\n\n```diff\n contract SharedERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) {\n +++ description: None\n upgradeability.implementation:\n- \"0x75b5E276c5C1e9378E899cb3A87977421980Eb22\"\n+ \"0xa303784B0557BF1F1FB8b8abEF2B18a005722689\"\n implementations.0:\n- \"0x75b5E276c5C1e9378E899cb3A87977421980Eb22\"\n+ \"0xa303784B0557BF1F1FB8b8abEF2B18a005722689\"\n values.impl:\n- \"0x75b5E276c5C1e9378E899cb3A87977421980Eb22\"\n+ \"0xa303784B0557BF1F1FB8b8abEF2B18a005722689\"\n }\n```\n\n```diff\n- Status: DELETED\n contract TierRouter (0xa8e5D3a2E2052bea7f10bE6a0386454b721d1f9F)\n +++ description: None\n```\n\n```diff\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: None\n upgradeability.implementation:\n- \"0x40f8Be2969D0D5717768F6799c8840e5D5D603F7\"\n+ \"0x01E7D369a619eF1B0E92563d8737F42C09789986\"\n implementations.0:\n- \"0x40f8Be2969D0D5717768F6799c8840e5D5D603F7\"\n+ \"0x01E7D369a619eF1B0E92563d8737F42C09789986\"\n values.impl:\n- \"0x40f8Be2969D0D5717768F6799c8840e5D5D603F7\"\n+ \"0x01E7D369a619eF1B0E92563d8737F42C09789986\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract TierProvider (0x3a1A900680BaADb889202faf12915F7E47B71ddd)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract TierRouter (0x6E997f1F22C40ba37F633B08f3b07E10Ed43155a)\n +++ description: None\n```"
}
]
},
{
"id": "677f36b5",
"date": "Fri, 28 Jun 2024 10:59:39 GMT",
"timestamp": 1719572379,
"description": "Update to bridge implementation, main changes include a new calculation of messageCalldataCost, used to calculate minimal gas limit required for sending bridge messages. Also removed SafeCastUpgradeable library.",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: None\n upgradeability.implementation:\n- \"0xD28f2c26aD8bA88b0691F6BB41Ff021878052561\"\n+ \"0x40f8Be2969D0D5717768F6799c8840e5D5D603F7\"\n implementations.0:\n- \"0xD28f2c26aD8bA88b0691F6BB41Ff021878052561\"\n+ \"0x40f8Be2969D0D5717768F6799c8840e5D5D603F7\"\n values.CALLDATA_MESSAGE_SIZE_BYTES:\n- 352\n values.impl:\n- \"0xD28f2c26aD8bA88b0691F6BB41Ff021878052561\"\n+ \"0x40f8Be2969D0D5717768F6799c8840e5D5D603F7\"\n }\n```"
}
]
},
{
"id": "0cfc1c55",
"date": "Mon, 10 Jun 2024 18:24:02 GMT",
"timestamp": 1718043842,
"description": "Moved consumeTokenQuota from beginning to very end of _transferTokens function. Quota manager contract is currently not set.",
"isHighSeverity": true,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SharedERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) {\n +++ description: None\n upgradeability.implementation:\n- \"0xF8bdaC4E68bA2595Be8381aaa5456917e374E737\"\n+ \"0x75b5E276c5C1e9378E899cb3A87977421980Eb22\"\n implementations.0:\n- \"0xF8bdaC4E68bA2595Be8381aaa5456917e374E737\"\n+ \"0x75b5E276c5C1e9378E899cb3A87977421980Eb22\"\n values.impl:\n- \"0xF8bdaC4E68bA2595Be8381aaa5456917e374E737\"\n+ \"0x75b5E276c5C1e9378E899cb3A87977421980Eb22\"\n }\n```"
}
]
},
{
"id": "691d1b74",
"date": "Sun, 09 Jun 2024 12:06:08 GMT",
"timestamp": 1717934768,
"description": "Added \"payable\" to proposeBlock function in ProverSet. Calling proposeBlocks from ProverSet allows the ProverSetProxy to be the proposer of the block. On proveBlock(), also called from ProverSetProxy, there will be no validityBond posted as net transfers will be zero, since the TaikoL1 needs to return the livenessBond (250 TAIKO) to ProverSetProxy, and the validityBond (250 TAIKO) is of the same amount.\nThere are no special privileges for ProverSetProxy or its set provers in TaikoL1 contract.\n\nAlso new SGX instances registered.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n values.prover_set:\n- \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n+ \"0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ProverSet (0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd)\n +++ description: None\n```\n\n```diff\n contract ProverSetProxy (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TKO token and acts as a Taiko prover. This contract will simply relay `proveBlock` calls to TaikoL1 so msg.sender doesn't need to hold any TKO.\n upgradeability.implementation:\n- \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n+ \"0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1\"\n implementations.0:\n- \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n+ \"0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1\"\n values.impl:\n- \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n+ \"0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1)\n +++ description: None\n```"
}
]
},
{
"id": "1ede5389",
"date": "Fri, 07 Jun 2024 10:40:21 GMT",
"timestamp": 1717756821,
"description": "- ProverSet.sol: can now propose blocks by calling proposeBlock from proverSet contract, which will in turn call TaikoL1 proposeBlock().\n- ERC20Vault.sol - LibStrings update, typo fixes and gas optimisations.\n- SignalService.sol - Reverted to old implementation of SignalService (0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d). It is now back to old LibStrings, expecting an update soon.\n- Bridge.sol - LibStrings update, added a max size for a calldata message to be processable by a relayer during proof verification.\n- TaikoL1.sol - Added L1_NO_HOOKS error but not used. Fixed a bug where if they passed no hooks in the input params the livenessBond wouldn't be transferred.\n- TaikoToken.sol - Added delegates function, not allowed to delegate to TaikoL1 or ERC20Vault.",
"isHighSeverity": true,
"changeCount": 28,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n upgradeability.implementation:\n- \"0x4b2743B869b85d5F7D8020566f92664995E4f3c5\"\n+ \"0xB9E1E58bcF33B79CcfF99c298963546a6c334388\"\n implementations.0:\n- \"0x4b2743B869b85d5F7D8020566f92664995E4f3c5\"\n+ \"0xB9E1E58bcF33B79CcfF99c298963546a6c334388\"\n values.getConfig.6:\n- 16\n+ 32\n values.getConfig.2:\n- 432512\n+ 324512\n values.getConfig.1:\n- 432000\n+ 324000\n values.impl:\n- \"0x4b2743B869b85d5F7D8020566f92664995E4f3c5\"\n+ \"0xB9E1E58bcF33B79CcfF99c298963546a6c334388\"\n values.prover_set:\n- \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n+ \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n }\n```\n\n```diff\n contract TaikoToken (0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800) {\n +++ description: None\n upgradeability.implementation:\n- \"0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F\"\n+ \"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"\n implementations.0:\n- \"0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F\"\n+ \"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"\n values.impl:\n- \"0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F\"\n+ \"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"\n }\n```\n\n```diff\n contract ProverSetProxy (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TKO token and acts as a Taiko prover. This contract will simply relay `proveBlock` calls to TaikoL1 so msg.sender doesn't need to hold any TKO.\n upgradeability.implementation:\n- \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n+ \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n implementations.0:\n- \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n+ \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n values.impl:\n- \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n+ \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n }\n```\n\n```diff\n contract SharedERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) {\n +++ description: None\n upgradeability.implementation:\n- \"0x4F750D13005444407D44dAA30922128db0374ca1\"\n+ \"0xF8bdaC4E68bA2595Be8381aaa5456917e374E737\"\n implementations.0:\n- \"0x4F750D13005444407D44dAA30922128db0374ca1\"\n+ \"0xF8bdaC4E68bA2595Be8381aaa5456917e374E737\"\n values.impl:\n- \"0x4F750D13005444407D44dAA30922128db0374ca1\"\n+ \"0xF8bdaC4E68bA2595Be8381aaa5456917e374E737\"\n }\n```\n\n```diff\n contract SignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: None\n upgradeability.implementation:\n- \"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"\n+ \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n implementations.0:\n- \"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"\n+ \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n values.impl:\n- \"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"\n+ \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n }\n```\n\n```diff\n contract SgxVerifier (0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81) {\n +++ description: Verifier contract for SGX proven blocks.\n values.instances.7:\n+ [\"0x6F6C0837b2c45B1bfE970bd5a0BB171605cb44F3\"]\n values.instances.6:\n+ [\"0x4A9d339c94D1D3b685e3923907A98c73b8168AFF\"]\n values.nextInstanceId:\n- 6\n+ 8\n }\n```\n\n```diff\n- Status: DELETED\n contract ProverSet (0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F)\n +++ description: None\n```\n\n```diff\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: None\n upgradeability.implementation:\n- \"0x3c326483EBFabCf3252205f26dF632FE83d11108\"\n+ \"0xD28f2c26aD8bA88b0691F6BB41Ff021878052561\"\n implementations.0:\n- \"0x3c326483EBFabCf3252205f26dF632FE83d11108\"\n+ \"0xD28f2c26aD8bA88b0691F6BB41Ff021878052561\"\n values.impl:\n- \"0x3c326483EBFabCf3252205f26dF632FE83d11108\"\n+ \"0xD28f2c26aD8bA88b0691F6BB41Ff021878052561\"\n values.CALLDATA_MESSAGE_SIZE_BYTES:\n+ 352\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd)\n +++ description: None\n```"
}
]
},
{
"id": "e2633393",
"date": "Thu, 06 Jun 2024 12:40:03 GMT",
"timestamp": 1717677603,
"description": "TaikoL1Contract implementation update:\n- Retrieve the tier configurations based on router rather than tier_provider\n- Removed L1_UNAUTHORIZED error and _isProposerPermitted function, making block proposing permissionless.\n- checkEOAForCalldataDA is not in getConfig(), used when blob usages is not detected, it will check the calldata for tx data.\n- LibStrings changes: removed assignment_hook, proposer and proposer_one. Proposer and proposer_one still resolve but unused since _isProposerPermitted is removed. \n\nSignalService update: getSyncedChainData to getSyncedChainHeight, some error changes.\n\nProver_set update: reflect changes to LibStrings, made natively aware of taiko token.\n\nSGXVerifier update: reflect changes to LibStrings, some error changes. _replaceInstance only if new instance != old instance.\n\nGuardianProver(s) update: safeApprove and safeTransfer function to approve and transfer. Reflect changes to LibStrings.\n\nL1RollupAddressManager update: removed B_ASSIGNMENT_HOOK, B_PROPOSER, B_PROPOSER_ONE, B_TIER_PROVIDER. Added B_TIER_ROUTER.",
"isHighSeverity": true,
"changeCount": 28,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n upgradeability.implementation:\n- \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n+ \"0x4b2743B869b85d5F7D8020566f92664995E4f3c5\"\n implementations.0:\n- \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n+ \"0x4b2743B869b85d5F7D8020566f92664995E4f3c5\"\n values.assignment_hook:\n- \"0x537a2f0D3a5879b41BCb5A2afE2EA5c4961796F6\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.getConfig.7:\n+ true\n values.impl:\n- \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n+ \"0x4b2743B869b85d5F7D8020566f92664995E4f3c5\"\n values.prover_set:\n- \"0x500735343372Dd6c9B84dBc7a75babf4479742B9\"\n+ \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ProverSet (0x500735343372Dd6c9B84dBc7a75babf4479742B9)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract AssignmentHook (0x537a2f0D3a5879b41BCb5A2afE2EA5c4961796F6)\n +++ description: None\n```\n\n```diff\n contract GuardianMinorityProver (0x579A8d63a2Db646284CBFE31FE5082c9989E985c) {\n +++ description: Verifier contract for blocks proven by Guardian minority.\n upgradeability.implementation:\n- \"0x468F6A9C0ad2e9C8370687D2844A9e70fE942d5c\"\n+ \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n implementations.0:\n- \"0x468F6A9C0ad2e9C8370687D2844A9e70fE942d5c\"\n+ \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n values.impl:\n- \"0x468F6A9C0ad2e9C8370687D2844A9e70fE942d5c\"\n+ \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n }\n```\n\n```diff\n contract L1RollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780) {\n +++ description: None\n upgradeability.implementation:\n- \"0x8Af4669E3068Bae96b92cD73603f5D86beD07a9a\"\n+ \"0x8EEf314878A7E56314E8DF285d0B0D649C903aF6\"\n implementations.0:\n- \"0x8Af4669E3068Bae96b92cD73603f5D86beD07a9a\"\n+ \"0x8EEf314878A7E56314E8DF285d0B0D649C903aF6\"\n values.impl:\n- \"0x8Af4669E3068Bae96b92cD73603f5D86beD07a9a\"\n+ \"0x8EEf314878A7E56314E8DF285d0B0D649C903aF6\"\n }\n```\n\n```diff\n contract ProverSetProxy (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TKO token and acts as a Taiko prover. This contract will simply relay `proveBlock` calls to TaikoL1 so msg.sender doesn't need to hold any TKO.\n upgradeability.implementation:\n- \"0x500735343372Dd6c9B84dBc7a75babf4479742B9\"\n+ \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n implementations.0:\n- \"0x500735343372Dd6c9B84dBc7a75babf4479742B9\"\n+ \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n values.impl:\n- \"0x500735343372Dd6c9B84dBc7a75babf4479742B9\"\n+ \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n }\n```\n\n```diff\n contract TaikoAdmin (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.nonce:\n- 26\n+ 28\n }\n```\n\n```diff\n contract SignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: None\n upgradeability.implementation:\n- \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n+ \"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"\n implementations.0:\n- \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n+ \"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"\n values.impl:\n- \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n+ \"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"\n }\n```\n\n```diff\n contract SgxVerifier (0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81) {\n +++ description: Verifier contract for SGX proven blocks.\n upgradeability.implementation:\n- \"0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"\n+ \"0xB0b782cf0fCEce896E0C041F8e54f86cA4cC8e9F\"\n implementations.0:\n- \"0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"\n+ \"0xB0b782cf0fCEce896E0C041F8e54f86cA4cC8e9F\"\n values.impl:\n- \"0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"\n+ \"0xB0b782cf0fCEce896E0C041F8e54f86cA4cC8e9F\"\n }\n```\n\n```diff\n contract GuardianProver (0xE3D777143Ea25A6E031d1e921F396750885f43aC) {\n +++ description: Verifier contract for Guardian proven blocks.\n upgradeability.implementation:\n- \"0x468F6A9C0ad2e9C8370687D2844A9e70fE942d5c\"\n+ \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n implementations.0:\n- \"0x468F6A9C0ad2e9C8370687D2844A9e70fE942d5c\"\n+ \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n values.impl:\n- \"0x468F6A9C0ad2e9C8370687D2844A9e70fE942d5c\"\n+ \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F)\n +++ description: None\n```"
}
]
},
{
"id": "b287d48e",
"date": "Tue, 04 Jun 2024 09:25:32 GMT",
"timestamp": 1717493132,
"description": "Two contracts implementation changed, TaikoL1.sol, and Bridge.sol.\n- TaikoL1.sol: introduced B_TIER_ROUTER = bytes32(\"tier_router\") to replace B_TIER_PROVIDER\n- Bridge.sol: Added a max proof size for a message to be processable by a relayer, an insufficent gas check, and added the B_TIER_ROUTER variable support.",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n upgradeability.implementation:\n- \"0x3505a0700DB72dEc7AbFF1aF231BB5D87aBF2944\"\n+ \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n implementations.0:\n- \"0x3505a0700DB72dEc7AbFF1aF231BB5D87aBF2944\"\n+ \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n values.impl:\n- \"0x3505a0700DB72dEc7AbFF1aF231BB5D87aBF2944\"\n+ \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n values.tier_router:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0xa8e5D3a2E2052bea7f10bE6a0386454b721d1f9F\"\n }\n```\n\n```diff\n contract TaikoAdmin (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.nonce:\n- 24\n+ 26\n }\n```\n\n```diff\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: None\n upgradeability.implementation:\n- \"0x951B7Ae1bB26d12dB37f01748e8fB62FEf45A8B5\"\n+ \"0x3c326483EBFabCf3252205f26dF632FE83d11108\"\n implementations.0:\n- \"0x951B7Ae1bB26d12dB37f01748e8fB62FEf45A8B5\"\n+ \"0x3c326483EBFabCf3252205f26dF632FE83d11108\"\n values.impl:\n- \"0x951B7Ae1bB26d12dB37f01748e8fB62FEf45A8B5\"\n+ \"0x3c326483EBFabCf3252205f26dF632FE83d11108\"\n values.RELAYER_MAX_PROOF_BYTES:\n+ 200000\n }\n```\n\n```diff\n+ Status: CREATED\n contract TierRouter (0xa8e5D3a2E2052bea7f10bE6a0386454b721d1f9F)\n +++ description: None\n```"
}
]
},
{
"id": "10733367",
"date": "Mon, 03 Jun 2024 08:06:00 GMT",
"timestamp": 1717401960,
"description": "Change in bridge implementation processMessage function: message Status and B_OUT_OF_ETH_QUOTA revert logic.",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoAdmin (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.nonce:\n- 23\n+ 24\n }\n```\n\n```diff\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: None\n upgradeability.implementation:\n- \"0x71c2f41AEDe913AAEf2c62596E03702E348D6Cd0\"\n+ \"0x951B7Ae1bB26d12dB37f01748e8fB62FEf45A8B5\"\n implementations.0:\n- \"0x71c2f41AEDe913AAEf2c62596E03702E348D6Cd0\"\n+ \"0x951B7Ae1bB26d12dB37f01748e8fB62FEf45A8B5\"\n values.impl:\n- \"0x71c2f41AEDe913AAEf2c62596E03702E348D6Cd0\"\n+ \"0x951B7Ae1bB26d12dB37f01748e8fB62FEf45A8B5\"\n }\n```"
}
]
},
{
"id": "c1f59442",
"date": "Thu, 30 May 2024 14:43:53 GMT",
"timestamp": 1717080233,
"description": "Provide description of changes. This section will be preserved.",
"isHighSeverity": false,
"changeCount": 18,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract PEMCertChainLib (0x02772b7B3a5Bea0141C993Dbb8D0733C19F46169)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a)\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoToken (0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SigVerifyLib (0x47bB416ee947fE4a4b655011aF7d6E3A1B80E6e9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract TierProvider (0x4cffe56C947E26D07C14020499776DB3e9AE3a23)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (0x500735343372Dd6c9B84dBc7a75babf4479742B9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AssignmentHook (0x537a2f0D3a5879b41BCb5A2afE2EA5c4961796F6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GuardianMinorityProver (0x579A8d63a2Db646284CBFE31FE5082c9989E985c)\n +++ description: Verifier contract for blocks proven by Guardian minority.\n```\n\n```diff\n+ Status: CREATED\n contract L1RollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProverSetProxy (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9)\n +++ description: A contract that holds TKO token and acts as a Taiko prover. This contract will simply relay `proveBlock` calls to TaikoL1 so msg.sender doesn't need to hold any TKO.\n```\n\n```diff\n+ Status: CREATED\n contract AutomataDcapV3Attestation (0x8d7C954960a36a7596d7eA4945dDf891967ca8A3)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SharedERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract TaikoAdmin (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SgxVerifier (0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GuardianProver (0xE3D777143Ea25A6E031d1e921F396750885f43aC)\n +++ description: Verifier contract for Guardian proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract L1SharedAddressManager (0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa)\n +++ description: None\n```"
}
]
}
]