65792d28 (main)
and
ede58247 (PR)
+18 -4
+3 -3
{
"arbitrum": {
"roles": [],
"actors": [
{
"id": "ApeChainMultisig",
"name": "ApeChainMultisig",
"description": "A Multisig with 3/6 threshold. \n* Can upgrade **with no delay**\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * RollupProxy [via: UpgradeExecutor]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n * ChallengeManager [via: UpgradeExecutor → ProxyAdmin]\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n* Can interact with RollupProxy\n * Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes [via: UpgradeExecutor]",
"accounts": [
{
"address": "arb1:0x2B1FbeE3c7D278bFD9E179893FF304fE49FA7DDF",
"type": "Contract",
"isVerified": true,
"name": "0x2B1F…7DDF",
"url": "https://arbiscan.io/address/0x2B1FbeE3c7D278bFD9E179893FF304fE49FA7DDF"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xe2d8761a2a87b06413e39D08C31b683cDD4dF4a4",
"type": "EOA",
"isVerified": true,
"name": "0xe2d8…F4a4",
"url": "https://arbiscan.io/address/0xe2d8761a2a87b06413e39D08C31b683cDD4dF4a4"
},
{
"address": "arb1:0x6c447467FED500eEa91309c0b0c302Aa9763412d",
"type": "EOA",
"isVerified": true,
"name": "0x6c44…412d",
"url": "https://arbiscan.io/address/0x6c447467FED500eEa91309c0b0c302Aa9763412d"
},
{
"address": "arb1:0xd125c9222160C308EdC5Cf642573Ca8a14D9d33c",
"type": "EOA",
"isVerified": true,
"name": "0xd125…d33c",
"url": "https://arbiscan.io/address/0xd125c9222160C308EdC5Cf642573Ca8a14D9d33c"
},
{
"address": "arb1:0xbc1Cb7133f080eB61262dafB77788B95e208B77F",
"type": "EOA",
"isVerified": true,
"name": "0xbc1C…B77F",
"url": "https://arbiscan.io/address/0xbc1Cb7133f080eB61262dafB77788B95e208B77F"
},
{
"address": "arb1:0x8765bb776b00A14198025283988c23F72D330E2a",
"type": "EOA",
"isVerified": true,
"name": "0x8765…0E2a",
"url": "https://arbiscan.io/address/0x8765bb776b00A14198025283988c23F72D330E2a"
},
{
"address": "arb1:0x65c10dD3d50B10D0E1Bb459675b03367B1b52eD1",
"type": "EOA",
"isVerified": true,
"name": "0x65c1…2eD1",
"url": "https://arbiscan.io/address/0x65c10dD3d50B10D0E1Bb459675b03367B1b52eD1"
}
],
"discoveryDrivenData": true
},
{
"id": "SafeL2",
"name": "SafeL2",
"description": "A Multisig with 2/3 threshold. \n* Can interact with EspressoTEEVerifier\n * add, remove or disable supported enclave hashes \n * change the TEE verifier contract ",
"accounts": [
{
"address": "arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5",
"type": "Contract",
"isVerified": true,
"name": "0x6Dc6…1dA5",
"url": "https://arbiscan.io/address/0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xb9e40b6E60CcD5361774cf4D36d1fCe66B649b63",
"type": "EOA",
"isVerified": true,
"name": "0xb9e4…9b63",
"url": "https://arbiscan.io/address/0xb9e40b6E60CcD5361774cf4D36d1fCe66B649b63"
},
{
"address": "arb1:0x5E768dd03BD821703ef825e057434De85913EEAC",
"type": "EOA",
"isVerified": true,
"name": "0x5E76…EEAC",
"url": "https://arbiscan.io/address/0x5E768dd03BD821703ef825e057434De85913EEAC"
},
{
"address": "arb1:0x00B96a8454dc757240e475B5e6e7DcAAf401930f",
"address": "arb1:0xd16384742f34511ade0555bC6312A284Ab1339bA",
"type": "EOA",
"isVerified": true,
"name": "0x00B9…930f",
"url": "https://arbiscan.io/address/0x00B96a8454dc757240e475B5e6e7DcAAf401930f"
"name": "0xd163…39bA",
"url": "https://arbiscan.io/address/0xd16384742f34511ade0555bC6312A284Ab1339bA"
}
],
"discoveryDrivenData": true
},
{
"id": "EspressoTEEVerifier",
"name": "EspressoTEEVerifier",
"accounts": [
{
"address": "arb1:0x9440e52851706A261965c128A6CB3b5C455177Fb",
"type": "Contract",
"isVerified": true,
"name": "0x9440…77Fb",
"url": "https://arbiscan.io/address/0x9440e52851706A261965c128A6CB3b5C455177Fb"
}
],
"chain": "arbitrum",
"description": "TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports AWS Nitro TEEs through modular contracts.\n* Can interact with EspressoNitroTEEVerifier\n * set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers ",
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "arb1:0x3918b6ecc471211a942B0A904fbFb36302348f6B",
"type": "EOA",
"isVerified": true,
"name": "0x3918…8f6B",
"url": "https://arbiscan.io/address/0x3918b6ecc471211a942B0A904fbFb36302348f6B",
"displayName": "EOA 1"
}
],
"chain": "arbitrum",
"description": "* Can interact with SequencerInbox\n * Add/remove batchPosters (Sequencers) \n * Can submit transaction batches or commitments to the SequencerInbox contract on the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "arb1:0xAcB7D670bb95144B88a5Cd1883B87bC5021FD10a",
"type": "EOA",
"isVerified": true,
"name": "0xAcB7…D10a",
"url": "https://arbiscan.io/address/0xAcB7D670bb95144B88a5Cd1883B87bC5021FD10a",
"displayName": "EOA 2"
}
],
"chain": "arbitrum",
"description": "* Can interact with RollupProxy\n * Can propose new state roots (called nodes) and challenge state roots on the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "arb1:0xba1E3EFfD2DD8CEb7054FEfb0cee8C4300D82C1a",
"type": "EOA",
"isVerified": true,
"name": "0xba1E…2C1a",
"url": "https://arbiscan.io/address/0xba1E3EFfD2DD8CEb7054FEfb0cee8C4300D82C1a",
"displayName": "EOA 3"
}
],
"chain": "arbitrum",
"description": "* Can interact with NitroEnclaveVerifier\n * set the root certificate, add/remove ZK verifier routes, update verifier and aggregator program IDs, and change the ZK coprocessor configuration ",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "arb1:0xFb259F30199B4f4AB9c9a26019f83b195837075E",
"type": "EOA",
"isVerified": true,
"name": "0xFb25…075E",
"url": "https://arbiscan.io/address/0xFb259F30199B4f4AB9c9a26019f83b195837075E",
"displayName": "EOA 4"
}
],
"chain": "arbitrum",
"description": "* Can upgrade **with no delay**\n * EspressoTEEVerifier [via: ProxyAdmin]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1790891964,
"baseTimestamp": 1791533574,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "3155cbda",
"date": "Fri, 09 Oct 2026 08:14:24 GMT",
"timestamp": 1791533574,
"description": "EspressoTEEVerifier owner Safe: member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SafeL2 (arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5) [GnosisSafe] {\n +++ description: None\n values.$members.2:\n- \"arb1:0x00B96a8454dc757240e475B5e6e7DcAAf401930f\"\n+ \"arb1:0xd16384742f34511ade0555bC6312A284Ab1339bA\"\n }\n```"
}
]
},
{
"id": "b43ed98f",
"date": "Thu, 01 Oct 2026 22:02:56 GMT",
"timestamp": 1790891964,
"description": "SequencerInbox: since 2026-08-31 batches are posted as calldata on Arbitrum One instead of AnyTrust DAC certificates.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerInbox (arb1:0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C) [orbitstack/SequencerInbox_Espresso] {\n +++ description: The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.sequencerVersion:\n- \"0x88\"\n+ \"0x00\"\n }\n```"
}
]
},
{
"id": "5a25c5bb",
"date": "Mon, 10 Aug 2026 11:03:54 GMT",
"timestamp": 1786359767,
"description": "SequencerInbox: the latest batch was posted as an AnyTrust DAC certificate rather than as data on the host chain.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerInbox (arb1:0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C) [orbitstack/SequencerInbox_Espresso] {\n +++ description: The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.sequencerVersion:\n- \"0x00\"\n+ \"0x88\"\n }\n```"
}
]
},
{
"id": "88cae8ff",
"date": "Fri, 03 Jul 2026 10:13:14 GMT",
"timestamp": 1783073499,
"description": "SequencerInbox `sequencerVersion` flipped `0x88` → `0x00`: latest batch posted as Ethereum calldata instead of a DAC certificate (AnyTrust fall-back). ApeChainMultisig dropped one signer; threshold 3/7 → 3/6.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ApeChainMultisig (arb1:0x2B1FbeE3c7D278bFD9E179893FF304fE49FA7DDF) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"arb1:0x83F58bBB1a940E364ED2dE775D1FD5218135cCE3\"\n values.multisigThreshold:\n- \"3 of 7 (43%)\"\n+ \"3 of 6 (50%)\"\n }\n```\n\n```diff\n contract SequencerInbox (arb1:0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C) [orbitstack/SequencerInbox_Espresso] {\n +++ description: The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.sequencerVersion:\n- \"0x88\"\n+ \"0x00\"\n }\n```"
}
]
},
{
"id": "c39eceb9",
"date": "Fri, 26 Jun 2026 08:41:02 GMT",
"timestamp": 1782463184,
"description": "Removed SGX TEE verifier flow from tee attestation verification, leaving only Nitro. \n\nRegistered new wasm module root (ArbOS commitment) and valid TEE enclave hash. Both are not known from other depoloyments and are not verified.\n\nAlso, rotated one Apechain ms member and added two more.",
"isHighSeverity": false,
"changeCount": 26,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract EspressoSGXTEEVerifier (arb1:0x05A16513BF74629b834878731f07b075Cca33f55) [espresso/Sequencing/EspressoSGXTEEVerifier]\n +++ description: Verifies attestations of an Intel SGX TEE.\n```\n\n```diff\n contract ApeChainMultisig (arb1:0x2B1FbeE3c7D278bFD9E179893FF304fE49FA7DDF) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"arb1:0xe2d8761a2a87b06413e39D08C31b683cDD4dF4a4\"\n values.$members.1:\n+ \"arb1:0x6c447467FED500eEa91309c0b0c302Aa9763412d\"\n values.$members.2:\n- \"arb1:0x651cF50272Ffa8f6D954080DF743410Bb0aa7AFa\"\n+ \"arb1:0xbc1Cb7133f080eB61262dafB77788B95e208B77F\"\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"3 of 7 (43%)\"\n }\n```\n\n```diff\n contract RollupProxy (arb1:0x374de579AE15aD59eD0519aeAf1A23F348Df259c) [orbitstack/RollupProxy_fastConfirm] {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"0x5b82aa008989d331bf6f3cf75b85a04c9ee809447c19b85fecaf3b7d749a6576\"\n+ \"0x2dc824fed99dcdf659f2523ad68d1ec70bd5f08e3c533996be3a2d2b19813e83\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0x5b82aa008989d331bf6f3cf75b85a04c9ee809447c19b85fecaf3b7d749a6576\"\n+ \"0x2dc824fed99dcdf659f2523ad68d1ec70bd5f08e3c533996be3a2d2b19813e83\"\n }\n```\n\n```diff\n- Status: DELETED\n contract EspressoTEEVerifier (arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5) [espresso/Sequencing/EspressoTEEVerifier_gateway]\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n```\n\n```diff\n- Status: DELETED\n contract QuoteVerifier (arb1:0x69523d25E25e5c78d828Df90459b75F189D40Cf7) [espresso/Sequencing/QuoteVerifier]\n +++ description: The QuoteVerifier contract is used by the EspressoTEEVerifier to verify the validity of the TEE quote. It references a PCCSRouter (arb1:0x0d089B3fA00CBAD0a5098025519e9e4620622acF), an access point for Intel SGX 'collateral', crucial references of which some modular contracts are unverified.\n```\n\n```diff\n contract SafeL2 (arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0.description:\n- \"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\"\n+ \"add, remove or disable supported enclave hashes.\"\n receivedPermissions.0.from:\n- \"arb1:0x05A16513BF74629b834878731f07b075Cca33f55\"\n+ \"arb1:0x9440e52851706A261965c128A6CB3b5C455177Fb\"\n receivedPermissions.1.description:\n- \"change the modular TEE verifier contracts.\"\n+ \"change the TEE verifier contract.\"\n receivedPermissions.1.from:\n- \"arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5\"\n+ \"arb1:0x9440e52851706A261965c128A6CB3b5C455177Fb\"\n }\n```\n\n```diff\n- Status: DELETED\n contract EspressoNitroTEEVerifier (arb1:0x9bE8dA826D2C6E6708372f0d056f57B97e6dB029) [apechain/EspressoNitroTEEVerifier_modifiableVerifier]\n +++ description: Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n```\n\n```diff\n contract SequencerInbox (arb1:0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C) [orbitstack/SequencerInbox_Espresso] {\n +++ description: The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.espressoTEEVerifier:\n- \"arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5\"\n+ \"arb1:0x9440e52851706A261965c128A6CB3b5C455177Fb\"\n }\n```\n\n```diff\n EOA (arb1:0xFb259F30199B4f4AB9c9a26019f83b195837075E) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"arb1:0x9bE8dA826D2C6E6708372f0d056f57B97e6dB029\",\"description\":\"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\",\"role\":\".owner\"}\n receivedPermissions.1.via:\n+ [{\"address\":\"arb1:0x927dCF5D08795eEFd7C2bEC89777CFCD67950870\"}]\n receivedPermissions.1.role:\n- \".owner\"\n+ \"admin\"\n receivedPermissions.1.description:\n- \"set the nitro enclave verifier that checks the TEE attestations.\"\n receivedPermissions.1.from:\n- \"arb1:0x9bE8dA826D2C6E6708372f0d056f57B97e6dB029\"\n+ \"arb1:0x9440e52851706A261965c128A6CB3b5C455177Fb\"\n receivedPermissions.1.permission:\n- \"interact\"\n+ \"upgrade\"\n eoaWithUpgradePermissions:\n+ true\n directlyReceivedPermissions:\n+ [{\"permission\":\"act\",\"from\":\"arb1:0x927dCF5D08795eEFd7C2bEC89777CFCD67950870\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (arb1:0x927dCF5D08795eEFd7C2bEC89777CFCD67950870) [global/ProxyAdmin]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EspressoTEEVerifier (arb1:0x9440e52851706A261965c128A6CB3b5C455177Fb) [espresso/Sequencing/EspressoTEEVerifier_onlyNitro]\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports AWS Nitro TEEs through modular contracts.\n```\n\n```diff\n+ Status: CREATED\n contract EspressoNitroTEEVerifier (arb1:0xBA7E3C18A16FfD8062047422c63027459105BB35) [espresso/Sequencing/EspressoNitroTEEVerifier_WithServices]\n +++ description: Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n```"
}
]
},
{
"id": "82c06f40",
"date": "Fri, 05 Jun 2026 10:10:30 GMT",
"timestamp": 1780654151,
"description": "Switched to checking TEE attestations with zk in the style of Appchain. Appchain contracts resued (a slightly older version though): https://disco.l2beat.com/diff/eth:0x9E490ce0203d191Cae0ABF5614D561cC6fdc771f/arb1:0x9bE8dA826D2C6E6708372f0d056f57B97e6dB029, the only difference is that owner can change the TEE verifier contact.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract CertManager (arb1:0x27CA506AC6567Ef79d364b56cf4dE9C4141d803A) [espresso/Sequencing]\n +++ description: The CertManager is used for anchoring TEE attestation keys to a trusted Certificate Authority (CA).\n```\n\n```diff\n contract EspressoTEEVerifier (arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5) [espresso/Sequencing/EspressoTEEVerifier_gateway] {\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n+++ severity: HIGH\n values.espressoNitroTEEVerifier:\n- \"arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C\"\n+ \"arb1:0x9bE8dA826D2C6E6708372f0d056f57B97e6dB029\"\n }\n```\n\n```diff\n contract SafeL2 (arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5) [GnosisSafe] {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C\",\"description\":\"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract EspressoNitroTEEVerifier (arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C) [espresso/Sequencing/EspressoNitroTEEVerifier]\n +++ description: Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n```\n\n```diff\n+ Status: CREATED\n contract NitroEnclaveVerifier (arb1:0x1b467761E7a125381c4f654e11B397023Fc53DD8) [espresso/Sequencing/NitroEnclaveVerifier]\n +++ description: ZK-backed verifier for AWS Nitro enclave attestations. Verifies ZK proofs (RiscZero, Succinct SP1 or Pico) that attest AWS Nitro cert chain validation was executed correctly off-chain.\n```\n\n```diff\n+ Status: CREATED\n contract EspressoNitroTEEVerifier (arb1:0x9bE8dA826D2C6E6708372f0d056f57B97e6dB029) [apechain/EspressoNitroTEEVerifier_modifiableVerifier]\n +++ description: Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (arb1:0xD9d5C8456a168Dd25561064F47bF116111131B1D) [succinct/SP1Verifier]\n +++ description: Verifier contract for SP1 proofs (v6.1.0).\n```"
}
]
},
{
"id": "140387ab",
"date": "Fri, 08 May 2026 09:36:14 GMT",
"timestamp": 1778232906,
"description": "Shared SafeL2 (`0x6Dc61D9E...`) — signer `0x5582a8A4` removed. Threshold unchanged at 2; total signers 4 → 3 (50% → 67%). Same shared multisig change observed on `appchain` (same address on Ethereum), `molten`, `rari`.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SafeL2 (arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5) [GnosisSafe] {\n +++ description: None\n values.$members.1:\n- \"arb1:0x5582a8A4f2B04341697cEA4Cf4289a01814C26e6\"\n values.multisigThreshold:\n- \"2 of 4 (50%)\"\n+ \"2 of 3 (67%)\"\n }\n```"
}
]
},
{
"id": "f0c9fc8a",
"date": "Tue, 10 Feb 2026 15:08:50 GMT",
"timestamp": 1770736061,
"description": "Ownership of Espresso TEE verifier contracts (EspressoSGXTEEVerifier, EspressoTEEVerifier, EspressoNitroTEEVerifier) transferred from EOA to new SafeL2 multisig.",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EspressoSGXTEEVerifier (arb1:0x05A16513BF74629b834878731f07b075Cca33f55) {\n +++ description: Verifies attestations of an Intel SGX TEE.\n+++ severity: HIGH\n values.owner:\n- \"arb1:0xFb259F30199B4f4AB9c9a26019f83b195837075E\"\n+ \"arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5\"\n }\n```\n\n```diff\n contract EspressoTEEVerifier (arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5) {\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n+++ severity: HIGH\n values.owner:\n- \"arb1:0xFb259F30199B4f4AB9c9a26019f83b195837075E\"\n+ \"arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5\"\n }\n```\n\n```diff\n contract EspressoNitroTEEVerifier (arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C) {\n +++ description: Verifies attestations of an AWS Nitro TEE.\n+++ severity: HIGH\n values.owner:\n- \"arb1:0xFb259F30199B4f4AB9c9a26019f83b195837075E\"\n+ \"arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5)\n +++ description: None\n```"
}
]
},
{
"id": "438bbd07",
"date": "Wed, 03 Dec 2025 08:35:56 GMT",
"timestamp": 1764750880,
"description": "Reintroduce known standard EspressoNitroTEEVerifier.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract EspressoNitroTEEVerifier_neutered (arb1:0x27d3F7fB1F155F81E633f4E29b2322b7ffafe8e4)\n +++ description: [NEUTERED] Usually verifies attestations of an AWS Nitro TEE, but this version of the contract does not verify anything and always returns true for certificate verifications. It also allows the owner to register any signer without a TEE attestation.\n```\n\n```diff\n contract EspressoTEEVerifier (arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5) {\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n+++ severity: HIGH\n values.espressoNitroTEEVerifier:\n- \"arb1:0x27d3F7fB1F155F81E633f4E29b2322b7ffafe8e4\"\n+ \"arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C\"\n }\n```\n\n```diff\n EOA (arb1:0xFb259F30199B4f4AB9c9a26019f83b195837075E) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"arb1:0x27d3F7fB1F155F81E633f4E29b2322b7ffafe8e4\",\"description\":\"register any signer without attestation by the TEE and spoof signatures.\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C\",\"description\":\"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract EspressoNitroTEEVerifier (arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C)\n +++ description: Verifies attestations of an AWS Nitro TEE.\n```"
}
]
},
{
"id": "48b558be",
"date": "Mon, 24 Nov 2025 09:17:15 GMT",
"timestamp": 1763974293,
"description": "upgrade: espressoNitroTEEVerifier is bypassed with `return True` and `onlyOwner` funcs. The new contract can be used to spoof any signature.\nhttps://disco.l2beat.com/diff/arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C/arb1:0x27d3F7fB1F155F81E633f4E29b2322b7ffafe8e4",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EspressoTEEVerifier (arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5) {\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n+++ severity: HIGH\n values.espressoNitroTEEVerifier:\n- \"arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C\"\n+ \"arb1:0x27d3F7fB1F155F81E633f4E29b2322b7ffafe8e4\"\n }\n```\n\n```diff\n- Status: DELETED\n contract EspressoNitroTEEVerifier (arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C)\n +++ description: Verifies attestations of an AWS Nitro TEE.\n```\n\n```diff\n EOA (arb1:0xFb259F30199B4f4AB9c9a26019f83b195837075E) {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"arb1:0x27d3F7fB1F155F81E633f4E29b2322b7ffafe8e4\",\"description\":\"register any signer without attestation by the TEE and spoof signatures.\",\"role\":\".owner\"}\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C\",\"description\":\"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract EspressoNitroTEEVerifier_neutered (arb1:0x27d3F7fB1F155F81E633f4E29b2322b7ffafe8e4)\n +++ description: [NEUTERED] Usually verifies attestations of an AWS Nitro TEE, but this version of the contract does not verify anything and always returns true for certificate verifications. It also allows the owner to register any signer without a TEE attestation.\n```"
}
]
},
{
"id": "85a6fb0f",
"date": "Tue, 18 Nov 2025 11:39:34 GMT",
"timestamp": 1763465887,
"description": "New registered AWS TEE signer.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EspressoNitroTEEVerifier (arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C) {\n +++ description: Verifies attestations of an AWS Nitro TEE.\n values.registeredSigners.6:\n+ \"arb1:0xfbf3197115695CaB806CDAe742470374a5c18d24\"\n }\n```"
}
]
},
{
"id": "db9f688d",
"date": "Wed, 05 Nov 2025 22:24:27 GMT",
"timestamp": 1762381395,
"description": "New registered AWS TEE signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EspressoNitroTEEVerifier (arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C) {\n +++ description: Verifies attestations of an AWS Nitro TEE.\n values.registeredSigners.4:\n+ \"arb1:0x6480ec7c5bA30bAa4c7F32fbB6eD5299117c5397\"\n values.registeredSigners.5:\n+ \"arb1:0x37aa7921D4a65d4D224d9C733E3E26c750A79D81\"\n }\n```"
}
]
},
{
"id": "65f832b4",
"date": "Wed, 15 Oct 2025 14:25:32 GMT",
"timestamp": 1760538265,
"description": "Apechain now uses Espresso sequencer.",
"isHighSeverity": true,
"changeCount": 18,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (arb1:0x5737CDBb3a67001441C0DA8b86e6b1826705601c) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"arb1:0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C\",\"description\":\"Add/remove batchPosters (Sequencers).\",\"role\":\".batchPosterManager\"}]\n }\n```\n\n```diff\n contract SequencerInbox (arb1:0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C) {\n +++ description: The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n template:\n- \"orbitstack/SequencerInbox\"\n+ \"orbitstack/SequencerInbox_Espresso\"\n sourceHashes.1:\n- \"0x6bb86ac4bd0d31e049f543fcf0a8f94c952252222f115246ef9d5b8104d803cc\"\n+ \"0x724a7b4f0fa3a5ce6b00cc932e70b6b83a05d1a846a341cbf8477dc95f6c916c\"\n description:\n- \"A sequencer (registered in this contract) can submit transaction batches or commitments here.\"\n+ \"The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\"\n values.$implementation:\n- \"arb1:0x0DD7dA1805d207511bb3Edabe9352B9E316048bE\"\n+ \"arb1:0xCfAfB803EF1FEc576138Cebc79Ad41Aa6760C575\"\n values.$pastUpgrades.2:\n+ [\"2025-10-14T19:31:30.000Z\",\"0xf2787805eb5c45529aacb68a446f51693fa2ffabbbe77585921d236a9b43d97a\",[\"arb1:0xCfAfB803EF1FEc576138Cebc79Ad41Aa6760C575\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.batchPosterManager:\n- \"arb1:0x5737CDBb3a67001441C0DA8b86e6b1826705601c\"\n+ \"arb1:0x3918b6ecc471211a942B0A904fbFb36302348f6B\"\n values.batchPosters.0:\n- \"arb1:0x845205C0F5109282954Bba4217aDA2a27Fdd89fF\"\n+ \"arb1:0x3918b6ecc471211a942B0A904fbFb36302348f6B\"\n values.setIsBatchPosterCount:\n- 1\n+ 3\n values.espressoTEEVerifier:\n+ \"arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5\"\n implementationNames.arb1:0x0DD7dA1805d207511bb3Edabe9352B9E316048bE:\n- \"SequencerInbox\"\n implementationNames.arb1:0xCfAfB803EF1FEc576138Cebc79Ad41Aa6760C575:\n+ \"SequencerInbox\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract EspressoSGXTEEVerifier (arb1:0x05A16513BF74629b834878731f07b075Cca33f55)\n +++ description: Verifies attestations of an Intel SGX TEE.\n```\n\n```diff\n+ Status: CREATED\n contract CertManager (arb1:0x27CA506AC6567Ef79d364b56cf4dE9C4141d803A)\n +++ description: The CertManager is used for anchoring TEE attestation keys to a trusted Certificate Authority (CA).\n```\n\n```diff\n+ Status: CREATED\n contract EspressoTEEVerifier (arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5)\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n```\n\n```diff\n+ Status: CREATED\n contract QuoteVerifier (arb1:0x69523d25E25e5c78d828Df90459b75F189D40Cf7)\n +++ description: The QuoteVerifier contract is used by the EspressoTEEVerifier to verify the validity of the TEE quote. It references a PCCSRouter (arb1:0x0d089B3fA00CBAD0a5098025519e9e4620622acF), an access point for Intel SGX 'collateral', crucial references of which some modular contracts are unverified.\n```\n\n```diff\n+ Status: CREATED\n contract EspressoNitroTEEVerifier (arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C)\n +++ description: Verifies attestations of an AWS Nitro TEE.\n```"
}
]
},
{
"id": "262a3d1c",
"date": "Mon, 14 Jul 2025 13:11:47 GMT",
"timestamp": 1752498707,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 16,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract Inbox (0x1B98e4ED82Ee1a91A65a38C690e2266364064D15)\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ApeChainMultisig (0x2B1FbeE3c7D278bFD9E179893FF304fE49FA7DDF)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0x374de579AE15aD59eD0519aeAf1A23F348Df259c)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x4aBF0E8C011142bAb19ff3C921880B71E68150Ca)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0x4F405BA65291063d8A524c2bDf55d4e67405c2aF)\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0x550B7B23Ed78BA25B3aBCBb290ADf1190aC28E19)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0x6B71AFb4b7725227ab944c96FE018AB9dc0434b8)\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0x8A4ed18B4d31bCeA908B0f96B4347a9F99e816b3)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0xa301f8EdD4Cdf10553b6aB39d9724c56d7ab582F)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0xa3180c7a17dd46DEf808477093592D8231e024a8)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0xAB2182C8c9a9d853Cf06A77967D2b3971A453ee1)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0xaB36aec5517C346D21b9C19429BAA5aa87D17fCa)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0xe032d15909e90f9A36901abB08944653e9E87d72)\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C)\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n```\n\n```diff\n+ Status: CREATED\n contract RollupEventInbox (0xf383814AE1eD316ed7d6FeA28810C77E8a15A49F)\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```"
}
]
},
{
"id": "1dd6bed9",
"date": "Wed, 18 Jun 2025 11:54:22 GMT",
"timestamp": 1750247662,
"description": "late upgrade to standard orbit implementations.",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Inbox (0x1B98e4ED82Ee1a91A65a38C690e2266364064D15) {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n sourceHashes.0:\n- \"0xb2c117c2e00734a82fe4ab27d5fe91a6e152c06bbcdbf83db021ad32b6be3e60\"\n+ \"0x25984fdfffb8141859c99299fb29e7a7460732d77111e5fe23792baa99f336a3\"\n values.$implementation:\n- \"0xCd26Db56B29e88b5394063aEA727DB1a03E961a7\"\n+ \"0xFa76A234b41f932Fa769f92d85574e1BEEfE8218\"\n values.$pastUpgrades.1:\n+ [\"2025-06-13T13:06:09.000Z\",\"0xe385aeb814e7282eac24484389ea3b1f4e6b612a750b25b547bacc5dffb70544\",[\"0xFa76A234b41f932Fa769f92d85574e1BEEfE8218\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.0xCd26Db56B29e88b5394063aEA727DB1a03E961a7:\n- \"ERC20Inbox\"\n implementationNames.0xFa76A234b41f932Fa769f92d85574e1BEEfE8218:\n+ \"ERC20Inbox\"\n }\n```\n\n```diff\n contract ApeChainMultisig (0x2B1FbeE3c7D278bFD9E179893FF304fE49FA7DDF) {\n +++ description: None\n values.$members.4:\n+ \"0xd125c9222160C308EdC5Cf642573Ca8a14D9d33c\"\n values.multisigThreshold:\n- \"3 of 4 (75%)\"\n+ \"3 of 5 (60%)\"\n }\n```\n\n```diff\n contract SequencerInbox (0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.0:\n- \"0x50cf57b01499408fa99da27cf0fee96ec30f0d40667d1aa090c442bc80f0636b\"\n+ \"0x6bb86ac4bd0d31e049f543fcf0a8f94c952252222f115246ef9d5b8104d803cc\"\n values.$implementation:\n- \"0x51120FA6D564A70E9F80874c0a55A4ee0c7396Fe\"\n+ \"0x0DD7dA1805d207511bb3Edabe9352B9E316048bE\"\n values.$pastUpgrades.1:\n+ [\"2025-06-13T13:06:09.000Z\",\"0xe385aeb814e7282eac24484389ea3b1f4e6b612a750b25b547bacc5dffb70544\",[\"0x0DD7dA1805d207511bb3Edabe9352B9E316048bE\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.0x51120FA6D564A70E9F80874c0a55A4ee0c7396Fe:\n- \"SequencerInbox\"\n implementationNames.0x0DD7dA1805d207511bb3Edabe9352B9E316048bE:\n+ \"SequencerInbox\"\n }\n```"
}
]
},
{
"id": "9a647e2e",
"date": "Mon, 21 Oct 2024 08:58:31 GMT",
"timestamp": 1729501111,
"description": "Standard Orbit stack AnyTrust optimium with APE gas token and max supply premint (bridged via LayerZero) on L3.",
"isHighSeverity": false,
"changeCount": 18,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract Inbox (0x1B98e4ED82Ee1a91A65a38C690e2266364064D15)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ApeChainMultisig (0x2B1FbeE3c7D278bFD9E179893FF304fE49FA7DDF)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0x374de579AE15aD59eD0519aeAf1A23F348Df259c)\n +++ description: Manages rollup components, list of Stakers and Validators. Entry point for Validators creating new Rollup Nodes (state commits) and Challengers submitting fraud proofs.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x4aBF0E8C011142bAb19ff3C921880B71E68150Ca)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0x4F405BA65291063d8A524c2bDf55d4e67405c2aF)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0x550B7B23Ed78BA25B3aBCBb290ADf1190aC28E19)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorWalletCreator (0x5a6C98F6A60BDC02cE4d8AD43b4Fc88Fe5b38856)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0x6B71AFb4b7725227ab944c96FE018AB9dc0434b8)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0x8A4ed18B4d31bCeA908B0f96B4347a9F99e816b3)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract (0x91f0A93A188d1516193032A687533C97D634f9F4)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0xa301f8EdD4Cdf10553b6aB39d9724c56d7ab582F)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0xa3180c7a17dd46DEf808477093592D8231e024a8)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0xAB2182C8c9a9d853Cf06A77967D2b3971A453ee1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0xaB36aec5517C346D21b9C19429BAA5aa87D17fCa)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0xe032d15909e90f9A36901abB08944653e9E87d72)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C)\n +++ description: State batches / commitments get posted here.\n```\n\n```diff\n+ Status: CREATED\n contract ERC20RollupEventInbox (0xf383814AE1eD316ed7d6FeA28810C77E8a15A49F)\n +++ description: None\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Caldera Multisig 3",
"name": "Caldera Multisig 3",
"description": "A Multisig with 3/6 threshold. \n* Can upgrade **with no delay**\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n * RollupProxy [via: UpgradeExecutor]\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * ChallengeManager [via: UpgradeExecutor → ProxyAdmin]\n* Can interact with RollupProxy\n * Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes [via: UpgradeExecutor]",
"accounts": [
{
"address": "eth:0x2bf43034b9559643e986A2fE3cE015a18247b904",
"type": "Contract",
"isVerified": true,
"name": "0x2bf4…b904",
"url": "https://etherscan.io/address/0x2bf43034b9559643e986A2fE3cE015a18247b904"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x62ea938a30826c8794C8B8BbA775B91cAE3B849A",
"type": "EOA",
"isVerified": true,
"name": "0x62ea…849A",
"url": "https://etherscan.io/address/0x62ea938a30826c8794C8B8BbA775B91cAE3B849A"
},
{
"address": "eth:0xe5219fe14E2FD520Ff80be036790913053d1575d",
"type": "EOA",
"isVerified": true,
"name": "0xe521…575d",
"url": "https://etherscan.io/address/0xe5219fe14E2FD520Ff80be036790913053d1575d"
},
{
"address": "eth:0xFcB26a1DbFafF84b91f1b7D9026DA63007b88D3c",
"type": "EOA",
"isVerified": true,
"name": "0xFcB2…8D3c",
"url": "https://etherscan.io/address/0xFcB26a1DbFafF84b91f1b7D9026DA63007b88D3c"
},
{
"address": "eth:0x9e14B1baFCEB80B67934aBE4fB00a7291aCfBcD0",
"type": "EOA",
"isVerified": true,
"name": "0x9e14…BcD0",
"url": "https://etherscan.io/address/0x9e14B1baFCEB80B67934aBE4fB00a7291aCfBcD0"
},
{
"address": "eth:0xe62a4A1e6D237d6fc40d88F819D5cE580a996A6b",
"type": "EOA",
"isVerified": true,
"name": "0xe62a…6A6b",
"url": "https://etherscan.io/address/0xe62a4A1e6D237d6fc40d88F819D5cE580a996A6b"
},
{
"address": "eth:0x356000Cec4fC967f8FC372381D983426760A0391",
"type": "EOA",
"isVerified": true,
"name": "Caldera",
"url": "https://etherscan.io/address/0x356000Cec4fC967f8FC372381D983426760A0391"
}
],
"discoveryDrivenData": true
},
{
"id": "EspressoTEEVerifier",
"name": "EspressoTEEVerifier",
"accounts": [
{
"address": "eth:0x5BE313094a4d35b1dB233D640176B4DD11F79b67",
"type": "Contract",
"isVerified": true,
"name": "0x5BE3…9b67",
"url": "https://etherscan.io/address/0x5BE313094a4d35b1dB233D640176B4DD11F79b67"
}
],
"chain": "ethereum",
"description": "TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports AWS Nitro TEEs through modular contracts.\n* Can interact with EspressoNitroTEEVerifier\n * set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers ",
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 2/3 threshold. \n* Can interact with EspressoTEEVerifier\n * add, remove or disable supported enclave hashes \n * change the TEE verifier contract ",
"accounts": [
{
"address": "eth:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5",
"type": "Contract",
"isVerified": true,
"name": "0x6Dc6…1dA5",
"url": "https://etherscan.io/address/0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xb9e40b6E60CcD5361774cf4D36d1fCe66B649b63",
"type": "EOA",
"isVerified": true,
"name": "0xb9e4…9b63",
"url": "https://etherscan.io/address/0xb9e40b6E60CcD5361774cf4D36d1fCe66B649b63"
},
{
"address": "eth:0x5E768dd03BD821703ef825e057434De85913EEAC",
"type": "EOA",
"isVerified": true,
"name": "0x5E76…EEAC",
"url": "https://etherscan.io/address/0x5E768dd03BD821703ef825e057434De85913EEAC"
},
{
"address": "eth:0x00B96a8454dc757240e475B5e6e7DcAAf401930f",
"address": "eth:0xd16384742f34511ade0555bC6312A284Ab1339bA",
"type": "EOA",
"isVerified": true,
"name": "0x00B9…930f",
"url": "https://etherscan.io/address/0x00B96a8454dc757240e475B5e6e7DcAAf401930f"
"name": "0xd163…39bA",
"url": "https://etherscan.io/address/0xd16384742f34511ade0555bC6312A284Ab1339bA"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0xC5dD640885cE582464e2fCa7b169581417822e6C",
"type": "EOA",
"isVerified": true,
"name": "0xC5dD…2e6C",
"url": "https://etherscan.io/address/0xC5dD640885cE582464e2fCa7b169581417822e6C",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SequencerInbox\n * Add/remove batchPosters (Sequencers) \n * Can submit transaction batches or commitments to the SequencerInbox contract on the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xef6Ef32bcC96B9D94f50A51A42dB4825D6337780",
"type": "EOA",
"isVerified": true,
"name": "0xef6E…7780",
"url": "https://etherscan.io/address/0xef6Ef32bcC96B9D94f50A51A42dB4825D6337780",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with RollupProxy\n * Can propose new state roots (called nodes) and challenge state roots on the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0xba1E3EFfD2DD8CEb7054FEfb0cee8C4300D82C1a",
"type": "EOA",
"isVerified": true,
"name": "0xba1E…2C1a",
"url": "https://etherscan.io/address/0xba1E3EFfD2DD8CEb7054FEfb0cee8C4300D82C1a",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with NitroEnclaveVerifier\n * set the root certificate, add/remove ZK verifier routes, update verifier and aggregator program IDs, and change the ZK coprocessor configuration ",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "eth:0xDA8E38FEf4d5cF1997061e51945775a393E4965B",
"type": "EOA",
"isVerified": true,
"name": "0xDA8E…965B",
"url": "https://etherscan.io/address/0xDA8E38FEf4d5cF1997061e51945775a393E4965B",
"displayName": "EOA 4"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * EspressoTEEVerifier [via: ProxyAdmin]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1787668931,
"baseTimestamp": 1791533604,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "8a4c830b",
"date": "Fri, 09 Oct 2026 08:14:55 GMT",
"timestamp": 1791533604,
"description": "EspressoTEEVerifier owner Safe: member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (eth:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5) [GnosisSafe] {\n +++ description: None\n values.$members.2:\n- \"eth:0x00B96a8454dc757240e475B5e6e7DcAAf401930f\"\n+ \"eth:0xd16384742f34511ade0555bC6312A284Ab1339bA\"\n }\n```"
}
]
},
{
"id": "ae4a028f",
"date": "Mon, 29 Jun 2026 15:24:34 GMT",
"timestamp": 1782746581,
"description": "Caldera Multisig 3 (shared with capx, form, oevnetwork, sxt): member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Caldera Multisig 3 (eth:0x2bf43034b9559643e986A2fE3cE015a18247b904) [GnosisSafe] {\n +++ description: None\n values.$members.2:\n- \"eth:0xEC114946E7213d113c9B9481028271B5E9e09371\"\n+ \"eth:0xFcB26a1DbFafF84b91f1b7D9026DA63007b88D3c\"\n }\n```"
}
]
},
{
"id": "f7ce5e45",
"date": "Fri, 05 Jun 2026 10:10:05 GMT",
"timestamp": 1780654139,
"description": "Changes in `EspressoTEEVerifier` (high-level gateway): https://disco.l2beat.com/diff/eth:0xcC758349CBd99bAA7fAD0558634dAaB176c777D0/eth:0x51835Bbc68679Dd236cC7ed333d1F52a181975e0. Summary:\n\n- Removed Intel SGX TEE support (only Nitro TEE attestations now)\n- Migrated to upgradeable TEE verifier\n- Added some admin / owner functions: `setNitroEnclaveVerifier`, `deleteEnclaveHashes`, `setEnclaveHash`, `setEspressoNitroTEEVerifier`\n\nChanges in `EspressoNitroTEEVerifier`: https://disco.l2beat.com/diff/eth:0x9E490ce0203d191Cae0ABF5614D561cC6fdc771f/eth:0x4e98A1a038831B7D756ea9214508C4b34f4e4D3a. Summary:\n\n- Removed explicit owner address, now this role is taken by `EspressoTEEVerifier` contract.\n- Refactored, e.g. added `TEEHelper`.",
"isHighSeverity": false,
"changeCount": 23,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract NitroEnclaveVerifier (eth:0x0d1AD56885440A92799dC766D65B5C8377c60A35) [espresso/Sequencing/NitroEnclaveVerifier]\n +++ description: ZK-backed verifier for AWS Nitro enclave attestations. Verifies ZK proofs (RiscZero, Succinct SP1 or Pico) that attest AWS Nitro cert chain validation was executed correctly off-chain.\n```\n\n```diff\n- Status: DELETED\n contract SP1Verifier (eth:0x294a1Ee119C4B2510530572481A6a50892A9ae9f) [succinct/SP1Verifier]\n +++ description: Verifier contract for SP1 proofs (v5.0.0).\n```\n\n```diff\n contract Safe (eth:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x98206aBE6bdB21765458f27F199fd813343a3C3b\",\"description\":\"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\",\"role\":\".owner\"}\n receivedPermissions.1.description:\n- \"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\"\n+ \"add, remove or disable supported enclave hashes.\"\n receivedPermissions.1.from:\n- \"eth:0x9E490ce0203d191Cae0ABF5614D561cC6fdc771f\"\n+ \"eth:0x5BE313094a4d35b1dB233D640176B4DD11F79b67\"\n receivedPermissions.2.description:\n- \"change the modular TEE verifier contracts.\"\n+ \"change the TEE verifier contract.\"\n receivedPermissions.2.from:\n- \"eth:0xcC758349CBd99bAA7fAD0558634dAaB176c777D0\"\n+ \"eth:0x5BE313094a4d35b1dB233D640176B4DD11F79b67\"\n }\n```\n\n```diff\n contract SequencerInbox (eth:0x8045B2aa6b823CbA8f99ef3D3404F711619d3473) [orbitstack/SequencerInbox_Espresso] {\n +++ description: The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.espressoTEEVerifier:\n- \"eth:0xcC758349CBd99bAA7fAD0558634dAaB176c777D0\"\n+ \"eth:0x5BE313094a4d35b1dB233D640176B4DD11F79b67\"\n }\n```\n\n```diff\n- Status: DELETED\n contract QuoteVerifier (eth:0x816ADa3B63F3c643fb04152eA32B58Db89aadd89) [espresso/Sequencing/QuoteVerifier]\n +++ description: The QuoteVerifier contract is used by the EspressoTEEVerifier to verify the validity of the TEE quote. It references a PCCSRouter (eth:0xe20C4d54afBbea5123728d5b7dAcD9CB3c65C39a), an access point for Intel SGX 'collateral', crucial references of which some modular contracts are unverified.\n```\n\n```diff\n- Status: DELETED\n contract EspressoSGXTEEVerifier (eth:0x98206aBE6bdB21765458f27F199fd813343a3C3b) [espresso/Sequencing/EspressoSGXTEEVerifier]\n +++ description: Verifies attestations of an Intel SGX TEE.\n```\n\n```diff\n- Status: DELETED\n contract EspressoNitroTEEVerifier (eth:0x9E490ce0203d191Cae0ABF5614D561cC6fdc771f) [espresso/Sequencing/EspressoNitroTEEVerifier]\n +++ description: Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n```\n\n```diff\n- Status: DELETED\n contract EspressoTEEVerifier (eth:0xcC758349CBd99bAA7fAD0558634dAaB176c777D0) [espresso/Sequencing/EspressoTEEVerifier_gateway]\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n```\n\n```diff\n EOA (eth:0xDA8E38FEf4d5cF1997061e51945775a393E4965B) {\n +++ description: None\n receivedPermissions.0.via:\n+ [{\"address\":\"eth:0x546F30e936B1D01f8df1c356fa68833B9AFba99f\"}]\n receivedPermissions.0.role:\n- \".owner\"\n+ \"admin\"\n receivedPermissions.0.description:\n- \"set the root certificate, add/remove ZK verifier routes, update verifier and aggregator program IDs, and change the ZK coprocessor configuration.\"\n receivedPermissions.0.from:\n- \"eth:0x0d1AD56885440A92799dC766D65B5C8377c60A35\"\n+ \"eth:0x5BE313094a4d35b1dB233D640176B4DD11F79b67\"\n receivedPermissions.0.permission:\n- \"interact\"\n+ \"upgrade\"\n directlyReceivedPermissions:\n+ [{\"permission\":\"act\",\"from\":\"eth:0x546F30e936B1D01f8df1c356fa68833B9AFba99f\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n+ Status: CREATED\n contract NitroEnclaveVerifier (eth:0x1b467761E7a125381c4f654e11B397023Fc53DD8) [espresso/Sequencing/NitroEnclaveVerifier]\n +++ description: ZK-backed verifier for AWS Nitro enclave attestations. Verifies ZK proofs (RiscZero, Succinct SP1 or Pico) that attest AWS Nitro cert chain validation was executed correctly off-chain.\n```\n\n```diff\n+ Status: CREATED\n contract EspressoNitroTEEVerifier (eth:0x4e98A1a038831B7D756ea9214508C4b34f4e4D3a) [espresso/Sequencing/EspressoNitroTEEVerifier_WithServices]\n +++ description: Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (eth:0x546F30e936B1D01f8df1c356fa68833B9AFba99f) [global/ProxyAdmin]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EspressoTEEVerifier (eth:0x5BE313094a4d35b1dB233D640176B4DD11F79b67) [espresso/Sequencing/EspressoTEEVerifier_onlyNitro]\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports AWS Nitro TEEs through modular contracts.\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0xD9d5C8456a168Dd25561064F47bF116111131B1D) [succinct/SP1Verifier]\n +++ description: Verifier contract for SP1 proofs (v6.1.0).\n```"
}
]
},
{
"id": "d8c52577",
"date": "Mon, 25 May 2026 14:31:14 GMT",
"timestamp": 1779719407,
"description": "Caldera Multisig 3 (shared chain-admin Safe upgrading appchain/capx/form/oevnetwork/sxt) rotated out one member and lowered threshold from 4/7 to 3/6.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Caldera Multisig 3 (eth:0x2bf43034b9559643e986A2fE3cE015a18247b904) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0xbCDb12b7a5bDe037e342a6BE7fd5582b9D93C232\"\n values.$threshold:\n- 4\n+ 3\n values.multisigThreshold:\n- \"4 of 7 (57%)\"\n+ \"3 of 6 (50%)\"\n }\n```"
}
]
},
{
"id": "0f622b7f",
"date": "Fri, 08 May 2026 09:36:21 GMT",
"timestamp": 1778232916,
"description": "Shared Safe (`eth:0x6Dc61D9E...`) — signer `0x5582a8A4` removed. Threshold unchanged at 2; total signers 4 → 3 (50% → 67%). Same shared multisig is referenced on `apechain`, `molten`, `rari` (arb1 deployments).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (eth:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5) [GnosisSafe] {\n +++ description: None\n values.$members.1:\n- \"eth:0x5582a8A4f2B04341697cEA4Cf4289a01814C26e6\"\n values.multisigThreshold:\n- \"2 of 4 (50%)\"\n+ \"2 of 3 (67%)\"\n }\n```"
}
]
},
{
"id": "32db2c5f",
"date": "Fri, 17 Apr 2026 10:47:08 GMT",
"timestamp": 1776422736,
"description": "New TEE signer (0xEb2b1CE6) registered in EspressoNitroTEEVerifier. This is a new AWS Nitro enclave-derived signer authorized to submit batches via the sequencer flow.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EspressoNitroTEEVerifier (eth:0x9E490ce0203d191Cae0ABF5614D561cC6fdc771f) {\n +++ description: Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n values.registeredSigners.0:\n+ \"eth:0xEb2b1CE6Ed647a91Ceab0D3B598f69F268f3Fc0D\"\n }\n```"
}
]
},
{
"id": "57f112a3",
"date": "Wed, 15 Apr 2026 11:26:14 GMT",
"timestamp": 1776252265,
"description": "Espresso TEE verification architecture upgraded (same pattern as Molten on 2026-04-09): AWS Nitro enclave attestations are now verified via ZK proofs (RiscZero, Succinct SP1, or Pico) instead of on-chain X.509 certificate chain validation.\n\n- Old EspressoNitroTEEVerifier (0xDa72802) + CertManager (0x1Ff280d) deleted.\n- New EspressoNitroTEEVerifier (0x9E490ce) delegates attestation verification to a new NitroEnclaveVerifier (0x0d1AD56) that accepts ZK proofs of off-chain attestation validation.\n- New SP1Verifier (0x294a1Ee, v5.0.0) added for SP1 proof verification.\n- EspressoTEEVerifier (0xcC75834, unchanged) now points to the new NitroTEEVerifier.\n- Safe (0x6Dc61D) interact permission migrated from old to new verifier.\n\nSecurity implications: same TEE trust model (AWS Nitro), but adds trust in the ZK verifier (RiscZero/Succinct/Pico) and configured program IDs. Owner of EspressoNitroTEEVerifier can still register signers and set valid enclave hashes.\n\nEspressoNitroTEEVerifier: [diff](https://disco.l2beat.com/diff/eth:0xDa72802AaF0a7af96d9FF7d0D94A7388B85f9f24/eth:0x9E490ce0203d191Cae0ABF5614D561cC6fdc771f)",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract CertManager (eth:0x1Ff280d8B34E97E2CcA0bdb461F4bA2CF9b8E494)\n +++ description: The CertManager is used for anchoring TEE attestation keys to a trusted Certificate Authority (CA).\n```\n\n```diff\n contract Safe (eth:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5) {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9E490ce0203d191Cae0ABF5614D561cC6fdc771f\",\"description\":\"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\",\"role\":\".owner\"}\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"eth:0xDa72802AaF0a7af96d9FF7d0D94A7388B85f9f24\",\"description\":\"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n contract EspressoTEEVerifier (eth:0xcC758349CBd99bAA7fAD0558634dAaB176c777D0) {\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n+++ severity: HIGH\n values.espressoNitroTEEVerifier:\n- \"eth:0xDa72802AaF0a7af96d9FF7d0D94A7388B85f9f24\"\n+ \"eth:0x9E490ce0203d191Cae0ABF5614D561cC6fdc771f\"\n }\n```\n\n```diff\n- Status: DELETED\n contract EspressoNitroTEEVerifier (eth:0xDa72802AaF0a7af96d9FF7d0D94A7388B85f9f24)\n +++ description: Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n```\n\n```diff\n+ Status: CREATED\n contract NitroEnclaveVerifier (eth:0x0d1AD56885440A92799dC766D65B5C8377c60A35)\n +++ description: ZK-backed verifier for AWS Nitro enclave attestations. Verifies ZK proofs (RiscZero, Succinct SP1 or Pico) that attest AWS Nitro cert chain validation was executed correctly off-chain.\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0x294a1Ee119C4B2510530572481A6a50892A9ae9f)\n +++ description: Verifier contract for SP1 proofs (v5.0.0).\n```\n\n```diff\n+ Status: CREATED\n contract EspressoNitroTEEVerifier (eth:0x9E490ce0203d191Cae0ABF5614D561cC6fdc771f)\n +++ description: Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n```"
}
]
},
{
"id": "4481bbc5",
"date": "Mon, 23 Feb 2026 14:40:22 GMT",
"timestamp": 1771857553,
"description": "Caldera signer rotation: one member removed from Caldera Multisig 3, threshold unchanged at 4 but now \"4 of 7 (57%)\" instead of \"4 of 8 (50%)\".",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Caldera Multisig 3 (eth:0x2bf43034b9559643e986A2fE3cE015a18247b904) {\n +++ description: None\n values.$members.5:\n- \"eth:0xc4548687682246e5B6ee8f914635c9f47836eDFe\"\n values.multisigThreshold:\n- \"4 of 8 (50%)\"\n+ \"4 of 7 (57%)\"\n }\n```"
}
]
},
{
"id": "3c9f82fd",
"date": "Tue, 10 Feb 2026 15:08:45 GMT",
"timestamp": 1770736056,
"description": "New member added to Safe multisig, threshold changed from 2 of 3 to 2 of 4.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (eth:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xb9e40b6E60CcD5361774cf4D36d1fCe66B649b63\"\n values.multisigThreshold:\n- \"2 of 3 (67%)\"\n+ \"2 of 4 (50%)\"\n }\n```"
}
]
},
{
"id": "453ebc97",
"date": "Fri, 30 Jan 2026 11:41:43 GMT",
"timestamp": 1769773236,
"description": "Caldera Multisig 3 added a new signer, increasing from 4 of 7 (57%) to 4 of 8 (50%) threshold.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Caldera Multisig 3 (eth:0x2bf43034b9559643e986A2fE3cE015a18247b904) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xbCDb12b7a5bDe037e342a6BE7fd5582b9D93C232\"\n values.multisigThreshold:\n- \"4 of 7 (57%)\"\n+ \"4 of 8 (50%)\"\n }\n```"
}
]
},
{
"id": "951f2ecb",
"date": "Wed, 14 Jan 2026 12:44:38 GMT",
"timestamp": 1768394426,
"description": "Ownership of the three Espresso TEE verifier contracts (EspressoSGXTEEVerifier, EspressoTEEVerifier, EspressoNitroTEEVerifier) was transferred from an EOA to a Safe multisig.",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EspressoSGXTEEVerifier (eth:0x98206aBE6bdB21765458f27F199fd813343a3C3b) {\n +++ description: Verifies attestations of an Intel SGX TEE.\n+++ severity: HIGH\n values.owner:\n- \"eth:0xDA8E38FEf4d5cF1997061e51945775a393E4965B\"\n+ \"eth:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5\"\n }\n```\n\n```diff\n contract EspressoTEEVerifier (eth:0xcC758349CBd99bAA7fAD0558634dAaB176c777D0) {\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n+++ severity: HIGH\n values.owner:\n- \"eth:0xDA8E38FEf4d5cF1997061e51945775a393E4965B\"\n+ \"eth:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5\"\n }\n```\n\n```diff\n contract EspressoNitroTEEVerifier (eth:0xDa72802AaF0a7af96d9FF7d0D94A7388B85f9f24) {\n +++ description: Verifies attestations of an AWS Nitro TEE.\n+++ severity: HIGH\n values.owner:\n- \"eth:0xDA8E38FEf4d5cF1997061e51945775a393E4965B\"\n+ \"eth:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5)\n +++ description: None\n```"
}
]
},
{
"id": "ef0ea8fc",
"date": "Tue, 07 Oct 2025 09:46:09 GMT",
"timestamp": 1759830301,
"description": "Two members removed from multisig.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Caldera Multisig 3 (eth:0x2bf43034b9559643e986A2fE3cE015a18247b904) {\n +++ description: None\n values.$members.5:\n- \"eth:0x2F2d46D3dD36c8d1ae2Cb81c0cD2c05C68DBA675\"\n values.$members.7:\n- \"eth:0x12ee26aD74d50a1f6BDD90811387d1e0f3e7C76A\"\n values.multisigThreshold:\n- \"4 of 9 (44%)\"\n+ \"4 of 7 (57%)\"\n }\n```"
}
]
},
{
"id": "525eb188",
"date": "Thu, 02 Oct 2025 07:09:56 GMT",
"timestamp": 1759388912,
"description": "Caldera multisig members decrease.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Caldera Multisig 3 (eth:0x2bf43034b9559643e986A2fE3cE015a18247b904) {\n +++ description: None\n values.$members.9:\n- \"eth:0xbf853295743511e8DC5F03809d209C33fC136d24\"\n values.$members.10:\n- \"eth:0x15D5fF2dEc328a1cF3D64413caaBdcE29bff050A\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 9 (44%)\"\n }\n```"
}
]
},
{
"id": "21051640",
"date": "Tue, 30 Sep 2025 16:37:50 GMT",
"timestamp": 1759250204,
"description": "Upgrade to ArbOS v40. Caldera multisig threshold increase.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (eth:0x28293c7855797B0441000EF144119727f3cBCA9B) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v32 wasmModuleRoot\"\n+ \"ArbOS v40 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39\"\n+ \"0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a\"\n }\n```\n\n```diff\n contract Caldera Multisig 3 (eth:0x2bf43034b9559643e986A2fE3cE015a18247b904) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x62ea938a30826c8794C8B8BbA775B91cAE3B849A\"\n values.$members.1:\n+ \"eth:0xe5219fe14E2FD520Ff80be036790913053d1575d\"\n values.$members.2:\n+ \"eth:0xEC114946E7213d113c9B9481028271B5E9e09371\"\n values.multisigThreshold:\n- \"4 of 8 (50%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "3abe1797",
"date": "Fri, 26 Sep 2025 08:39:24 GMT",
"timestamp": 1758875899,
"description": "Caldera multisig threshold change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Caldera Multisig 3 (eth:0x2bf43034b9559643e986A2fE3cE015a18247b904) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x9e14B1baFCEB80B67934aBE4fB00a7291aCfBcD0\"\n values.multisigThreshold:\n- \"4 of 7 (57%)\"\n+ \"4 of 8 (50%)\"\n }\n```"
}
]
},
{
"id": "8edda992",
"date": "Mon, 11 Aug 2025 09:51:18 GMT",
"timestamp": 1754901900,
"description": "Espresso integration update (add aws TEE): \n\nEspressoTEENitroVerifier: [diff to the previous one does not make sense due to new architecture](https://disco.l2beat.com/diff/eth:0x64189bd57B1b281C9EC3f5295B75797ddcB1572c/eth:0xDa72802AaF0a7af96d9FF7d0D94A7388B85f9f24), [diff to the one used in molten](https://disco.l2beat.com/diff/arb1:0xf55BeB891B11084B923F3Fc8e6221Db1Ca61B7f5/eth:0xDa72802AaF0a7af96d9FF7d0D94A7388B85f9f24) (minimal). This adds the AWS TEE as supported, like in Molten.\n\n[SequencerInbox](https://disco.l2beat.com/diff/eth:0x2948690217F3C2fDD6166343da8A7Ac2B7f5c134/eth:0x2C381da225148f7d6390f0EE4A162F958ec40e7A)\n- minor changes to integrate the new Espresso archi ([similar to the molten upgrade](https://disco.l2beat.com/diff/arb1:0x481863c96f949F5E13932ec2F65470C0CF83808d/eth:0x2C381da225148f7d6390f0EE4A162F958ec40e7A))\n\nthe other contracts match the templates or are unverified",
"isHighSeverity": true,
"changeCount": 17,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Caldera Multisig 3 (0x2bf43034b9559643e986A2fE3cE015a18247b904) {\n +++ description: None\n values.$members.6:\n- \"eth:0xD61640d06dC7A61C46d9515680b4DDd2AC51E9A9\"\n values.$members.7:\n- \"eth:0xb004d94314a34627C09E4b8f83D9E7420d99BbFC\"\n values.multisigThreshold:\n- \"4 of 9 (44%)\"\n+ \"4 of 7 (57%)\"\n }\n```\n\n```diff\n- Status: DELETED\n contract EspressoTEEVerifier (0x64189bd57B1b281C9EC3f5295B75797ddcB1572c)\n +++ description: The Espresso TEE verifier is used by the SequencerInbox contract to verify the batch attestations signed by the TEE.\n```\n\n```diff\n contract SequencerInbox (0x8045B2aa6b823CbA8f99ef3D3404F711619d3473) {\n +++ description: The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.1:\n- \"0x0a398182f2a6b3798d40b111a9b690e9e8dcd3203805d462cdd68b528c4807d5\"\n+ \"0x724a7b4f0fa3a5ce6b00cc932e70b6b83a05d1a846a341cbf8477dc95f6c916c\"\n values.$implementation:\n- \"eth:0x2948690217F3C2fDD6166343da8A7Ac2B7f5c134\"\n+ \"eth:0x2C381da225148f7d6390f0EE4A162F958ec40e7A\"\n values.$pastUpgrades.3:\n+ [\"2025-08-08T06:20:59.000Z\",\"0xfb159898c69ee602cf7e18b6c24e60b05cddb75a74c11050dc3600650c0ab7f0\",[\"eth:0x2C381da225148f7d6390f0EE4A162F958ec40e7A\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.espressoTEEVerifier:\n- \"eth:0x64189bd57B1b281C9EC3f5295B75797ddcB1572c\"\n+ \"eth:0xcC758349CBd99bAA7fAD0558634dAaB176c777D0\"\n values.setIsBatchPosterCount:\n- 3\n+ 5\n implementationNames.eth:0x2948690217F3C2fDD6166343da8A7Ac2B7f5c134:\n- \"SequencerInbox\"\n implementationNames.eth:0x2C381da225148f7d6390f0EE4A162F958ec40e7A:\n+ \"SequencerInbox\"\n }\n```\n\n```diff\n EOA (0xDA8E38FEf4d5cF1997061e51945775a393E4965B) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0x98206aBE6bdB21765458f27F199fd813343a3C3b\",\"description\":\"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\",\"role\":\".owner\"},{\"permission\":\"interact\",\"from\":\"eth:0xcC758349CBd99bAA7fAD0558634dAaB176c777D0\",\"description\":\"change the modular TEE verifier contracts.\",\"role\":\".owner\"},{\"permission\":\"interact\",\"from\":\"eth:0xDa72802AaF0a7af96d9FF7d0D94A7388B85f9f24\",\"description\":\"set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n+ Status: CREATED\n contract CertManager (0x1Ff280d8B34E97E2CcA0bdb461F4bA2CF9b8E494)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EspressoSGXTEEVerifier (0x98206aBE6bdB21765458f27F199fd813343a3C3b)\n +++ description: Verifies attestations of an Intel SGX TEE.\n```\n\n```diff\n+ Status: CREATED\n contract EspressoTEEVerifier (0xcC758349CBd99bAA7fAD0558634dAaB176c777D0)\n +++ description: TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n```\n\n```diff\n+ Status: CREATED\n contract EspressoNitroTEEVerifier (0xDa72802AaF0a7af96d9FF7d0D94A7388B85f9f24)\n +++ description: Verifies attestations of an AWS Nitro TEE.\n```"
}
]
},
{
"id": "8e52d406",
"date": "Tue, 22 Jul 2025 16:08:00 GMT",
"timestamp": 1753200480,
"description": "Caldera MS 3 signers added.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Caldera Multisig 3 (0x2bf43034b9559643e986A2fE3cE015a18247b904) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xc4548687682246e5B6ee8f914635c9f47836eDFe\"\n values.$members.1:\n+ \"eth:0x2F2d46D3dD36c8d1ae2Cb81c0cD2c05C68DBA675\"\n values.$members.2:\n+ \"eth:0xe62a4A1e6D237d6fc40d88F819D5cE580a996A6b\"\n values.multisigThreshold:\n- \"4 of 6 (67%)\"\n+ \"4 of 9 (44%)\"\n }\n```"
}
]
},
{
"id": "518a123d",
"date": "Mon, 14 Jul 2025 12:44:44 GMT",
"timestamp": 1752497084,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 18,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract Inbox (0x010aDE5d8F9DC340531140802438798C189c36E0)\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0x190C720892d0786BF75B77B4acD21c726ea8FDEd)\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0x19df42E085e2c3fC4497172E412057F54D9f013E)\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n```\n\n```diff\n+ Status: CREATED\n contract RollupEventInbox (0x269F6f6FC8177a5A8c475AE0e2487508634EC8Ed)\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0x28293c7855797B0441000EF144119727f3cBCA9B)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n+ Status: CREATED\n contract Caldera Multisig 3 (0x2bf43034b9559643e986A2fE3cE015a18247b904)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0x5F8FE936F629AF71e7af6C7844692f98019d6163)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract EspressoTEEVerifier (0x64189bd57B1b281C9EC3f5295B75797ddcB1572c)\n +++ description: The Espresso TEE verifier is used by the SequencerInbox contract to verify the batch attestations signed by the TEE.\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0x7c4e8195FB560D1557C52f051dCdA4724a2894b3)\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0x8045B2aa6b823CbA8f99ef3D3404F711619d3473)\n +++ description: The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n```\n\n```diff\n+ Status: CREATED\n contract QuoteVerifier (0x816ADa3B63F3c643fb04152eA32B58Db89aadd89)\n +++ description: The QuoteVerifier contract is used by the EspressoTEEVerifier to verify the validity of the TEE quote. It references a PCCSRouter (eth:0xe20C4d54afBbea5123728d5b7dAcD9CB3c65C39a), an access point for Intel SGX 'collateral', crucial references of which some modular contracts are unverified.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0xA79305c7D5Ad6F8AF0292c863957a2488F13f0d1)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0xB9B007aE55B81dd1498Bc500a54ad9Ae53234c9C)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0xd79fd59b73c814D9607aB93C4A1aDCea06F91692)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xF025D25aE360D0D33a275dF74863CCc6600E6f8E)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0xf6a307A5868eB9c4a00F5efbD1EF8462AC63783f)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0xFe53F58bAd7B83B01C47CC86471507911263ac91)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0xFe95b1f7cf7D7D14E9e38dEE0EFE1c9D3AaA3e69)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```"
}
]
},
{
"id": "88755707",
"date": "Wed, 25 Jun 2025 07:34:45 GMT",
"timestamp": 1750836885,
"description": "mrenclave changes: hash of enclave's code and initial data.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EspressoTEEVerifier (0x64189bd57B1b281C9EC3f5295B75797ddcB1572c) {\n +++ description: The Espresso TEE verifier is used by the SequencerInbox contract to verify the batch attestations signed by the TEE.\n+++ description: Identifier of the TEE code used (hash of enclave's code and initial data).\n values.mrEnclaves.2:\n+ \"0x1e4d5d3272ba669d22fe4d06d004df616172fb6425946dcf7dc39a031f91018f\"\n }\n```"
}
]
},
{
"id": "4cf4b784",
"date": "Mon, 09 Jun 2025 08:58:35 GMT",
"timestamp": 1749459515,
"description": "New MrEnclave (code /init data on the TEE changed).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EspressoTEEVerifier (0x64189bd57B1b281C9EC3f5295B75797ddcB1572c) {\n +++ description: The Espresso TEE verifier is used by the SequencerInbox contract to verify the batch attestations signed by the TEE.\n+++ description: Identifier of the TEE code used (hash of enclave's code and initial data).\n values.mrEnclaves.1:\n+ \"0x7479bcebe47fb96bc3246fc30363eb438316736c49225b77667e6bdb961c0177\"\n }\n```"
}
]
},
{
"id": "12857d02",
"date": "Tue, 03 Jun 2025 11:45:52 GMT",
"timestamp": 1748951152,
"description": "initial discovery of an orbit stack chain with espresso sequencing and anytrust DA.",
"isHighSeverity": false,
"changeCount": 18,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract Inbox (0x010aDE5d8F9DC340531140802438798C189c36E0)\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0x190C720892d0786BF75B77B4acD21c726ea8FDEd)\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0x19df42E085e2c3fC4497172E412057F54D9f013E)\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n```\n\n```diff\n+ Status: CREATED\n contract RollupEventInbox (0x269F6f6FC8177a5A8c475AE0e2487508634EC8Ed)\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0x28293c7855797B0441000EF144119727f3cBCA9B)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n+ Status: CREATED\n contract Caldera Multisig 3 (0x2bf43034b9559643e986A2fE3cE015a18247b904)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0x5F8FE936F629AF71e7af6C7844692f98019d6163)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract EspressoTEEVerifier (0x64189bd57B1b281C9EC3f5295B75797ddcB1572c)\n +++ description: The Espresso TEE verifier is used by the SequencerInbox contract to verify the batch attestations signed by the TEE.\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0x7c4e8195FB560D1557C52f051dCdA4724a2894b3)\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0x8045B2aa6b823CbA8f99ef3D3404F711619d3473)\n +++ description: The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n```\n\n```diff\n+ Status: CREATED\n contract QuoteVerifier (0x816ADa3B63F3c643fb04152eA32B58Db89aadd89)\n +++ description: The QuoteVerifier contract is used by the EspressoTEEVerifier to verify the validity of the TEE quote. It references a PCCSRouter (0xe20C4d54afBbea5123728d5b7dAcD9CB3c65C39a), an access point for Intel SGX 'collateral', crucial references of which some modular contracts are unverified.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0xA79305c7D5Ad6F8AF0292c863957a2488F13f0d1)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0xB9B007aE55B81dd1498Bc500a54ad9Ae53234c9C)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0xd79fd59b73c814D9607aB93C4A1aDCea06F91692)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xF025D25aE360D0D33a275dF74863CCc6600E6f8E)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0xf6a307A5868eB9c4a00F5efbD1EF8462AC63783f)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0xFe53F58bAd7B83B01C47CC86471507911263ac91)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0xFe95b1f7cf7D7D14E9e38dEE0EFE1c9D3AaA3e69)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```"
}
]
}
]
+19 -5
+4 -4
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Bob Multisig 1",
"name": "Bob Multisig 1",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * DelayedWETH [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * KailuaVerifier \n * SystemConfig [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * SuperchainConfig [via: ProxyAdmin]\n* Can interact with DisputeGameFactory\n * Allowed to challenge or delete state roots proposed by a Proposer \n * set the dispute game implementation and initial bond for any game type \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) \n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]",
"accounts": [
{
"address": "eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E",
"type": "Contract",
"isVerified": true,
"name": "0xC914…764E",
"url": "https://etherscan.io/address/0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x32B8325b7f12ADB06763D6D04c951AC94e36C3D7",
"type": "EOA",
"isVerified": true,
"name": "0x32B8…C3D7",
"url": "https://etherscan.io/address/0x32B8325b7f12ADB06763D6D04c951AC94e36C3D7"
},
{
"address": "eth:0x3C30D693b23F77d55e14b8e0CFB6C00075ff93aB",
"type": "EOA",
"isVerified": true,
"name": "0x3C30…93aB",
"url": "https://etherscan.io/address/0x3C30D693b23F77d55e14b8e0CFB6C00075ff93aB"
},
{
"address": "eth:0xFB771f2640Dfd37B18332a84817B2a6e994f5BF6",
"type": "EOA",
"isVerified": true,
"name": "0xFB77…5BF6",
"url": "https://etherscan.io/address/0xFB771f2640Dfd37B18332a84817B2a6e994f5BF6"
},
{
"address": "eth:0x81175155D85377C337d92f1FA52Da166C3A4E7Ac",
"type": "EOA",
"isVerified": true,
"name": "0x8117…E7Ac",
"url": "https://etherscan.io/address/0x81175155D85377C337d92f1FA52Da166C3A4E7Ac"
},
{
"address": "eth:0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C",
"type": "EOA",
"isVerified": true,
"name": "0xefCf…dD5C",
"url": "https://etherscan.io/address/0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C"
},
{
"address": "eth:0xA0737fea60F0601A192E3d2c98865A883ab0bda2",
"type": "EOA",
"isVerified": true,
"name": "0xA073…bda2",
"url": "https://etherscan.io/address/0xA0737fea60F0601A192E3d2c98865A883ab0bda2"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 3/5 threshold. \n* Can interact with TimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles **with 3d delay** [via: TimelockController with 3d delay]\n * propose transactions \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierRouter\n * add/remove verifiers and the selectors they are mapped to **with 3d delay** [via: TimelockController with 3d delay]\n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"description": "A Multisig with 2/5 threshold. \n* Can interact with TimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles **with 3d delay** [via: TimelockController with 3d delay]\n * propose transactions \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierRouter\n * add/remove verifiers and the selectors they are mapped to **with 3d delay** [via: TimelockController with 3d delay]\n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"accounts": [
{
"address": "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609",
"type": "Contract",
"isVerified": true,
"name": "0x2E5b…2609",
"url": "https://etherscan.io/address/0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E",
"type": "EOA",
"isVerified": true,
"name": "0x10B0…6A0E",
"url": "https://etherscan.io/address/0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E"
},
{
"address": "eth:0x751708D6341b36c0C258754fc2DbF96074f5BdC7",
"type": "EOA",
"isVerified": true,
"name": "0x7517…BdC7",
"url": "https://etherscan.io/address/0x751708D6341b36c0C258754fc2DbF96074f5BdC7"
},
{
"address": "eth:0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4",
"type": "EOA",
"isVerified": true,
"name": "0xbF58…73a4",
"url": "https://etherscan.io/address/0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4"
},
{
"address": "eth:0xd5D43445d0227a47cA2eACCb9392352746eD9926",
"address": "eth:0x9a017883e4A6BB2a6261D92D70f71107F2C39D12",
"type": "EOA",
"isVerified": true,
"name": "0xd5D4…9926",
"url": "https://etherscan.io/address/0xd5D43445d0227a47cA2eACCb9392352746eD9926"
"name": "0x9a01…9D12",
"url": "https://etherscan.io/address/0x9a017883e4A6BB2a6261D92D70f71107F2C39D12"
},
{
"address": "eth:0xDA8e7102681f9652FB8a10b70949CF7F260e0A01",
"type": "EOA",
"isVerified": true,
"name": "0xDA8e…0A01",
"url": "https://etherscan.io/address/0xDA8e7102681f9652FB8a10b70949CF7F260e0A01"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x08F9F14fF43E112B18c96f0986F28Cb1878f1D11",
"type": "EOA",
"isVerified": true,
"name": "0x08F9…1D11",
"url": "https://etherscan.io/address/0x08F9F14fF43E112B18c96f0986F28Cb1878f1D11",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69",
"type": "EOA",
"isVerified": true,
"name": "0x7cB1…8C69",
"url": "https://etherscan.io/address/0x7cB1022D30b9860C36b243E7B181A1d46f618C69",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with DisputeGameFactory\n * Allowed to post new state roots of the current layer to the host chain \n* Can interact with KailuaTreasury\n * propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"type": "EOA",
"isVerified": true,
"name": "0xF616…d412",
"url": "https://etherscan.io/address/0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1790944898,
"baseTimestamp": 1791533460,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"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```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "EigenLayerOperationsMultisig",
"name": "EigenLayerOperationsMultisig",
"description": "A Multisig with 3/6 threshold. \n* Can upgrade **with 10d delay**\n * AVSDirectory [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n * DelegationManager [via: TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → EigenLayerProxyAdmin]\n* Can interact with EigenDAServiceManager\n * can pause the DA bridge **with no delay or with 10d delay** [via: PauserRegistry - or TimelockControllerOwning with 10d delay → EigenLayerOwningMultisig → PauserRegistry]",
"accounts": [
{
"address": "eth:0xBE1685C81aA44FF9FB319dD389addd9374383e90",
"type": "Contract",
"isVerified": true,
"name": "0xBE16…3e90",
"url": "https://etherscan.io/address/0xBE1685C81aA44FF9FB319dD389addd9374383e90"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x9B0098A38548b8B71473B0123A38B90bd882d49E",
"type": "EOA",
"isVerified": true,
"name": "0x9B00…d49E",
"url": "https://etherscan.io/address/0x9B0098A38548b8B71473B0123A38B90bd882d49E"
},
{
"address": "eth:0xf26dA751ede765864CA92D8aE7522edD21aF0523",
"type": "EOA",
"isVerified": true,
"name": "0xf26d…0523",
"url": "https://etherscan.io/address/0xf26dA751ede765864CA92D8aE7522edD21aF0523"
},
{
"address": "eth:0xE31ad7cFD94bD74C40b53160aA0E8A0b6D340830",
"type": "EOA",
"isVerified": true,
"name": "0xE31a…0830",
"url": "https://etherscan.io/address/0xE31ad7cFD94bD74C40b53160aA0E8A0b6D340830"
},
{
"address": "eth:0x27ff193A6A1574A611E21c39FDA636fA1d61ba30",
"type": "EOA",
"isVerified": true,
"name": "0x27ff…ba30",
"url": "https://etherscan.io/address/0x27ff193A6A1574A611E21c39FDA636fA1d61ba30"
},
{
"address": "eth:0xE5Ad7cB2692c3A03dd9279a733c4A20666f6909c",
"type": "EOA",
"isVerified": true,
"name": "0xE5Ad…909c",
"url": "https://etherscan.io/address/0xE5Ad7cB2692c3A03dd9279a733c4A20666f6909c"
},
{
"address": "eth:0xe7fFd467F7526abf9c8796EDeE0AD30110419127",
"type": "EOA",
"isVerified": true,
"name": "0xe7fF…9127",
"url": "https://etherscan.io/address/0xe7fFd467F7526abf9c8796EDeE0AD30110419127"
}
],
"discoveryDrivenData": true
},
{
"id": "EigenDAOperationsMultisig",
"name": "EigenDAOperationsMultisig",
"description": "A Multisig with 2/4 threshold. \n* Can upgrade **with no delay**\n * StakeRegistry [via: ProxyAdmin]\n * BLSApkRegistry [via: ProxyAdmin]\n * RegistryCoordinator [via: ProxyAdmin]\n * EjectionManager [via: ProxyAdmin]\n * SocketRegistry [via: ProxyAdmin]\n * EigenDADisperserRegistry [via: ProxyAdmin]\n * EigenDAServiceManager [via: ProxyAdmin]\n * PaymentVault [via: ProxyAdmin]\n * IndexRegistry [via: ProxyAdmin]\n * EigenDARelayRegistry [via: ProxyAdmin]\n * EigenDAThresholdRegistry [via: ProxyAdmin]\n* Can interact with RegistryCoordinator\n * can add and remove strategies \n* Can interact with EigenDAServiceManager\n * can transfer ownership of the contract, update the metadata URI, set reward initiator and set batch confirmer ",
"accounts": [
{
"address": "eth:0x002721B4790d97dC140a049936aA710152Ba92D5",
"type": "Contract",
"isVerified": true,
"name": "0x0027…92D5",
"url": "https://etherscan.io/address/0x002721B4790d97dC140a049936aA710152Ba92D5"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xB646A0871af2b2c6e115b24D7E36d406780b6ca8",
"type": "EOA",
"isVerified": true,
"name": "0xB646…6ca8",
"url": "https://etherscan.io/address/0xB646A0871af2b2c6e115b24D7E36d406780b6ca8"
},
{
"address": "eth:0x1b6cC4C0670bBA2B992b82Cb8E76B286D63264c6",
"type": "EOA",
"isVerified": true,
"name": "0x1b6c…64c6",
"url": "https://etherscan.io/address/0x1b6cC4C0670bBA2B992b82Cb8E76B286D63264c6"
},
{
"address": "eth:0x403F4d4958409480502CdC78a54cE1B67263C17a",
"type": "EOA",
"isVerified": true,
"name": "0x403F…C17a",
"url": "https://etherscan.io/address/0x403F4d4958409480502CdC78a54cE1B67263C17a"
},
{
"address": "eth:0x891bbCfEF0C7504218b3156Cd0795cA5C8c7d489",
"type": "EOA",
"isVerified": true,
"name": "0x891b…d489",
"url": "https://etherscan.io/address/0x891bbCfEF0C7504218b3156Cd0795cA5C8c7d489"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 6/10 threshold. \n* Can upgrade **with no delay**\n * BunnyInbox \n * L1StandardBridge [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * SuperchainConfig [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type \n* Can interact with DelayedWETH\n * can pull funds from the contract in case of emergency \n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]",
"accounts": [
{
"address": "eth:0x92e0E0B15e3e99b32c9ED9AD284F939553C7b7d6",
"type": "Contract",
"isVerified": true,
"name": "0x92e0…b7d6",
"url": "https://etherscan.io/address/0x92e0E0B15e3e99b32c9ED9AD284F939553C7b7d6"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x63eCafD27E0B86B37903c8aA64beD47244Ad909A",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "#Safe"
},
{
"address": "eth:0x0D173c5d6d6018075f63F4977ae7561f7F9A40eF",
"type": "EOA",
"isVerified": true,
"name": "0x0D17…40eF",
"url": "https://etherscan.io/address/0x0D173c5d6d6018075f63F4977ae7561f7F9A40eF"
},
{
"address": "eth:0x070Cf79fB8D0A0BcBe2d017c6A059148705c9800",
"type": "EOA",
"isVerified": true,
"name": "0x070C…9800",
"url": "https://etherscan.io/address/0x070Cf79fB8D0A0BcBe2d017c6A059148705c9800"
},
{
"address": "eth:0x2a035a6bEDED586355D7388edfbc1e118e35278E",
"type": "EOA",
"isVerified": true,
"name": "0x2a03…278E",
"url": "https://etherscan.io/address/0x2a035a6bEDED586355D7388edfbc1e118e35278E"
},
{
"address": "eth:0xC467b03AA487b5661DA1a72dee053c26152f8D90",
"type": "EOA",
"isVerified": true,
"name": "0xC467…8D90",
"url": "https://etherscan.io/address/0xC467b03AA487b5661DA1a72dee053c26152f8D90"
},
{
"address": "eth:0x2Ba59F8Cd522ca92cac29Aed47D7394D5FFb960a",
"type": "EOA",
"isVerified": true,
"name": "0x2Ba5…960a",
"url": "https://etherscan.io/address/0x2Ba59F8Cd522ca92cac29Aed47D7394D5FFb960a"
},
{
"address": "eth:0xfa9Ad1bE10BB02FD70634ccEC3264Da9bf43DE79",
"type": "EOA",
"isVerified": true,
"name": "0xfa9A…DE79",
"url": "https://etherscan.io/address/0xfa9Ad1bE10BB02FD70634ccEC3264Da9bf43DE79"
},
{
"address": "eth:0x0f4aDAD56724966285240D1b17Ee54e207786Dc6",
"type": "EOA",
"isVerified": true,
"name": "0x0f4a…6Dc6",
"url": "https://etherscan.io/address/0x0f4aDAD56724966285240D1b17Ee54e207786Dc6"
},
{
"address": "eth:0x28B73e18f31Fdb6F9B6EEF8c0050E9994684b9AD",
"type": "EOA",
"isVerified": true,
"name": "0x28B7…b9AD",
"url": "https://etherscan.io/address/0x28B73e18f31Fdb6F9B6EEF8c0050E9994684b9AD"
},
{
"address": "eth:0x0A383fF8387CF07315f476D1686E95b1a97adc97",
"type": "EOA",
"isVerified": true,
"name": "EOA 10",
"url": "#EOA-10"
}
],
"discoveryDrivenData": true
},
{
"id": "EigenLayerRewardsInitiatorMultisig",
"name": "EigenLayerRewardsInitiatorMultisig",
"description": "A Multisig with 3/4 threshold. \n* Can interact with EigenDAServiceManager\n * can create rewards submissions ",
"accounts": [
{
"address": "eth:0x178eeeA9E0928dA2153A1d7951FBe30CF8371b8A",
"type": "Contract",
"isVerified": true,
"name": "0x178e…1b8A",
"url": "https://etherscan.io/address/0x178eeeA9E0928dA2153A1d7951FBe30CF8371b8A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x900a9E1D5D5980973f513173249727505FA3bd22",
"type": "EOA",
"isVerified": true,
"name": "0x900a…bd22",
"url": "https://etherscan.io/address/0x900a9E1D5D5980973f513173249727505FA3bd22"
},
{
"address": "eth:0x5dc74815C14E2D4223B79D2dE94C4ccD5f5f7DA7",
"type": "EOA",
"isVerified": true,
"name": "0x5dc7…7DA7",
"url": "https://etherscan.io/address/0x5dc74815C14E2D4223B79D2dE94C4ccD5f5f7DA7"
},
{
"address": "eth:0x55688D9211bC00BA573A1e0672e5de050818a360",
"type": "EOA",
"isVerified": true,
"name": "0x5568…a360",
"url": "https://etherscan.io/address/0x55688D9211bC00BA573A1e0672e5de050818a360"
},
{
"address": "eth:0x68bbBD6c18B0bc1B563489A13a398345E9da23d0",
"type": "EOA",
"isVerified": true,
"name": "0x68bb…23d0",
"url": "https://etherscan.io/address/0x68bbBD6c18B0bc1B563489A13a398345E9da23d0"
}
],
"discoveryDrivenData": true
},
{
"id": "EigenDA Multisig",
"name": "EigenDA Multisig",
"description": "A Multisig with 3/8 threshold. \n* Can interact with EjectionManager\n * can eject DA operators from a quorum ",
"accounts": [
{
"address": "eth:0x338477FfaF63c04AC06048787f910671eC914B34",
"type": "Contract",
"isVerified": true,
"name": "0x3384…4B34",
"url": "https://etherscan.io/address/0x338477FfaF63c04AC06048787f910671eC914B34"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x9308319e3988843f36BC6682Ffa571525E56a125",
"type": "EOA",
"isVerified": true,
"name": "0x9308…a125",
"url": "https://etherscan.io/address/0x9308319e3988843f36BC6682Ffa571525E56a125"
},
{
"address": "eth:0x5262498E7D4fbbb08425b2a06D91157acDC50aDA",
"type": "EOA",
"isVerified": true,
"name": "0x5262…0aDA",
"url": "https://etherscan.io/address/0x5262498E7D4fbbb08425b2a06D91157acDC50aDA"
},
{
"address": "eth:0x995152ee7BB6304565Fbe04465d2c4D1BdD5683F",
"type": "EOA",
"isVerified": true,
"name": "0x9951…683F",
"url": "https://etherscan.io/address/0x995152ee7BB6304565Fbe04465d2c4D1BdD5683F"
},
{
"address": "eth:0xA38372470ed4c3C4bb5123CC7f335212950e350A",
"type": "EOA",
"isVerified": true,
"name": "0xA383…350A",
"url": "https://etherscan.io/address/0xA38372470ed4c3C4bb5123CC7f335212950e350A"
},
{
"address": "eth:0x44aC63d4e18c0d24d0EDe1C058D5A93Fc2fbB904",
"type": "EOA",
"isVerified": true,
"name": "0x44aC…B904",
"url": "https://etherscan.io/address/0x44aC63d4e18c0d24d0EDe1C058D5A93Fc2fbB904"
},
{
"address": "eth:0x3C20b05f44ef008A5b848761e58e5Ca9594163e9",
"type": "EOA",
"isVerified": true,
"name": "0x3C20…63e9",
"url": "https://etherscan.io/address/0x3C20b05f44ef008A5b848761e58e5Ca9594163e9"
},
{
"address": "eth:0xA4f7168cEa82877B23Bc55a7fd7557D546F4dD31",
"type": "EOA",
"isVerified": true,
"name": "0xA4f7…dD31",
"url": "https://etherscan.io/address/0xA4f7168cEa82877B23Bc55a7fd7557D546F4dD31"
},
{
"address": "eth:0x542aC639c0DeF0a468aed462B474FF9B7858Bd7E",
"type": "EOA",
"isVerified": true,
"name": "0x542a…Bd7E",
"url": "https://etherscan.io/address/0x542aC639c0DeF0a468aed462B474FF9B7858Bd7E"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 4/6 threshold. \n* Can interact with MegaPreDepositVaultRefund\n * manage all access control roles \n * service (execute) refunds from this contract ",
"accounts": [
{
"address": "eth:0xe8344867AB6387e17b7cAE2dE52C63BCf501BD98",
"type": "Contract",
"isVerified": true,
"name": "0xe834…BD98",
"url": "https://etherscan.io/address/0xe8344867AB6387e17b7cAE2dE52C63BCf501BD98"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xfa9Ad1bE10BB02FD70634ccEC3264Da9bf43DE79",
"type": "EOA",
"isVerified": true,
"name": "0xfa9A…DE79",
"url": "https://etherscan.io/address/0xfa9Ad1bE10BB02FD70634ccEC3264Da9bf43DE79"
},
{
"address": "eth:0x0A383fF8387CF07315f476D1686E95b1a97adc97",
"type": "EOA",
"isVerified": true,
"name": "EOA 10",
"url": "#EOA-10"
},
{
"address": "eth:0xC467b03AA487b5661DA1a72dee053c26152f8D90",
"type": "EOA",
"isVerified": true,
"name": "0xC467…8D90",
"url": "https://etherscan.io/address/0xC467b03AA487b5661DA1a72dee053c26152f8D90"
},
{
"address": "eth:0x2Ba59F8Cd522ca92cac29Aed47D7394D5FFb960a",
"type": "EOA",
"isVerified": true,
"name": "0x2Ba5…960a",
"url": "https://etherscan.io/address/0x2Ba59F8Cd522ca92cac29Aed47D7394D5FFb960a"
},
{
"address": "eth:0x0f4aDAD56724966285240D1b17Ee54e207786Dc6",
"type": "EOA",
"isVerified": true,
"name": "0x0f4a…6Dc6",
"url": "https://etherscan.io/address/0x0f4aDAD56724966285240D1b17Ee54e207786Dc6"
},
{
"address": "eth:0x28B73e18f31Fdb6F9B6EEF8c0050E9994684b9AD",
"type": "EOA",
"isVerified": true,
"name": "0x28B7…b9AD",
"url": "https://etherscan.io/address/0x28B73e18f31Fdb6F9B6EEF8c0050E9994684b9AD"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 1/5 threshold. \nMember of Safe.\n",
"accounts": [
{
"address": "eth:0x63eCafD27E0B86B37903c8aA64beD47244Ad909A",
"type": "Contract",
"isVerified": true,
"name": "0x63eC…909A",
"url": "https://etherscan.io/address/0x63eCafD27E0B86B37903c8aA64beD47244Ad909A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xEd71403a0cC46ED68E57997A225a9620b5Cf0872",
"type": "EOA",
"isVerified": true,
"name": "0xEd71…0872",
"url": "https://etherscan.io/address/0xEd71403a0cC46ED68E57997A225a9620b5Cf0872"
},
{
"address": "eth:0x12130aF2fd6E23Cb4EFD396146bE064e893Fc694",
"address": "eth:0x23BB78620bd7cC7A7870c47A0058484c6263D48B",
"type": "EOA",
"isVerified": true,
"name": "0x1213…c694",
"url": "https://etherscan.io/address/0x12130aF2fd6E23Cb4EFD396146bE064e893Fc694"
"name": "0x23BB…D48B",
"url": "https://etherscan.io/address/0x23BB78620bd7cC7A7870c47A0058484c6263D48B"
},
{
"address": "eth:0xeCf89ebA03B54ab9C606d436b32875B6947C68E8",
"type": "EOA",
"isVerified": true,
"name": "0xeCf8…68E8",
"url": "https://etherscan.io/address/0xeCf89ebA03B54ab9C606d436b32875B6947C68E8"
},
{
"address": "eth:0xa4C9190ca82c4056FF9CDe6a070424E563BF1D95",
"type": "EOA",
"isVerified": true,
"name": "0xa4C9…1D95",
"url": "https://etherscan.io/address/0xa4C9190ca82c4056FF9CDe6a070424E563BF1D95"
},
{
"address": "eth:0xa4BB3AdFA1bDc0f609eCae7A39eC58e9b2A373e0",
"type": "EOA",
"isVerified": true,
"name": "0xa4BB…73e0",
"url": "https://etherscan.io/address/0xa4BB3AdFA1bDc0f609eCae7A39eC58e9b2A373e0"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 1/1 threshold. ",
"accounts": [
{
"address": "eth:0xB2A9EB0c7b729c3EC704e843eF260084B3caE67F",
"type": "Contract",
"isVerified": true,
"name": "0xB2A9…E67F",
"url": "https://etherscan.io/address/0xB2A9EB0c7b729c3EC704e843eF260084B3caE67F"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0A383fF8387CF07315f476D1686E95b1a97adc97",
"type": "EOA",
"isVerified": true,
"name": "EOA 10",
"url": "#EOA-10"
}
],
"discoveryDrivenData": true
},
{
"id": "Megaeth Multisig",
"name": "Megaeth Multisig",
"description": "A Multisig with 4/6 threshold. ",
"accounts": [
{
"address": "eth:0xCB264DEf50D166d4aE7cF60188eC0038819fb719",
"type": "Contract",
"isVerified": true,
"name": "0xCB26…b719",
"url": "https://etherscan.io/address/0xCB264DEf50D166d4aE7cF60188eC0038819fb719"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x28B73e18f31Fdb6F9B6EEF8c0050E9994684b9AD",
"type": "EOA",
"isVerified": true,
"name": "0x28B7…b9AD",
"url": "https://etherscan.io/address/0x28B73e18f31Fdb6F9B6EEF8c0050E9994684b9AD"
},
{
"address": "eth:0x0f4aDAD56724966285240D1b17Ee54e207786Dc6",
"type": "EOA",
"isVerified": true,
"name": "0x0f4a…6Dc6",
"url": "https://etherscan.io/address/0x0f4aDAD56724966285240D1b17Ee54e207786Dc6"
},
{
"address": "eth:0xfa9Ad1bE10BB02FD70634ccEC3264Da9bf43DE79",
"type": "EOA",
"isVerified": true,
"name": "0xfa9A…DE79",
"url": "https://etherscan.io/address/0xfa9Ad1bE10BB02FD70634ccEC3264Da9bf43DE79"
},
{
"address": "eth:0x2Ba59F8Cd522ca92cac29Aed47D7394D5FFb960a",
"type": "EOA",
"isVerified": true,
"name": "0x2Ba5…960a",
"url": "https://etherscan.io/address/0x2Ba59F8Cd522ca92cac29Aed47D7394D5FFb960a"
},
{
"address": "eth:0x0A383fF8387CF07315f476D1686E95b1a97adc97",
"type": "EOA",
"isVerified": true,
"name": "EOA 10",
"url": "#EOA-10"
},
{
"address": "eth:0xC467b03AA487b5661DA1a72dee053c26152f8D90",
"type": "EOA",
"isVerified": true,
"name": "0xC467…8D90",
"url": "https://etherscan.io/address/0xC467b03AA487b5661DA1a72dee053c26152f8D90"
}
],
"discoveryDrivenData": true
},
{
"id": "EigenLayerOwningMultisig",
"name": "EigenLayerOwningMultisig",
"description": "A Multisig with 1/2 threshold. ",
"accounts": [
{
"address": "eth:0x369e6F597e22EaB55fFb173C6d9cD234BD699111",
"type": "Contract",
"isVerified": true,
"name": "0x369e…9111",
"url": "https://etherscan.io/address/0x369e6F597e22EaB55fFb173C6d9cD234BD699111"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xC06Fd4F821eaC1fF1ae8067b36342899b57BAa2d",
"type": "Contract",
"isVerified": true,
"name": "TimelockControllerOwning",
"url": "https://etherscan.io/address/0xC06Fd4F821eaC1fF1ae8067b36342899b57BAa2d"
},
{
"address": "eth:0xFEA47018D632A77bA579846c840d5706705Dc598",
"type": "Contract",
"isVerified": true,
"name": "EigenLayerCommunityMultisig",
"url": "https://etherscan.io/address/0xFEA47018D632A77bA579846c840d5706705Dc598"
}
],
"discoveryDrivenData": true
},
{
"id": "EigenLayerPauserMultisig",
"name": "EigenLayerPauserMultisig",
"description": "A Multisig with 1/7 threshold. ",
"accounts": [
{
"address": "eth:0x5050389572f2d220ad927CcbeA0D406831012390",
"type": "Contract",
"isVerified": true,
"name": "0x5050…2390",
"url": "https://etherscan.io/address/0x5050389572f2d220ad927CcbeA0D406831012390"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x7474E1D80E844e6EdB430841DeEF702a6B747863",
"type": "EOA",
"isVerified": true,
"name": "0x7474…7863",
"url": "https://etherscan.io/address/0x7474E1D80E844e6EdB430841DeEF702a6B747863"
},
{
"address": "eth:0x45dcD05251F3327EcCd4766a9264DBDAab3A4065",
"type": "EOA",
"isVerified": true,
"name": "0x45dc…4065",
"url": "https://etherscan.io/address/0x45dcD05251F3327EcCd4766a9264DBDAab3A4065"
},
{
"address": "eth:0x9b2C61521AF4AB9f4BE25297838F72a56462B578",
"type": "EOA",
"isVerified": true,
"name": "0x9b2C…B578",
"url": "https://etherscan.io/address/0x9b2C61521AF4AB9f4BE25297838F72a56462B578"
},
{
"address": "eth:0x347660a632B0Aac5B70dCd5e6C3444a7C933a137",
"type": "EOA",
"isVerified": true,
"name": "0x3476…a137",
"url": "https://etherscan.io/address/0x347660a632B0Aac5B70dCd5e6C3444a7C933a137"
},
{
"address": "eth:0x2E158da11961426E2A1Cc9e79f40244486b6845C",
"type": "EOA",
"isVerified": true,
"name": "0x2E15…845C",
"url": "https://etherscan.io/address/0x2E158da11961426E2A1Cc9e79f40244486b6845C"
},
{
"address": "eth:0xfD636E8EB3839cE82A58936b795043Da7DB0c734",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "https://etherscan.io/address/0xfD636E8EB3839cE82A58936b795043Da7DB0c734"
},
{
"address": "eth:0x57af860e3a1C16641CDDDa92898266D2df7Dfa71",
"type": "EOA",
"isVerified": true,
"name": "0x57af…fa71",
"url": "https://etherscan.io/address/0x57af860e3a1C16641CDDDa92898266D2df7Dfa71"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0xB98c6b1A805b96707A43e1F1ACFa163B68098FA6",
"type": "EOA",
"isVerified": true,
"name": "0xB98c…8FA6",
"url": "https://etherscan.io/address/0xB98c6b1A805b96707A43e1F1ACFa163B68098FA6",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-2,-EOA-3-and-EOA-5",
"name": "EOA 2, EOA 3 and EOA 5",
"accounts": [
{
"address": "eth:0x454Ef2f69f91527856E06659f92a66f464C1ca4e",
"type": "EOA",
"isVerified": true,
"name": "0x454E…ca4e",
"url": "https://etherscan.io/address/0x454Ef2f69f91527856E06659f92a66f464C1ca4e",
"displayName": "EOA 2"
},
{
"address": "eth:0x5A49Bf6c5690E22dFff3eB37F7dd18254eC361ED",
"type": "EOA",
"isVerified": true,
"name": "0x5A49…61ED",
"url": "https://etherscan.io/address/0x5A49Bf6c5690E22dFff3eB37F7dd18254eC361ED",
"displayName": "EOA 3"
},
{
"address": "eth:0x8ED83c6Bb12E441Ca2C3a544F525d4a3Fb6484D8",
"type": "EOA",
"isVerified": true,
"name": "0x8ED8…84D8",
"url": "https://etherscan.io/address/0x8ED83c6Bb12E441Ca2C3a544F525d4a3Fb6484D8",
"displayName": "EOA 5"
}
],
"chain": "ethereum",
"description": "* Can interact with EigenDAServiceManager\n * can confirm batches to the DA bridge ",
"discoveryDrivenData": true
},
{
"id": "EOA-4-and-EOA-6",
"name": "EOA 4 and EOA 6",
"accounts": [
{
"address": "eth:0x8642473a123FE33b0aaE90bD8604eA1029417236",
"type": "EOA",
"isVerified": true,
"name": "0x8642…7236",
"url": "https://etherscan.io/address/0x8642473a123FE33b0aaE90bD8604eA1029417236",
"displayName": "EOA 4"
},
{
"address": "eth:0xD2Ee81Cf07B12140C793FcE5B26313CDd9d78eA8",
"type": "EOA",
"isVerified": true,
"name": "0xD2Ee…8eA8",
"url": "https://etherscan.io/address/0xD2Ee81Cf07B12140C793FcE5B26313CDd9d78eA8",
"displayName": "EOA 6"
}
],
"chain": "ethereum",
"description": "* Can interact with EjectionManager\n * can eject DA operators from a quorum ",
"discoveryDrivenData": true
},
{
"id": "EOA-7",
"name": "EOA 7",
"accounts": [
{
"address": "eth:0xe0550117Cb066D3b330eBd764B0d75D3BA378734",
"type": "EOA",
"isVerified": true,
"name": "0xe055…8734",
"url": "https://etherscan.io/address/0xe0550117Cb066D3b330eBd764B0d75D3BA378734",
"displayName": "EOA 7"
}
],
"chain": "ethereum",
"description": "* Can interact with RegistryCoordinator\n * can approve the replacement of churned operators from a quorum ",
"discoveryDrivenData": true
},
{
"id": "EOA-8",
"name": "EOA 8",
"accounts": [
{
"address": "eth:0xe8437B66E834B7CdC90cC5D98B8DD6e636b37D7a",
"type": "EOA",
"isVerified": true,
"name": "0xe843…7D7a",
"url": "https://etherscan.io/address/0xe8437B66E834B7CdC90cC5D98B8DD6e636b37D7a",
"displayName": "EOA 8"
}
],
"chain": "ethereum",
"description": "* Can interact with EigenDARelayRegistry\n * Can store and serve both unencoded blobs as well as encoded chunks ",
"discoveryDrivenData": true
},
{
"id": "EOA-9",
"name": "EOA 9",
"accounts": [
{
"address": "eth:0xF3d7C0D52fF8f4CF74A3CD9C53778516f4235bE9",
"type": "EOA",
"isVerified": true,
"name": "0xF3d7…5bE9",
"url": "https://etherscan.io/address/0xF3d7C0D52fF8f4CF74A3CD9C53778516f4235bE9",
"displayName": "EOA 9"
}
],
"chain": "ethereum",
"description": "* Can interact with EigenDADisperserRegistry\n * Can disperse EigenDA blobs to the EigenDA node operators ",
"discoveryDrivenData": true
},
{
"id": "EOA-10",
"name": "EOA 10",
"accounts": [
{
"address": "eth:0x0A383fF8387CF07315f476D1686E95b1a97adc97",
"type": "EOA",
"isVerified": true,
"name": "0x0A38…dc97",
"url": "https://etherscan.io/address/0x0A383fF8387CF07315f476D1686E95b1a97adc97",
"displayName": "EOA 10"
}
],
"chain": "ethereum",
"description": "Member of Safe, Safe, Megaeth Multisig, Safe.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Safe]\n* Can interact with RiscZeroVerifierRouter\n * add/remove verifiers and the selectors they are mapped to ",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1788943774,
"baseTimestamp": 1791537732,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "6c108edc",
"date": "Fri, 09 Oct 2026 09:24:18 GMT",
"timestamp": 1791537732,
"description": "1/5 Safe holding one seat on the 6/10 admin multisig: member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (eth:0x63eCafD27E0B86B37903c8aA64beD47244Ad909A) [GnosisSafe] {\n +++ description: None\n values.$members.1:\n- \"eth:0x12130aF2fd6E23Cb4EFD396146bE064e893Fc694\"\n+ \"eth:0x23BB78620bd7cC7A7870c47A0058484c6263D48B\"\n }\n```"
}
]
},
{
"id": "25e44821",
"date": "Thu, 27 Aug 2026 12:39:13 GMT",
"timestamp": 1787834236,
"description": "EigenDAOperationsMultisig: member removed; threshold 3/5 → 2/4.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EigenDAOperationsMultisig (eth:0x002721B4790d97dC140a049936aA710152Ba92D5) [GnosisSafe] {\n +++ description: None\n values.$members.1:\n- \"eth:0xA3e302a6Ea0cf79B8580d94e92Eb5514292daacE\"\n values.$threshold:\n- 3\n+ 2\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"2 of 4 (50%)\"\n }\n```"
}
]
},
{
"id": "0044aba5",
"date": "Tue, 21 Jul 2026 15:40:29 GMT",
"timestamp": 1784648359,
"description": "EigenDAOperationsMultisig: new signer added. Threshold 3/4 → 3/5.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EigenDAOperationsMultisig (eth:0x002721B4790d97dC140a049936aA710152Ba92D5) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xB646A0871af2b2c6e115b24D7E36d406780b6ca8\"\n values.multisigThreshold:\n- \"3 of 4 (75%)\"\n+ \"3 of 5 (60%)\"\n }\n```"
}
]
},
{
"id": "2683462e",
"date": "Mon, 11 May 2026 21:39:47 GMT",
"timestamp": 1778535511,
"description": "Kailua `game1337` impl rotated `0x78F8F8FE...` → `0x8c0Ed8Dd...` ([diff](https://disco.l2beat.com/diff/eth:0x78F8F8FED1d589b7098EC4B47220465A9Fa071C9/eth:0x8c0Ed8Dd0CcF6d596e321d81eD895ad51fE30B84)). Active `KailuaTreasury` is now `0x01853F26...`; `OptimismPortal2.setRespectedGameType(1337)` re-pointed the bridge.\n\nThe `proposalParent.childCount() == 1` gate around the vanguard check was removed: `vanguardAdvantage` applies to every proposal (first child and every sibling). With `vanguardAdvantage ≈ 2^60s`, only the Vanguard can submit any proposal. Faulty Vanguard proposals can be marked faulty via `proveOutputFault` but no honest sibling can replace them — chain halts until the Vanguard submits a correct state root.\n\nPlumbing: `megaeth.ts` resolves the active game/treasury dynamically via `OptimismPortal2.respectedGameType` → `DisputeGameFactory.game{N}` → its `KAILUA_TREASURY`; `risc0/KailuaGame` and `megaeth/KailuaTreasury` shapes extended for the new contracts.",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (eth:0x63eCafD27E0B86B37903c8aA64beD47244Ad909A) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xEd71403a0cC46ED68E57997A225a9620b5Cf0872\"\n values.multisigThreshold:\n- \"1 of 4 (25%)\"\n+ \"1 of 5 (20%)\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaGame (eth:0x78F8F8FED1d589b7098EC4B47220465A9Fa071C9) [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 OptimismPortal2 (eth:0x7f82f57F0Dd546519324392e408b01fcC7D709e8) [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 values.respectedGameTypeUpdatedAt:\n- 1762796999\n+ 1778245595\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x8546840adF796875cD9AAcc5B3B048f6B2c9D563) [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:0x78F8F8FED1d589b7098EC4B47220465A9Fa071C9\"\n+ \"eth:0x8c0Ed8Dd0CcF6d596e321d81eD895ad51fE30B84\"\n }\n```\n\n```diff\n- Status: DELETED\n contract KailuaTreasury (eth:0xE4e456c64B9b0de5FE8a90d809180cA71534D623) [megaeth/KailuaTreasury]\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.00001 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaTreasury (eth:0x01853F268B170D4A15D0c3AE905757b5Ec8375f3) [megaeth/KailuaTreasury]\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.00001 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory.\n```\n\n```diff\n+ Status: CREATED\n contract KailuaGame (eth:0x8c0Ed8Dd0CcF6d596e321d81eD895ad51fE30B84) [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": "b8fc8035",
"date": "Tue, 28 Apr 2026 15:45:52 GMT",
"timestamp": 1777390966,
"description": "Sequencer-side Safe (`eth:0x63eCafD2...`) gained one new signer (`0x12130aF2`). Threshold unchanged at 1; total signers 3 → 4 (1-of-3 → 1-of-4 — note this *weakens* the threshold ratio: any one of 4 can still execute).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (eth:0x63eCafD27E0B86B37903c8aA64beD47244Ad909A) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x12130aF2fd6E23Cb4EFD396146bE064e893Fc694\"\n values.multisigThreshold:\n- \"1 of 3 (33%)\"\n+ \"1 of 4 (25%)\"\n }\n```"
}
]
},
{
"id": "583bf5df",
"date": "Fri, 03 Apr 2026 10:29:12 GMT",
"timestamp": 1775212027,
"description": "EigenDAOperationsMultisig member removed (0x4985...), threshold unchanged at 3, now 3-of-4 (75%) instead of 3-of-5 (60%). Shared contract with eigenda/syndicate.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EigenDAOperationsMultisig (eth:0x002721B4790d97dC140a049936aA710152Ba92D5) {\n +++ description: None\n values.$members.1:\n- \"eth:0x4985238672d91Baed43dF1B2431F67bc332A1753\"\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"3 of 4 (75%)\"\n }\n```"
}
]
},
{
"id": "1d8092e5",
"date": "Thu, 26 Feb 2026 15:07:35 GMT",
"timestamp": 1772118387,
"description": "EigenLayerRewardsInitiatorMultisig: one member removed (0xf20eD26be), reducing signers from 5 to 4. Threshold remains 3, changing the effective quorum from 3/5 (60%) to 3/4 (75%).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EigenLayerRewardsInitiatorMultisig (eth:0x178eeeA9E0928dA2153A1d7951FBe30CF8371b8A) {\n +++ description: None\n values.$members.4:\n- \"eth:0xf20eD26be203f09B8F0Cb3265E74BB6AD24408b4\"\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"3 of 4 (75%)\"\n }\n```"
}
]
},
{
"id": "1f7d96fa",
"date": "Wed, 11 Feb 2026 09:48:23 GMT",
"timestamp": 1770803234,
"description": "Major update: MegaETH transitions to onchain EigenDA certificate verification via a new BunnyInbox contract.\n\n**SystemConfig upgrade (v2.5.0 → v2.7.0):**\nUpgraded implementation from 0x2425EB to 0x7f84fE. The only code change is the addition of a new `setBatchInbox(address)` function allowing the owner to change the batch inbox address on-chain ([diff](https://disco.l2beat.com/diff/eth:0x2425EB983A470eDE96E33c4E969Ac5440a80a639/eth:0x7f84fEb1cEb9C91844ee80C63d153d9128Fb40e9)). The batchInbox was changed from the old EOA (0x00656C) to the new BunnyInbox contract (0x02B8d1).\n\n**BunnyInbox (new, 0x02B8d1):**\nNew upgradeable contract serving as the batch inbox. Its `fallback()` function strips a 4-byte prefix from calldata, RLP-decodes an EigenDACertV3 struct, and calls `EigenDACertVerifier.checkDACertReverts()` to validate the EigenDA certificate on-chain. This means every batch submission now verifies the EigenDA data availability certificate on L1.\n\n**EigenDACertVerifier (new, 0xa4F386) + EigenDA/EigenLayer infrastructure:**\nAn immutable EigenDA V3 certificate verifier referenced by BunnyInbox. It verifies batch data attestations against operator signatures and stake thresholds via the EigenDAServiceManager. \n\n**Stale proof system config:**\nThe KailuaGame and KailuaTreasury have an immutable `ROLLUP_CONFIG_HASH` (0x16ebac7d...) that commits to the rollup config including the batch inbox address. Since the batch inbox changed from the old EOA (0x00656C) to BunnyInbox (0x02B8d1), but the games were NOT redeployed, the on-chain `ROLLUP_CONFIG_HASH` no longer matches the current chain config. Any ZK proof generated against the current derivation pipeline would produce a different config hash and fail on-chain verification. Additionally, the `FPVM_IMAGE_ID` likely needs updating so the prover program rejects reverted BunnyInbox transactions - otherwise the batcher could submit invalid DA certs that revert on L1 but are still picked up by derivation. The games should be redeployed with updated `ROLLUP_CONFIG_HASH` and `FPVM_IMAGE_ID`.\n\n**Governance changes:**\n- MegaETH Safe multisig changed from 4/8 (50%) to 6/10 (60%) threshold\n- Two new members added: a 1-of-3 nested Safe (0x63eC, nonce 0) and an EOA (0x0D17)",
"isHighSeverity": true,
"changeCount": 33,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x1ED92E1bc9A2735216540EDdD0191144681cb77E) {\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- \"0x5f25d989fb6ccdc8dcf6fec90727faecf13ba2e3a9cc2d4ca902a5be71e10b9a\"\n+ \"0x18ecfc662e320a3cf78978511db8f7d6f3819d32a52e70d74cc636c9a43335e8\"\n values.$implementation:\n- \"eth:0x2425EB983A470eDE96E33c4E969Ac5440a80a639\"\n+ \"eth:0x7f84fEb1cEb9C91844ee80C63d153d9128Fb40e9\"\n values.$pastUpgrades.1:\n+ [\"2026-02-09T04:47:59.000Z\",\"0x9c539698c6852b92c7289498f8b808d3ede8c412362dbb31c485c94e09e0cd10\",[\"eth:0x7f84fEb1cEb9C91844ee80C63d153d9128Fb40e9\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.batchInbox:\n- \"eth:0x00656C604FC470e6a566A695B74455e18a6D75D3\"\n+ \"eth:0x02B8d1329B653d6f53A8420C8DDbBbb5518F51b2\"\n values.sequencerInbox:\n- \"eth:0x00656C604FC470e6a566A695B74455e18a6D75D3\"\n+ \"eth:0x02B8d1329B653d6f53A8420C8DDbBbb5518F51b2\"\n values.version:\n- \"2.5.0\"\n+ \"2.7.0\"\n implementationNames.eth:0x2425EB983A470eDE96E33c4E969Ac5440a80a639:\n- \"SystemConfig\"\n implementationNames.eth:0x7f84fEb1cEb9C91844ee80C63d153d9128Fb40e9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract Safe (eth:0x92e0E0B15e3e99b32c9ED9AD284F939553C7b7d6) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x63eCafD27E0B86B37903c8aA64beD47244Ad909A\"\n values.$members.1:\n+ \"eth:0x0D173c5d6d6018075f63F4977ae7561f7F9A40eF\"\n values.$threshold:\n- 4\n+ 6\n values.multisigThreshold:\n- \"4 of 8 (50%)\"\n+ \"6 of 10 (60%)\"\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x02B8d1329B653d6f53A8420C8DDbBbb5518F51b2\",\"role\":\"admin\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract EigenDAOperationsMultisig (eth:0x002721B4790d97dC140a049936aA710152Ba92D5)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract StakeRegistry (eth:0x006124Ae7976137266feeBFb3F4D2BE4C073139D)\n +++ description: Keeps track of the total stake of each operator.\n```\n\n```diff\n+ Status: CREATED\n contract BLSApkRegistry (eth:0x00A5Fd09F6CeE6AE9C8b0E5e33287F7c82880505)\n +++ description: Keeps track of the BLS public keys of each operator and the quorum aggregated keys.\n```\n\n```diff\n+ Status: CREATED\n contract BunnyInbox (eth:0x02B8d1329B653d6f53A8420C8DDbBbb5518F51b2)\n +++ description: Onchain EigenDA certificate verification inbox. Receives batch data, strips 4-byte prefix, RLP-decodes EigenDACertV3 and calls the EigenDACertVerifier to validate the certificate. Used as the batch inbox for EigenDA-based data availability.\n```\n\n```diff\n+ Status: CREATED\n contract RegistryCoordinator (eth:0x0BAAc79acD45A023E19345c352d8a7a83C4e5656)\n +++ description: Operators register here with an AVS: The coordinator has three registries: 1) a `StakeRegistry` that keeps track of operators' stakes, 2) a `BLSApkRegistry` that keeps track of operators' BLS public keys and aggregate BLS public keys for each quorum, 3) an `IndexRegistry` that keeps track of an ordered list of operators for each quorum.\n```\n\n```diff\n+ Status: CREATED\n contract PauserRegistry (eth:0x0c431C66F4dE941d089625E5B423D00707977060)\n +++ description: Defines and stores pauser and unpauser roles for EigenDA contracts.\n```\n\n```diff\n+ Status: CREATED\n contract EjectionManager (eth:0x130d8EA0052B45554e4C99079B84df292149Bd5E)\n +++ description: Contract used for ejection of operators from the RegistryCoordinator for violating the Service Legal Agreement (SLA).\n```\n\n```diff\n+ Status: CREATED\n contract EigenLayerRewardsInitiatorMultisig (eth:0x178eeeA9E0928dA2153A1d7951FBe30CF8371b8A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EigenDA Multisig (eth:0x338477FfaF63c04AC06048787f910671eC914B34)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SocketRegistry (eth:0x5a3eD432f2De9645940333e4474bBAAB8cf64cf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x63eCafD27E0B86B37903c8aA64beD47244Ad909A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EigenDADisperserRegistry (eth:0x78cb05379a3b66E5227f2C1496432D7FFE794Fad)\n +++ description: Registry for EigenDA disperser info such as disperser key to address mapping.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (eth:0x8247EF5705d3345516286B72bFE6D690197C2E99)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EigenDAServiceManager (eth:0x870679E138bCdf293b7Ff14dD44b70FC97e12fc0)\n +++ description: Bridge contract that accepts blob batches data availability attestations. Batches availability is attested by EigenDA operators signatures and relayed to the service manager contract by the EigenDA disperser.\n```\n\n```diff\n+ Status: CREATED\n contract EigenDACertVerifier (eth:0xa4F38615e6a1846ccD7ff08E8179CBdAC8F5ff3B)\n +++ description: A DA verifier contract for EigenDA V2 certificates. The verifier is used to verify the certificate against operator signatures and stake thresholds.\n```\n\n```diff\n+ Status: CREATED\n contract PaymentVault (eth:0xb2e7ef419a2A399472ae22ef5cFcCb8bE97A4B05)\n +++ description: Entrypoint for making reservations and on demand payments for EigenDA.\n```\n\n```diff\n+ Status: CREATED\n contract IndexRegistry (eth:0xBd35a7a1CDeF403a6a99e4E8BA0974D198455030)\n +++ description: A registry contract that keeps track of an ordered list of operators for each quorum.\n```\n\n```diff\n+ Status: CREATED\n contract EigenDARelayRegistry (eth:0xD160e6C1543f562fc2B0A5bf090aED32640Ec55B)\n +++ description: Registry for EigenDA relay keys, maps key to address.\n```\n\n```diff\n+ Status: CREATED\n contract EigenDAThresholdRegistry (eth:0xdb4c89956eEa6F606135E7d366322F2bDE609F15)\n +++ description: Registry of EigenDA threshold (i.e, adversary and confirmation threshold percentage for a quorum)\n```"
}
]
},
{
"id": "aa6abbfe",
"date": "Wed, 21 Jan 2026 10:06:24 GMT",
"timestamp": 1768989919,
"description": "New member added to MegaETH Safe multisig (now 4/8, previously 4/7).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (eth:0x92e0E0B15e3e99b32c9ED9AD284F939553C7b7d6) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x070Cf79fB8D0A0BcBe2d017c6A059148705c9800\"\n values.multisigThreshold:\n- \"4 of 7 (57%)\"\n+ \"4 of 8 (50%)\"\n }\n```"
}
]
},
{
"id": "6ff28fe2",
"date": "Fri, 02 Jan 2026 08:09:15 GMT",
"timestamp": 1767341266,
"description": "Initial discovery. Untemplatized contracts diff with most similar templatized:\n- SystemConfig: \n https://disco.l2beat.com/diff/eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647/eth:0x2425EB983A470eDE96E33c4E969Ac5440a80a639 (higher gas limit)\n- OptimismPortal2: \n https://disco.l2beat.com/diff/eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273/eth:0x55400445e384393f9c1BE23e7E734e8d44Ed9fd9 (no constructor params, system address)\n- SuperchainConfig: \n https://disco.l2beat.com/diff/eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7/eth:0x2F64d234f1Ec6bA2eA6914d943c99b45fFF14E89 (guardian transfer functions)\n\nbasti 12/22: the verifier contract source is now available. looks like an older risc0groth16 verifier: https://disco.l2beat.com/diff/eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9/eth:0x411e56a890c5fe0712f6F345977815Ba8E7785C3\n\nstate validation: assuming the `0xf0ce5d15fa89991210ca2667b7f7a8bb740ce551c0f2b20cc76f9debc55d22c2` program hash corresponds to a valid kailua program that also verifies the eigenDA v2 commitments, the proof system is a standard kailua hybrid validity / fp system as deployed for BOB. The single large difference would be that the vanguard advantage is uint max and therefore the proof system can be delayed ~indefinitely by the vanguard.",
"isHighSeverity": true,
"changeCount": 72,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x0A383fF8387CF07315f476D1686E95b1a97adc97) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"guard\",\"from\":\"eth:0x5d0Ff601BC8580D8682c0462df55343Cb0b99285\",\"role\":\".guardian\"}\n receivedPermissions.1.via:\n+ [{\"address\":\"eth:0xB2A9EB0c7b729c3EC704e843eF260084B3caE67F\"}]\n receivedPermissions.1.role:\n- \".owner\"\n+ \".guardian\"\n receivedPermissions.1.description:\n- \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.1.from:\n- \"eth:0x86183e7b1D908D9A5C3Bc59cC2232F2ffE4E7145\"\n+ \"eth:0x5d0Ff601BC8580D8682c0462df55343Cb0b99285\"\n receivedPermissions.1.permission:\n- \"interact\"\n+ \"guard\"\n receivedPermissions.3:\n- {\"permission\":\"interact\",\"from\":\"eth:0x9754fD3D63B3EAC3fd62b6D54DE4f61b00D6E0Df\",\"description\":\"set and change address mappings.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90\"}]}\n receivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x0CA3A2FBC3D770b578223FBB6b062fa875a2eE75\",\"description\":\"upgrading the bridge implementation can give access to all funds escrowed therein.\",\"role\":\".$admin\",\"via\":[{\"address\":\"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90\"}]}\n receivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1ED92E1bc9A2735216540EDdD0191144681cb77E\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90\"}]}\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x3D8ee269F87A7f3F0590c5C0d825FFF06212A242\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90\"}]}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x5d0Ff601BC8580D8682c0462df55343Cb0b99285\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xab48b73a9e59aF01AfE91e18cA0774295581d07A\"}]}\n receivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x6C7198250087B29A8040eC63903Bc130f4831Cc9\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90\"}]}\n receivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x7f82f57F0Dd546519324392e408b01fcC7D709e8\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90\"}]}\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x8546840adF796875cD9AAcc5B3B048f6B2c9D563\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90\"}]}\n receivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x86183e7b1D908D9A5C3Bc59cC2232F2ffE4E7145\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90\"}]}\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xEEd67E139CC7721EC656B449F01B7b4D7dCFD671\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90\"}]}\n receivedPermissions.13:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xF875030B9464001fC0f964E47546b0AFEEbD7C61\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90\"}]}\n controlsMajorityOfUpgradePermissions:\n- true\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90\",\"role\":\".owner\"},{\"permission\":\"act\",\"from\":\"eth:0xab48b73a9e59aF01AfE91e18cA0774295581d07A\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90) {\n +++ description: None\n values.owner:\n- \"eth:0x0A383fF8387CF07315f476D1686E95b1a97adc97\"\n+ \"eth:0x92e0E0B15e3e99b32c9ED9AD284F939553C7b7d6\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x1ED92E1bc9A2735216540EDdD0191144681cb77E) {\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 values.owner:\n- \"eth:0x5785Df5b4234Fc63F9D6ecFe30C40b6b44619fd2\"\n+ \"eth:0x92e0E0B15e3e99b32c9ED9AD284F939553C7b7d6\"\n }\n```\n\n```diff\n contract MegaUSDmPreDeposit (eth:0x46D6Eba3AECD215a3e703cdA963820d4520b45D6) {\n +++ description: Predeposit Escrow, not connected to an L2: Users can deposit USDC. The system uses off-chain permit signatures to ensure only KYC'd users can deposit. Withdrawals can only be made by eth:0xCB264DEf50D166d4aE7cF60188eC0038819fb719 to eth:0x22cfa62eD71922781984aA2AcffEfA9a82593071.\n values.isDepositActive:\n- true\n+ false\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x5d0Ff601BC8580D8682c0462df55343Cb0b99285) {\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 sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0xcfa8bfbe522f3a85a5385ccb76753907d2f839d7bc257f742c9781269d7cce4d\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0x2F64d234f1Ec6bA2eA6914d943c99b45fFF14E89\"\n values.$pastUpgrades.1:\n+ [\"2025-12-18T02:00:35.000Z\",\"0xcf4419b7fd683f75f9619984db245eca086853395d6f033099ad7e00b0eb4518\",[\"eth:0x2F64d234f1Ec6bA2eA6914d943c99b45fFF14E89\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.guardian:\n- \"eth:0x0A383fF8387CF07315f476D1686E95b1a97adc97\"\n+ \"eth:0xB2A9EB0c7b729c3EC704e843eF260084B3caE67F\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n values.PENDING_GUARDIAN_SLOT:\n+ \"0xd27e97cacf895026d8121da1df07f0476456b12320e92b2a622d646c7a54955c\"\n values.pendingGuardian:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0x2F64d234f1Ec6bA2eA6914d943c99b45fFF14E89:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x7f82f57F0Dd546519324392e408b01fcC7D709e8) {\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- \"0x8f2cec012bf54c7d3bf484bd41d932fbb47b7977bce894ea2138262e61905a92\"\n+ \"0x2cb05d8405b381db83cf08312454b15a474ae2344ca5b34a2c69b3e2f3c1c87e\"\n values.$implementation:\n- \"eth:0x31f6E6a37ce650723EBf082EC59A48779be9Af99\"\n+ \"eth:0x55400445e384393f9c1BE23e7E734e8d44Ed9fd9\"\n values.$pastUpgrades.1:\n+ [\"2025-12-18T01:52:23.000Z\",\"0x79b2cfcd6e5c08d9912d7450c4f77db522be234ea86b4c7db6c10fc0b711b353\",[\"eth:0x55400445e384393f9c1BE23e7E734e8d44Ed9fd9\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.guardian:\n- \"eth:0x0A383fF8387CF07315f476D1686E95b1a97adc97\"\n+ \"eth:0xB2A9EB0c7b729c3EC704e843eF260084B3caE67F\"\n values.version:\n- \"3.14.0\"\n+ \"3.15.2\"\n values.RespectedGameString:\n+ \"KailuaGame\"\n implementationNames.eth:0x31f6E6a37ce650723EBf082EC59A48779be9Af99:\n- \"OptimismPortal2\"\n implementationNames.eth:0x55400445e384393f9c1BE23e7E734e8d44Ed9fd9:\n+ \"OptimismPortal2\"\n template:\n+ \"opstack/OptimismPortal2\"\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 fieldMeta:\n+ {\"respectedGameType\":{\"severity\":\"HIGH\"},\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\",\"1337\":\"KailuaGame\"}}]\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x8546840adF796875cD9AAcc5B3B048f6B2c9D563) {\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:0x0A383fF8387CF07315f476D1686E95b1a97adc97\"\n+ \"eth:0x92e0E0B15e3e99b32c9ED9AD284F939553C7b7d6\"\n }\n```\n\n```diff\n contract DelayedWETH (eth:0x86183e7b1D908D9A5C3Bc59cC2232F2ffE4E7145) {\n +++ description: Contract designed to hold the bonded ETH for each game. It 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- \"eth:0x0A383fF8387CF07315f476D1686E95b1a97adc97\"\n+ \"eth:0x92e0E0B15e3e99b32c9ED9AD284F939553C7b7d6\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xab48b73a9e59aF01AfE91e18cA0774295581d07A) {\n +++ description: None\n values.owner:\n- \"eth:0x0A383fF8387CF07315f476D1686E95b1a97adc97\"\n+ \"eth:0x92e0E0B15e3e99b32c9ED9AD284F939553C7b7d6\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x92e0E0B15e3e99b32c9ED9AD284F939553C7b7d6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0xB2A9EB0c7b729c3EC704e843eF260084B3caE67F)\n +++ description: None\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L1StandardBridge (eth:0x0CA3A2FBC3D770b578223FBB6b062fa875a2eE75)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (eth:0x1ED92E1bc9A2735216540EDdD0191144681cb77E)\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 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 L1ERC721Bridge (eth:0x3D8ee269F87A7f3F0590c5C0d825FFF06212A242)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x411e56a890c5fe0712f6F345977815Ba8E7785C3)\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (eth:0x5d0Ff601BC8580D8682c0462df55343Cb0b99285)\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 L1CrossDomainMessenger (eth:0x6C7198250087B29A8040eC63903Bc130f4831Cc9)\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 KailuaGame (eth:0x78F8F8FED1d589b7098EC4B47220465A9Fa071C9)\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 OptimismPortal2 (eth:0x7f82f57F0Dd546519324392e408b01fcC7D709e8)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (eth:0x8546840adF796875cD9AAcc5B3B048f6B2c9D563)\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 DelayedWETH (eth:0x86183e7b1D908D9A5C3Bc59cC2232F2ffE4E7145)\n +++ description: Contract designed to hold the bonded ETH for each game. It 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 RiscZeroVerifierRouter (eth:0x910b159F79288DD706789ec7768E979d4D88C057)\n +++ description: A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (eth:0x0A383fF8387CF07315f476D1686E95b1a97adc97).\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (eth:0x9754fD3D63B3EAC3fd62b6D54DE4f61b00D6E0Df)\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:0xab48b73a9e59aF01AfE91e18cA0774295581d07A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xB2E4D20ECF58f2cE6a8d3bf0c982c2c77BE42152)\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 KailuaTreasury (eth:0xE4e456c64B9b0de5FE8a90d809180cA71534D623)\n +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.00001 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0xEEd67E139CC7721EC656B449F01B7b4D7dCFD671)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth: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 OptimismMintableERC20Factory (eth:0xF875030B9464001fC0f964E47546b0AFEEbD7C61)\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```"
}
]
},
{
"id": "a1e08049",
"date": "Wed, 03 Dec 2025 11:25:59 GMT",
"timestamp": 1764760164,
"description": "refund contract deployed, refunds completed.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract MegaUSDmPreDeposit (eth:0x46D6Eba3AECD215a3e703cdA963820d4520b45D6) {\n +++ description: Predeposit Escrow, not connected to an L2: Users can deposit USDC. The system uses off-chain permit signatures to ensure only KYC'd users can deposit. Withdrawals can only be made by eth:0xCB264DEf50D166d4aE7cF60188eC0038819fb719 to eth:0x22cfa62eD71922781984aA2AcffEfA9a82593071.\n description:\n- \"Predeposit Escrow, not connected to an L2: Users can deposit USDC. The system uses off-chain permit signatures to ensure only KYC'd users can deposit. Withdrawals can only be made by eth:0xCB264DEf50D166d4aE7cF60188eC0038819fb719 to eth:0xCB264DEf50D166d4aE7cF60188eC0038819fb719.\"\n+ \"Predeposit Escrow, not connected to an L2: Users can deposit USDC. The system uses off-chain permit signatures to ensure only KYC'd users can deposit. Withdrawals can only be made by eth:0xCB264DEf50D166d4aE7cF60188eC0038819fb719 to eth:0x22cfa62eD71922781984aA2AcffEfA9a82593071.\"\n values.treasury:\n- \"eth:0xCB264DEf50D166d4aE7cF60188eC0038819fb719\"\n+ \"eth:0x22cfa62eD71922781984aA2AcffEfA9a82593071\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MegaPreDepositVaultRefund (eth:0x22cfa62eD71922781984aA2AcffEfA9a82593071)\n +++ description: Refund escrow designed to hold the funds extracted from the predeposit vault and send them back to the users listed in the vault.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0xe8344867AB6387e17b7cAE2dE52C63BCf501BD98)\n +++ description: None\n```"
}
]
},
{
"id": "2d9ebeaa",
"date": "Wed, 26 Nov 2025 10:21:01 GMT",
"timestamp": 1764152153,
"description": "Add Megaeth predeposit contract and TVS.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract MegaUSDmPreDeposit (eth:0x46D6Eba3AECD215a3e703cdA963820d4520b45D6)\n +++ description: Predeposit Escrow, not connected to an L2: Users can deposit USDC. The system uses off-chain permit signatures to ensure only KYC'd users can deposit. Withdrawals can only be made by eth:0xCB264DEf50D166d4aE7cF60188eC0038819fb719 to eth:0xCB264DEf50D166d4aE7cF60188eC0038819fb719.\n```\n\n```diff\n+ Status: CREATED\n contract Megaeth Multisig (eth:0xCB264DEf50D166d4aE7cF60188eC0038819fb719)\n +++ description: None\n```"
}
]
}
]
+19 -5
+4 -4
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "RoninConduitOwner",
"name": "RoninConduitOwner",
"description": "A Multisig with 5/6 threshold. \n5-of-6 joint Ronin/Conduit Safe.\n* Can upgrade **with no delay**\n * AnchorStateRegistry [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * KailuaVerifier \n * L1StandardBridge [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * SuperchainConfig [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type \n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) ",
"accounts": [
{
"address": "eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607",
"type": "Contract",
"isVerified": true,
"name": "0xE9Ad…5607",
"url": "https://etherscan.io/address/0xE9Ad9723C24d946958f9FD3Bc861BbF983525607"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xea42A416fdDFA91C69C879A7EdA3923394783B28",
"type": "EOA",
"isVerified": true,
"name": "0xea42…3B28",
"url": "https://etherscan.io/address/0xea42A416fdDFA91C69C879A7EdA3923394783B28"
},
{
"address": "eth:0xaa6a1e7C2979F1D49d97F7f6E5F7B7c25d2f85c2",
"type": "EOA",
"isVerified": true,
"name": "0xaa6a…85c2",
"url": "https://etherscan.io/address/0xaa6a1e7C2979F1D49d97F7f6E5F7B7c25d2f85c2"
},
{
"address": "eth:0x8e0759dCEDbA69Ce4D1528395F13a13a25252070",
"type": "EOA",
"isVerified": true,
"name": "0x8e07…2070",
"url": "https://etherscan.io/address/0x8e0759dCEDbA69Ce4D1528395F13a13a25252070"
},
{
"address": "eth:0x8f9C82DD023D692cB74bF7d3d9436C9f5c2A3552",
"type": "EOA",
"isVerified": true,
"name": "0x8f9C…3552",
"url": "https://etherscan.io/address/0x8f9C82DD023D692cB74bF7d3d9436C9f5c2A3552"
},
{
"address": "eth:0x81175155D85377C337d92f1FA52Da166C3A4E7Ac",
"type": "EOA",
"isVerified": true,
"name": "0x8117…E7Ac",
"url": "https://etherscan.io/address/0x81175155D85377C337d92f1FA52Da166C3A4E7Ac"
},
{
"address": "eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6",
"type": "EOA",
"isVerified": true,
"name": "0x6BB4…83A6",
"url": "https://etherscan.io/address/0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6"
}
],
"discoveryDrivenData": true
},
{
"id": "Conduit Multisig 1",
"name": "Conduit Multisig 1",
"description": "A Multisig with 4/11 threshold. \n* Can interact with DisputeGameFactory\n * Allowed to challenge or delete state roots proposed by a Proposer ",
"accounts": [
{
"address": "eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746",
"type": "Contract",
"isVerified": true,
"name": "0x4a49…A746",
"url": "https://etherscan.io/address/0x4a4962275DF8C60a80d3a25faEc5AA7De116A746"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x9402c42dB162d5a0927c032136f40Cc9C71853F2",
"type": "EOA",
"isVerified": true,
"name": "0x9402…53F2",
"url": "https://etherscan.io/address/0x9402c42dB162d5a0927c032136f40Cc9C71853F2"
},
{
"address": "eth:0xcdC931935768c0562AfE989A366a3Dc4d52F4853",
"type": "EOA",
"isVerified": true,
"name": "0xcdC9…4853",
"url": "https://etherscan.io/address/0xcdC931935768c0562AfE989A366a3Dc4d52F4853"
},
{
"address": "eth:0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09",
"type": "EOA",
"isVerified": true,
"name": "0xA9FC…8d09",
"url": "https://etherscan.io/address/0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09"
},
{
"address": "eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6",
"type": "EOA",
"isVerified": true,
"name": "0x6BB4…83A6",
"url": "https://etherscan.io/address/0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6"
},
{
"address": "eth:0x2103c69696CB2D3779f5445393808239034E911c",
"type": "EOA",
"isVerified": true,
"name": "0x2103…911c",
"url": "https://etherscan.io/address/0x2103c69696CB2D3779f5445393808239034E911c"
},
{
"address": "eth:0x81175155D85377C337d92f1FA52Da166C3A4E7Ac",
"type": "EOA",
"isVerified": true,
"name": "0x8117…E7Ac",
"url": "https://etherscan.io/address/0x81175155D85377C337d92f1FA52Da166C3A4E7Ac"
},
{
"address": "eth:0xA0737fea60F0601A192E3d2c98865A883ab0bda2",
"type": "EOA",
"isVerified": true,
"name": "0xA073…bda2",
"url": "https://etherscan.io/address/0xA0737fea60F0601A192E3d2c98865A883ab0bda2"
},
{
"address": "eth:0xF3313C48BD8E17b823d5498D62F37019dFEA647D",
"type": "EOA",
"isVerified": true,
"name": "0xF331…647D",
"url": "https://etherscan.io/address/0xF3313C48BD8E17b823d5498D62F37019dFEA647D"
},
{
"address": "eth:0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038",
"type": "EOA",
"isVerified": true,
"name": "0xa0C6…9038",
"url": "https://etherscan.io/address/0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038"
},
{
"address": "eth:0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C",
"type": "EOA",
"isVerified": true,
"name": "0xefCf…dD5C",
"url": "https://etherscan.io/address/0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C"
},
{
"address": "eth:0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe",
"type": "EOA",
"isVerified": true,
"name": "0x4D80…5BAe",
"url": "https://etherscan.io/address/0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe"
}
],
"discoveryDrivenData": true
},
{
"id": "MainchainBridgeManager",
"name": "MainchainBridgeManager",
"accounts": [
{
"address": "eth:0x2Cf3CFb17774Ce0CFa34bB3f3761904e7fc3FaDB",
"type": "Contract",
"isVerified": true,
"name": "0x2Cf3…FaDB",
"url": "https://etherscan.io/address/0x2Cf3CFb17774Ce0CFa34bB3f3761904e7fc3FaDB"
}
],
"chain": "ethereum",
"description": "Governance and proxy-admin contract for the legacy MainchainGateway bridge. Holds the operator/governor set, tallies stake-weighted votes for bridge proposals (operator rotations, threshold changes, withdrawals).\n* Can upgrade **with no delay**\n * MainchainGateway ",
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 3/5 threshold. \n* Can interact with TimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles **with 3d delay** [via: TimelockController with 3d delay]\n * propose transactions \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierRouter\n * add/remove verifiers and the selectors they are mapped to **with 3d delay** [via: TimelockController with 3d delay]\n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"description": "A Multisig with 2/5 threshold. \n* Can interact with TimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles **with 3d delay** [via: TimelockController with 3d delay]\n * propose transactions \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierRouter\n * add/remove verifiers and the selectors they are mapped to **with 3d delay** [via: TimelockController with 3d delay]\n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"accounts": [
{
"address": "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609",
"type": "Contract",
"isVerified": true,
"name": "0x2E5b…2609",
"url": "https://etherscan.io/address/0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E",
"type": "EOA",
"isVerified": true,
"name": "0x10B0…6A0E",
"url": "https://etherscan.io/address/0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E"
},
{
"address": "eth:0x751708D6341b36c0C258754fc2DbF96074f5BdC7",
"type": "EOA",
"isVerified": true,
"name": "0x7517…BdC7",
"url": "https://etherscan.io/address/0x751708D6341b36c0C258754fc2DbF96074f5BdC7"
},
{
"address": "eth:0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4",
"type": "EOA",
"isVerified": true,
"name": "0xbF58…73a4",
"url": "https://etherscan.io/address/0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4"
},
{
"address": "eth:0xd5D43445d0227a47cA2eACCb9392352746eD9926",
"address": "eth:0x9a017883e4A6BB2a6261D92D70f71107F2C39D12",
"type": "EOA",
"isVerified": true,
"name": "0xd5D4…9926",
"url": "https://etherscan.io/address/0xd5D43445d0227a47cA2eACCb9392352746eD9926"
"name": "0x9a01…9D12",
"url": "https://etherscan.io/address/0x9a017883e4A6BB2a6261D92D70f71107F2C39D12"
},
{
"address": "eth:0xDA8e7102681f9652FB8a10b70949CF7F260e0A01",
"type": "EOA",
"isVerified": true,
"name": "0xDA8e…0A01",
"url": "https://etherscan.io/address/0xDA8e7102681f9652FB8a10b70949CF7F260e0A01"
}
],
"discoveryDrivenData": true
},
{
"id": "LegacyBridgeOwner",
"name": "LegacyBridgeOwner",
"description": "A Multisig with 3/5 threshold. \n* Can upgrade **with no delay**\n * MainchainBridgeManager ",
"accounts": [
{
"address": "eth:0x51F6696Ae42C6C40CA9F5955EcA2aaaB1Cefb26e",
"type": "Contract",
"isVerified": true,
"name": "0x51F6…b26e",
"url": "https://etherscan.io/address/0x51F6696Ae42C6C40CA9F5955EcA2aaaB1Cefb26e"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x4BFEc2a63B72c67e6c3f599fCc40E1d42AE519ff",
"type": "EOA",
"isVerified": true,
"name": "0x4BFE…19ff",
"url": "https://etherscan.io/address/0x4BFEc2a63B72c67e6c3f599fCc40E1d42AE519ff"
},
{
"address": "eth:0x0182147F7aC923BF8024C953acA2225C91206485",
"type": "EOA",
"isVerified": true,
"name": "0x0182…6485",
"url": "https://etherscan.io/address/0x0182147F7aC923BF8024C953acA2225C91206485"
},
{
"address": "eth:0xC93f43dbbf0a1346D9E0d623B68d78891b131Bf9",
"type": "EOA",
"isVerified": true,
"name": "0xC93f…1Bf9",
"url": "https://etherscan.io/address/0xC93f43dbbf0a1346D9E0d623B68d78891b131Bf9"
},
{
"address": "eth:0xFE1a01580d7Cd7EC333DDC087b2c4DE3226f6031",
"type": "EOA",
"isVerified": true,
"name": "0xFE1a…6031",
"url": "https://etherscan.io/address/0xFE1a01580d7Cd7EC333DDC087b2c4DE3226f6031"
},
{
"address": "eth:0xCfD1C43CdB2bD66c7B66a7aBe66Fb6BE497d7f86",
"type": "EOA",
"isVerified": true,
"name": "0xCfD1…7f86",
"url": "https://etherscan.io/address/0xCfD1C43CdB2bD66c7B66a7aBe66Fb6BE497d7f86"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x9aA8feACbB42659a806cDD6933ab3982586824F1",
"type": "EOA",
"isVerified": true,
"name": "0x9aA8…24F1",
"url": "https://etherscan.io/address/0x9aA8feACbB42659a806cDD6933ab3982586824F1",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xD379de941E78Ab394d4D4917FcCE1CC45b6cd620",
"type": "EOA",
"isVerified": true,
"name": "0xD379…d620",
"url": "https://etherscan.io/address/0xD379de941E78Ab394d4D4917FcCE1CC45b6cd620",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with DisputeGameFactory\n * Allowed to post new state roots of the current layer to the host chain \n* Can interact with KailuaTreasury\n * propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"type": "EOA",
"isVerified": true,
"name": "0xF616…d412",
"url": "https://etherscan.io/address/0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1790944906,
"baseTimestamp": 1791533505,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"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```"
}
]
}
]
+16 -9
+1 -8
{
"arbitrum": {
"roles": [],
"actors": [
{
"id": "XaiMultisig",
"name": "XaiMultisig",
"description": "A Multisig with 3/5 threshold. \n* Can upgrade **with no delay**\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * GatewayRouter [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n * ChallengeManager [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * ERC20Gateway [via: UpgradeExecutor → ProxyAdmin]\n * RollupProxy [via: UpgradeExecutor]\n* Can interact with RollupProxy\n * Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes [via: UpgradeExecutor]",
"accounts": [
{
"address": "arb1:0x4972A8EF186Ee42A14Cdd3c47f52ec06a6dc495E",
"type": "Contract",
"isVerified": true,
"name": "0x4972…495E",
"url": "https://arbiscan.io/address/0x4972A8EF186Ee42A14Cdd3c47f52ec06a6dc495E"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0x000d8C5A70B8805DF02f409F2715d05B9A63E871",
"type": "Contract",
"isVerified": true,
"name": "XaiMultisig2",
"url": "#XaiMultisig2"
},
{
"address": "arb1:0xa2E7768789921a36eCFe8c239dBd8213120fFF83",
"type": "EOA",
"isVerified": true,
"name": "0xa2E7…FF83",
"url": "https://arbiscan.io/address/0xa2E7768789921a36eCFe8c239dBd8213120fFF83"
},
{
"address": "arb1:0xD766Abf27CEc67393FF475f7fE969902f5D0A80A",
"type": "EOA",
"isVerified": true,
"name": "0xD766…A80A",
"url": "https://arbiscan.io/address/0xD766Abf27CEc67393FF475f7fE969902f5D0A80A"
},
{
"address": "arb1:0x08a361fE449b1371cC21b286d88F69eF6d205809",
"type": "EOA",
"isVerified": true,
"name": "0x08a3…5809",
"url": "https://arbiscan.io/address/0x08a361fE449b1371cC21b286d88F69eF6d205809"
},
{
"address": "arb1:0xd4318D959B46d555143f56E03077028aB94D85d2",
"type": "EOA",
"isVerified": true,
"name": "0xd431…85d2",
"url": "https://arbiscan.io/address/0xd4318D959B46d555143f56E03077028aB94D85d2"
}
],
"discoveryDrivenData": true
},
{
"id": "XaiSentryMultisig",
"name": "XaiSentryMultisig",
"description": "A Multisig with 3/4 threshold. \n* Can upgrade **with no delay**\n * PoolProxyDeployer [via: ProxyAdmin]\n * GasSubsidy [via: ProxyAdmin]\n * NodeLicenseRegistry [via: ProxyAdmin]\n * RefereeCalculations [via: ProxyAdmin]\n * PoolFactory [via: ProxyAdmin]\n * SentryReferee [via: ProxyAdmin]",
"accounts": [
{
"address": "arb1:0x754286508D57Fae1256bC288461E075552175CBa",
"type": "Contract",
"isVerified": true,
"name": "0x7542…5CBa",
"url": "https://arbiscan.io/address/0x754286508D57Fae1256bC288461E075552175CBa"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0x194654c631686077d3C34a0e7c1856E4BE2E2705",
"type": "Contract",
"isVerified": true,
"name": "XaiSentryMultisig2",
"url": "#XaiSentryMultisig2"
},
{
"address": "arb1:0xfc6F0d26f817Bd31AeD0e8922575d1fb8bD7A894",
"type": "EOA",
"isVerified": true,
"name": "0xfc6F…A894",
"url": "https://arbiscan.io/address/0xfc6F0d26f817Bd31AeD0e8922575d1fb8bD7A894"
},
{
"address": "arb1:0xbBE90F6748C82623F130A4486722a436c5a72440",
"type": "EOA",
"isVerified": true,
"name": "0xbBE9…2440",
"url": "https://arbiscan.io/address/0xbBE90F6748C82623F130A4486722a436c5a72440"
},
{
"address": "arb1:0x0EeF59Be9b361B32A672169CF07F3e5A0a7C25dA",
"type": "EOA",
"isVerified": true,
"name": "0x0EeF…25dA",
"url": "https://arbiscan.io/address/0x0EeF59Be9b361B32A672169CF07F3e5A0a7C25dA"
}
],
"discoveryDrivenData": true
},
{
"id": "XaiMultisig2",
"name": "XaiMultisig2",
"description": "A Multisig with 1/3 threshold. \nMember of XaiMultisig.\n",
"accounts": [
{
"address": "arb1:0x000d8C5A70B8805DF02f409F2715d05B9A63E871",
"type": "Contract",
"isVerified": true,
"name": "0x000d…E871",
"url": "https://arbiscan.io/address/0x000d8C5A70B8805DF02f409F2715d05B9A63E871"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xc7185e37A4aB4Af0E77bC08249CD2590AE3E1b51",
"type": "EOA",
"isVerified": true,
"name": "EOA 6",
"url": "#EOA-3,-EOA-5-and-EOA-6"
},
{
"address": "arb1:0x2B95cdD1adD34461Fe737800c0D5A68d556B51b4",
"type": "EOA",
"isVerified": true,
"name": "EOA 3",
"url": "#EOA-3,-EOA-5-and-EOA-6"
},
{
"address": "arb1:0x7f910C718bAF6698FBF9b56e047ECd52d157bAD6",
"type": "EOA",
"isVerified": true,
"name": "EOA 5",
"url": "#EOA-3,-EOA-5-and-EOA-6"
}
],
"discoveryDrivenData": true
},
{
"id": "XaiSentryMultisig2",
"name": "XaiSentryMultisig2",
"description": "A Multisig with 1/3 threshold. \nMember of XaiSentryMultisig, XaiFundsReiceiverMultisig.\n",
"description": "A Multisig with 1/2 threshold. \nMember of XaiSentryMultisig, XaiFundsReiceiverMultisig.\n",
"accounts": [
{
"address": "arb1:0x194654c631686077d3C34a0e7c1856E4BE2E2705",
"type": "Contract",
"isVerified": true,
"name": "0x1946…2705",
"url": "https://arbiscan.io/address/0x194654c631686077d3C34a0e7c1856E4BE2E2705"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0x739bd9Ed651d200dc84d0b0dF444CA47CBFf520f",
"type": "EOA",
"isVerified": true,
"name": "0x739b…520f",
"url": "https://arbiscan.io/address/0x739bd9Ed651d200dc84d0b0dF444CA47CBFf520f"
},
{
"address": "arb1:0x9913fb54674894b77f7aD813938C916389817348",
"type": "EOA",
"isVerified": true,
"name": "0x9913…7348",
"url": "https://arbiscan.io/address/0x9913fb54674894b77f7aD813938C916389817348"
},
{
"address": "arb1:0x90D77E3a3B660E54E04cD622937765d2375FB2e3",
"type": "EOA",
"isVerified": true,
"name": "0x90D7…B2e3",
"url": "https://arbiscan.io/address/0x90D77E3a3B660E54E04cD622937765d2375FB2e3"
}
],
"discoveryDrivenData": true
},
{
"id": "XaiFundsReiceiverMultisig",
"name": "XaiFundsReiceiverMultisig",
"description": "A Multisig with 2/4 threshold. \nThe designated fundsReceiver in the NodeLicenseRegistry. Receives all ETH from 'Sentry Node License' mints.\n",
"accounts": [
{
"address": "arb1:0xFCF7248C495d6fd3641eE43F861c48Ebe402c878",
"type": "Contract",
"isVerified": true,
"name": "0xFCF7…c878",
"url": "https://arbiscan.io/address/0xFCF7248C495d6fd3641eE43F861c48Ebe402c878"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0x194654c631686077d3C34a0e7c1856E4BE2E2705",
"type": "Contract",
"isVerified": true,
"name": "XaiSentryMultisig2",
"url": "#XaiSentryMultisig2"
},
{
"address": "arb1:0x1f097F3f928415cD28e1B2cC6f0F3960f4fCa6fc",
"type": "EOA",
"isVerified": true,
"name": "0x1f09…a6fc",
"url": "https://arbiscan.io/address/0x1f097F3f928415cD28e1B2cC6f0F3960f4fCa6fc"
},
{
"address": "arb1:0xbBE90F6748C82623F130A4486722a436c5a72440",
"type": "EOA",
"isVerified": true,
"name": "0xbBE9…2440",
"url": "https://arbiscan.io/address/0xbBE90F6748C82623F130A4486722a436c5a72440"
},
{
"address": "arb1:0xfc6F0d26f817Bd31AeD0e8922575d1fb8bD7A894",
"type": "EOA",
"isVerified": true,
"name": "0xfc6F…A894",
"url": "https://arbiscan.io/address/0xfc6F0d26f817Bd31AeD0e8922575d1fb8bD7A894"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 1 and EOA 2",
"accounts": [
{
"address": "arb1:0x0C2EbD821c68EC405Fb425596486F5b0f6dFff53",
"type": "EOA",
"isVerified": true,
"name": "0x0C2E…ff53",
"url": "https://arbiscan.io/address/0x0C2EbD821c68EC405Fb425596486F5b0f6dFff53",
"displayName": "EOA 1"
},
{
"address": "arb1:0x25EA41f0bDa921a0eBf48291961B1F10b59BC6b8",
"type": "EOA",
"isVerified": true,
"name": "0x25EA…C6b8",
"url": "https://arbiscan.io/address/0x25EA41f0bDa921a0eBf48291961B1F10b59BC6b8",
"displayName": "EOA 2"
}
],
"chain": "arbitrum",
"description": "* Can interact with RollupProxy\n * Can propose new state roots (called nodes) and challenge state roots on the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-3,-EOA-5-and-EOA-6",
"name": "EOA 3, EOA 5 and EOA 6",
"accounts": [
{
"address": "arb1:0x2B95cdD1adD34461Fe737800c0D5A68d556B51b4",
"type": "EOA",
"isVerified": true,
"name": "0x2B95…51b4",
"url": "https://arbiscan.io/address/0x2B95cdD1adD34461Fe737800c0D5A68d556B51b4",
"displayName": "EOA 3"
},
{
"address": "arb1:0x7f910C718bAF6698FBF9b56e047ECd52d157bAD6",
"type": "EOA",
"isVerified": true,
"name": "0x7f91…bAD6",
"url": "https://arbiscan.io/address/0x7f910C718bAF6698FBF9b56e047ECd52d157bAD6",
"displayName": "EOA 5"
},
{
"address": "arb1:0xc7185e37A4aB4Af0E77bC08249CD2590AE3E1b51",
"type": "EOA",
"isVerified": true,
"name": "0xc718…1b51",
"url": "https://arbiscan.io/address/0xc7185e37A4aB4Af0E77bC08249CD2590AE3E1b51",
"displayName": "EOA 6"
}
],
"chain": "arbitrum",
"description": "Member of XaiMultisig2.\n* Can interact with SequencerInbox\n * Add/remove batchPosters (Sequencers) [via: XaiMultisig2]",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "arb1:0x7F68dba68E72a250004812fe04F1123Fca89aBa9",
"type": "EOA",
"isVerified": true,
"name": "0x7F68…aBa9",
"url": "https://arbiscan.io/address/0x7F68dba68E72a250004812fe04F1123Fca89aBa9",
"displayName": "EOA 4"
}
],
"chain": "arbitrum",
"description": "* Can interact with SequencerInbox\n * Can submit transaction batches or commitments to the SequencerInbox contract on the host chain ",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1790891941,
"baseTimestamp": 1791533635,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "cfd22eb8",
"date": "Fri, 09 Oct 2026 08:15:46 GMT",
"timestamp": 1791533635,
"description": "XaiSentryMultisig2: member removed, threshold 1/3 → 1/2.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract XaiSentryMultisig2 (arb1:0x194654c631686077d3C34a0e7c1856E4BE2E2705) [GnosisSafe] {\n +++ description: None\n values.$members.2:\n- \"arb1:0x90D77E3a3B660E54E04cD622937765d2375FB2e3\"\n values.multisigThreshold:\n- \"1 of 3 (33%)\"\n+ \"1 of 2 (50%)\"\n }\n```"
}
]
},
{
"id": "64fc0b79",
"date": "Thu, 01 Oct 2026 22:00:13 GMT",
"timestamp": 1790891941,
"description": "XaiSentryMultisig: 3 members removed, threshold `3 of 7` -> `3 of 4`. 2 of the removed members remain members of XaiSentryMultisig2 (`1 of 3`), which is still a member.\n\nNodeLicenseRegistry upgraded by XaiSentryMultisig; the reinitializer sets `mintingPaused` to `true`. `mintingPaused` has no setter.\n\nVersion changes and implementation diffs:\n\n- NodeLicenseRegistry NodeLicense10 -> NodeLicense11: https://disco.l2beat.com/diff/arb1:0x249b8A8AF9152A08Ba3cF3E106962566E8343fB6/arb1:0xdD94b4Eb8620CD9a82dBF058De0589f271A30CCA",
"isHighSeverity": true,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract XaiSentryMultisig (arb1:0x754286508D57Fae1256bC288461E075552175CBa) [GnosisSafe] {\n +++ description: None\n values.$members.1:\n- \"arb1:0x739bd9Ed651d200dc84d0b0dF444CA47CBFf520f\"\n values.$members.2:\n- \"arb1:0x90D77E3a3B660E54E04cD622937765d2375FB2e3\"\n values.$members.4:\n- \"arb1:0xE529a3271f9CC84B1FE9107ab4764a8dF177782a\"\n values.multisigThreshold:\n- \"3 of 7 (43%)\"\n+ \"3 of 4 (75%)\"\n }\n```\n\n```diff\n contract NodeLicenseRegistry (arb1:0xbc14d8563b248B79689ECbc43bBa53290e0b6b66) [N/A] {\n +++ description: This is the contract where Xai Sentry Keys for running a sentry node are minted.\n sourceHashes.1:\n- \"0x51e845ee54612e798ba42f8f2817f1515ae31d02bc5f2a866db81850f345a0aa\"\n+ \"0x1cfacb9a51bdab359fa5ad8114e490987cdbbd64285b04db4c8ce4fb8f9af18d\"\n values.$implementation:\n- \"arb1:0x249b8A8AF9152A08Ba3cF3E106962566E8343fB6\"\n+ \"arb1:0xdD94b4Eb8620CD9a82dBF058De0589f271A30CCA\"\n values.$pastUpgrades.17:\n+ [\"2026-09-10T16:37:56.000Z\",\"0xc4cf3a0ecce8ca29e2f6ca89b2251ae0ea279e66a7305ecd4c7696d0ba4e7bd0\",[\"arb1:0xdD94b4Eb8620CD9a82dBF058De0589f271A30CCA\"]]\n values.$upgradeCount:\n- 17\n+ 18\n values.mintingPaused:\n- false\n+ true\n implementationNames.arb1:0x249b8A8AF9152A08Ba3cF3E106962566E8343fB6:\n- \"NodeLicense10\"\n implementationNames.arb1:0xdD94b4Eb8620CD9a82dBF058De0589f271A30CCA:\n+ \"NodeLicense11\"\n }\n```"
}
]
},
{
"id": "78ebadde",
"date": "Mon, 07 Sep 2026 21:36:18 GMT",
"timestamp": 1788816912,
"description": "SafeL2 owning the ProxyAdmin of the Sentry contracts: member added; threshold lowered 4/6 → 3/7.\n\nXaiFundsReiceiverMultisig: 3 members removed; threshold 3/7 → 2/4.\n\nTeam Secret removed from the listed DAC members: its key left the keyset on 2025-01-12; the current 3/5 keyset is Xai, Ex Populus, LayerZero, Alt Layer and Offchain Labs.",
"isHighSeverity": false,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SafeL2 (arb1:0x754286508D57Fae1256bC288461E075552175CBa) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"arb1:0x194654c631686077d3C34a0e7c1856E4BE2E2705\"\n values.$threshold:\n- 4\n+ 3\n values.multisigThreshold:\n- \"4 of 6 (67%)\"\n+ \"3 of 7 (43%)\"\n }\n```\n\n```diff\n contract XaiFundsReiceiverMultisig (arb1:0xFCF7248C495d6fd3641eE43F861c48Ebe402c878) [GnosisSafe] {\n +++ description: The designated fundsReceiver in the NodeLicenseRegistry. Receives all ETH from 'Sentry Node License' mints.\n values.$members.1:\n- \"arb1:0x739bd9Ed651d200dc84d0b0dF444CA47CBFf520f\"\n values.$members.2:\n- \"arb1:0x90D77E3a3B660E54E04cD622937765d2375FB2e3\"\n values.$members.5:\n- \"arb1:0xE529a3271f9CC84B1FE9107ab4764a8dF177782a\"\n values.$threshold:\n- 3\n+ 2\n values.multisigThreshold:\n- \"3 of 7 (43%)\"\n+ \"2 of 4 (50%)\"\n }\n```"
}
]
},
{
"id": "07854464",
"date": "Thu, 09 Jul 2026 10:01:03 GMT",
"timestamp": 1783591155,
"description": "XaiFundsReiceiverMultisig (receives ETH from Sentry Node License mints) added a new 1-of-3 `SafeL2` (`0x1946…2705`) as a member. Top-Safe per-member share drops: 3/6 (50%) → 3/7 (43%).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract XaiFundsReiceiverMultisig (arb1:0xFCF7248C495d6fd3641eE43F861c48Ebe402c878) [GnosisSafe] {\n +++ description: The designated fundsReceiver in the NodeLicenseRegistry. Receives all ETH from 'Sentry Node License' mints.\n values.$members.0:\n+ \"arb1:0x194654c631686077d3C34a0e7c1856E4BE2E2705\"\n values.multisigThreshold:\n- \"3 of 6 (50%)\"\n+ \"3 of 7 (43%)\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (arb1:0x194654c631686077d3C34a0e7c1856E4BE2E2705) [GnosisSafe]\n +++ description: None\n```"
}
]
},
{
"id": "b640c4ce",
"date": "Fri, 03 Oct 2025 09:02:56 GMT",
"timestamp": 1759482109,
"description": "Upgrade to ArbOS v40.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (arb1:0xC47DacFbAa80Bd9D8112F4e8069482c2A3221336) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v32 wasmModuleRoot\"\n+ \"ArbOS v40 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39\"\n+ \"0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a\"\n }\n```"
}
]
},
{
"id": "f131d737",
"date": "Wed, 03 Sep 2025 10:28:14 GMT",
"timestamp": 1756895200,
"description": "msig changes.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (arb1:0xD88c8E0aE21beA6adE41A41130Bb4cd43e6b1723) {\n +++ description: None\n values.owner:\n- \"arb1:0x7C94E07bbf73518B0E25D1Be200a5b58F46F9dC7\"\n+ \"arb1:0x754286508D57Fae1256bC288461E075552175CBa\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (arb1:0x754286508D57Fae1256bC288461E075552175CBa)\n +++ description: None\n```"
}
]
},
{
"id": "0756308f",
"date": "Mon, 18 Aug 2025 10:49:55 GMT",
"timestamp": 1755513362,
"description": "DAC key changed.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerInbox (0x995a9d3ca121D48d21087eDE20bc8acb2398c8B1) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.dacKeyset.blsSignatures.1:\n- \"YBnmxAj50xHWx74c8TEJQ4hMxDc8au4r/8ZjDdm9VZZeVz30yudFDkKd5gzt/bnDkxL/fS3uO/uyV5IK/x5g53D7ZBMcrVJF3UMriIitIvf/jriRsnCi1TSZVG+RpGoMNAAji+ipTEVV5YnQPi/AVGQIGwmoEzhA/giQH7evlxzC1Q876MQqHTwwfIrX63UZ5hPEs84OyTq5gHvR71UYbI7TEzHRNi3RJTfgsidx8Q1v2jndA5HfYUq2pxmmPPkIoxHSK+Syt24Fe9q/6dIMN76BXMDpbXu1+r0QdQMPLEfSWm/aquMI6sN1ljaa958XThaluC1z+iqrR9b5e8LoEq1OliZf2qCHnv9MFX51KCF42zEQiz493XQrf0HUJIfCag==\"\n values.dacKeyset.blsSignatures.4:\n+ \"YAs1+BYgCS8HZ5vbTRT1nbt71wSvrFO3cFKUzWPXaud5V0ErIbWmk4ITu7VxEdDGnAyGmwwfVf2KjZXtsmDHYvXqED6z2fWva8RuY8wTrK5DYRVrPFpZxyFvfkO6j5TXyBPelZmJQzpQlFjx0eMoq4HFloDG1utysJywf3SqUuZKoU074I8pfkz4DSA8gomp6ACZNDBe+1rzvo4jFyzIKbhzveNanj9UWNEBJcrorD+ajWHW/Mrwn0P9RY5MeBt/CQQdCeHvOxTp95aWg2dXYv3iEB3WgH0i06da5gyjit809RYytX2x5I8pbgzugpsieBf8RrKq9FZujcdJJVAVtYJf/hWdptqcwEDdhfZTE2uMOVNJGFnwQ95wYdMT1jQpHA==\"\n values.keySetUpdates:\n- 8\n+ 9\n }\n```"
}
]
},
{
"id": "6cfbb64c",
"date": "Mon, 14 Jul 2025 12:44:24 GMT",
"timestamp": 1752497064,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 27,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract XaiMultisig2 (0x000d8C5A70B8805DF02f409F2715d05B9A63E871)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x041F85dD87c46B941dc9b15c6628B19ee5358485)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0x0EE7AD3Cc291343C9952fFd8844e86d294fa513F)\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0x1E400568AD4840dbE50FB32f306B842e9ddeF726)\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract GatewayRouter (0x22CCA5Dc96a4Ac1EC32c9c7C5ad4D66254a24C35)\n +++ description: This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x33c1514Bf90e202d242C299b37C60f908aa206D4)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract RollupEventInbox (0x36aDe24988E4C47602e38BD9a0Bd89031eF807a8)\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0x3a3f62034a42a35eA1686B199bB73006aa525eE4)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n+ Status: CREATED\n contract XaiMultisig (0x4972A8EF186Ee42A14Cdd3c47f52ec06a6dc495E)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x54E0923782b701044444De5d8c3A45aC890b0881)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract PoolProxyDeployer (0x68D78D1E81379EfD9C61f8E9131D52CE571AF4fD)\n +++ description: Manages beacon addresses for the v2 staking pools.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0x6c21303F5986180B1394d2C89f3e883890E2867b)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0x7dd8A76bdAeBE3BBBaCD7Aa87f1D4FDa1E60f94f)\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n```\n\n```diff\n+ Status: CREATED\n contract GasSubsidy (0x94F4aBC83eae00b693286B6eDCa09e1D76183C97)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0x995a9d3ca121D48d21087eDE20bc8acb2398c8B1)\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (0xaE21fDA3de92dE2FDAF606233b2863782Ba046F9)\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```\n\n```diff\n+ Status: CREATED\n contract ERC20Gateway (0xb591cE747CF19cF30e11d656EB94134F523A9e77)\n +++ description: Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n```\n\n```diff\n+ Status: CREATED\n contract NodeLicenseRegistry (0xbc14d8563b248B79689ECbc43bBa53290e0b6b66)\n +++ description: This is the contract where Xai Sentry Keys for running a sentry node are minted.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0xC47DacFbAa80Bd9D8112F4e8069482c2A3221336)\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n```\n\n```diff\n+ Status: CREATED\n contract RefereeCalculations (0xCd62360854aecf6285Fa310D69C5EBaf4Cd5e95F)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xD88c8E0aE21beA6adE41A41130Bb4cd43e6b1723)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0xD89d54007079071cBA859127318b9F34eeB78049)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0xE58a2dEb5718F9aAF2C1DdD0E366ED076D204cc4)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0xf8E5e5562c2c12d8690786f5C9FA65F20F6bD881)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract PoolFactory (0xF9E08660223E2dbb1c0b28c82942aB6B5E38b8E5)\n +++ description: The PoolFactory allows creating and managing staking pools for V2 staking. Users can stake esXAI (and / or Sentry Keys) in pools. This contract's address is whitelisted in the esXAI token contract, which allows it to initiate arbitrary esXAI token transfers. V2 staking through this contract is currently set to true.\n```\n\n```diff\n+ Status: CREATED\n contract XaiFundsReiceiverMultisig (0xFCF7248C495d6fd3641eE43F861c48Ebe402c878)\n +++ description: The designated fundsReceiver in the NodeLicenseRegistry. Receives all ETH from 'Sentry Node License' mints.\n```\n\n```diff\n+ Status: CREATED\n contract SentryReferee (0xfD41041180571C5D371BEA3D9550E55653671198)\n +++ description: The referee contract manages the Xai Sentry protocol. Sentry nodes that are tasked to watch the state transitions on Xai receive esXAI rewards for their service. These watchers participate in a game with a central 'challenger' by posting their assertions to make sure they are actually watching. In case of a malicious state transition, sentries are supposed to raise an alarm offchain. The referee contract is also a whitelisted address in the esXAI token contract, which allows it to initiate arbitrary esXAI token transfers. New staking through this contract is disabled in favor of the new v2 staking. V1 Stakers can continue to get staking rewards here or withdraw/migrate their assets.\n```"
}
]
},
{
"id": "d559a27d",
"date": "Mon, 07 Jul 2025 08:09:21 GMT",
"timestamp": 1751875761,
"description": "remove one DAC member.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerInbox (0x995a9d3ca121D48d21087eDE20bc8acb2398c8B1) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.dacKeyset.requiredSignatures:\n- 4\n+ 3\n values.dacKeyset.membersCount:\n- 6\n+ 5\n values.dacKeyset.blsSignatures.3:\n- \"YBWhdxIOTQsrGcRQF8bHAEauHwl6F64farjSibsWDNPgplumU8MFRPn6X0jtBBMR1hH/aXso0ftQEI0edQVEB5dJkB4gymdhxq6hFCbYZpxsb8Ipr4lJe05WNmJRX1VeTRIu9WaeVLZlm+RMtvSuzbXXKJyNUnSZ420JaMKyR8Wt9M05nFZ832+eqer4eOtKDBX6gPBzdbUG+WRYdQlvFMkH/Nwo7LyKlHx231VIXKEIeuYXBmMxdtd0++QT7wi7PRN1XLjxGC8osyHYh3rksjBjG6urtgt4b/tVWyNevNaHT5YuO5MBPMMoQFgUqeV6dQiU3v2aXCwnnInTCjEvNbI5PUdwOosJi8JcdY7N1Vpm9jn8Gm89pCdwc8avTGWU5A==\"\n values.keySetUpdates:\n- 7\n+ 8\n }\n```"
}
]
},
{
"id": "40d3b984",
"date": "Wed, 18 Jun 2025 11:57:04 GMT",
"timestamp": 1750247824,
"description": "late upgrade to standard orbit implementations.",
"isHighSeverity": true,
"changeCount": 26,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Bridge (0x7dd8A76bdAeBE3BBBaCD7Aa87f1D4FDa1E60f94f) {\n +++ description: Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n sourceHashes.1:\n- \"0x057de68a7007d55f4394ba6eafb2c802efcaf13583ff9342ea4d0ee3924d9be1\"\n+ \"0xa7e3f6c355703ed46fcb2156862c4f01792b87beb10a87a81ce3bd5beee79b67\"\n sourceHashes.0:\n- \"0xa7e3f6c355703ed46fcb2156862c4f01792b87beb10a87a81ce3bd5beee79b67\"\n+ \"0x32c73666d391a33c17183e4ab20bcb0f2b925d8a99da436d2ff99c13f403e289\"\n values.$implementation:\n- \"0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC\"\n+ \"0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd\"\n values.$pastUpgrades.1:\n+ [\"2025-06-17T16:35:24.000Z\",\"0x0bffc86532a4516d20f749152de577c8277edfd4c6aa9be23d51a1ef5d39b3e4\",[\"0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.nativeTokenDecimals:\n+ 18\n implementationNames.0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC:\n- \"ERC20Bridge\"\n implementationNames.0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd:\n+ \"ERC20Bridge\"\n }\n```\n\n```diff\n contract SequencerInbox (0x995a9d3ca121D48d21087eDE20bc8acb2398c8B1) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.0:\n- \"0x50cf57b01499408fa99da27cf0fee96ec30f0d40667d1aa090c442bc80f0636b\"\n+ \"0x6bb86ac4bd0d31e049f543fcf0a8f94c952252222f115246ef9d5b8104d803cc\"\n values.$implementation:\n- \"0x7a299aD29499736994Aa3a9aFa3f476445FAEB2c\"\n+ \"0x7be08B013de2b23a6329De51C4994f841dcE1a10\"\n values.$pastUpgrades.2:\n+ [\"2024-01-03T19:16:11.000Z\",\"0xcefe7ebaac7f573d70560f840c228fd589c04b9f6fbcfc85a9bf28b8d96d89e5\",[\"0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F\"]]\n values.$pastUpgrades.1.2:\n- \"2024-01-03T19:16:11.000Z\"\n+ [\"0x7be08B013de2b23a6329De51C4994f841dcE1a10\"]\n values.$pastUpgrades.1.1:\n- \"0xcefe7ebaac7f573d70560f840c228fd589c04b9f6fbcfc85a9bf28b8d96d89e5\"\n+ \"2025-06-17T16:35:24.000Z\"\n values.$pastUpgrades.1.0:\n- [\"0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F\"]\n+ \"0x0bffc86532a4516d20f749152de577c8277edfd4c6aa9be23d51a1ef5d39b3e4\"\n values.$upgradeCount:\n- 2\n+ 3\n implementationNames.0x7a299aD29499736994Aa3a9aFa3f476445FAEB2c:\n- \"SequencerInbox\"\n implementationNames.0x7be08B013de2b23a6329De51C4994f841dcE1a10:\n+ \"SequencerInbox\"\n }\n```\n\n```diff\n contract Inbox (0xaE21fDA3de92dE2FDAF606233b2863782Ba046F9) {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n sourceHashes.0:\n- \"0xcb390b491549387c8fcc09fb22fbea7adf54cc74b7247a0c738369ddd7049b92\"\n+ \"0x25984fdfffb8141859c99299fb29e7a7460732d77111e5fe23792baa99f336a3\"\n values.$implementation:\n- \"0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab\"\n+ \"0xD87f160f8c414d834cBDd9477c3D8c3ad1802255\"\n values.$pastUpgrades.1:\n+ [\"2024-01-03T19:16:11.000Z\",\"0xcefe7ebaac7f573d70560f840c228fd589c04b9f6fbcfc85a9bf28b8d96d89e5\",[\"0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab\"]]\n values.$pastUpgrades.0.2:\n- [\"0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab\"]\n+ \"2025-06-17T16:35:24.000Z\"\n values.$pastUpgrades.0.1:\n- \"2024-01-03T19:16:11.000Z\"\n+ [\"0xD87f160f8c414d834cBDd9477c3D8c3ad1802255\"]\n values.$pastUpgrades.0.0:\n- \"0xcefe7ebaac7f573d70560f840c228fd589c04b9f6fbcfc85a9bf28b8d96d89e5\"\n+ \"0x0bffc86532a4516d20f749152de577c8277edfd4c6aa9be23d51a1ef5d39b3e4\"\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab:\n- \"ERC20Inbox\"\n implementationNames.0xD87f160f8c414d834cBDd9477c3D8c3ad1802255:\n+ \"ERC20Inbox\"\n }\n```"
}
]
},
{
"id": "59e445b6",
"date": "Wed, 14 May 2025 14:56:11 GMT",
"timestamp": 1747234571,
"description": "MS member changes.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract XaiFundsReiceiverMultisig (0xFCF7248C495d6fd3641eE43F861c48Ebe402c878) {\n +++ description: The designated fundsReceiver in the NodeLicenseRegistry. Receives all ETH from 'Sentry Node License' mints.\n values.$members.2:\n- \"0xE529a3271f9CC84B1FE9107ab4764a8dF177782a\"\n+ \"0x739bd9Ed651d200dc84d0b0dF444CA47CBFf520f\"\n values.$members.1:\n- \"0x90D77E3a3B660E54E04cD622937765d2375FB2e3\"\n+ \"0xE529a3271f9CC84B1FE9107ab4764a8dF177782a\"\n values.$members.0:\n- \"0x807daF80b03Fd3C2709FFe0AeBEED617BC0a347c\"\n+ \"0x90D77E3a3B660E54E04cD622937765d2375FB2e3\"\n }\n```"
}
]
},
{
"id": "48bd2263",
"date": "Wed, 09 Apr 2025 13:48:32 GMT",
"timestamp": 1744206512,
"description": "MS signer change.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract XaiFundsReiceiverMultisig (0xFCF7248C495d6fd3641eE43F861c48Ebe402c878) {\n +++ description: The designated fundsReceiver in the NodeLicenseRegistry. Receives all ETH from 'Sentry Node License' mints.\n values.$members.6:\n- \"0xbBE90F6748C82623F130A4486722a436c5a72440\"\n values.$members.5:\n- \"0xfc6F0d26f817Bd31AeD0e8922575d1fb8bD7A894\"\n+ \"0xbBE90F6748C82623F130A4486722a436c5a72440\"\n values.$members.4:\n- \"0xd427165292B2E39cdac102eD963B14fFBACc964a\"\n+ \"0xfc6F0d26f817Bd31AeD0e8922575d1fb8bD7A894\"\n values.multisigThreshold:\n- \"3 of 7 (43%)\"\n+ \"3 of 6 (50%)\"\n }\n```"
}
]
},
{
"id": "cedfd169",
"date": "Sun, 06 Apr 2025 08:12:50 GMT",
"timestamp": 1743927170,
"description": "SentryReferee reinitialized, staking config changed. No other changes.",
"isHighSeverity": true,
"changeCount": 35,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SentryReferee (0xfD41041180571C5D371BEA3D9550E55653671198) {\n +++ description: The referee contract manages the Xai Sentry protocol. Sentry nodes that are tasked to watch the state transitions on Xai receive esXAI rewards for their service. These watchers participate in a game with a central 'challenger' by posting their assertions to make sure they are actually watching. In case of a malicious state transition, sentries are supposed to raise an alarm offchain. The referee contract is also a whitelisted address in the esXAI token contract, which allows it to initiate arbitrary esXAI token transfers. New staking through this contract is disabled in favor of the new v2 staking. V1 Stakers can continue to get staking rewards here or withdraw/migrate their assets.\n sourceHashes.1:\n- \"0x3b80a9109759df060ce4e99dc21f4421975553bf75760dafe4c4106046fba1c1\"\n+ \"0x36a2777510f3b20063560bdcb7f657da283bcfdc484a19b0a0f77d18f6a8b5e1\"\n sourceHashes.0:\n- \"0x36a2777510f3b20063560bdcb7f657da283bcfdc484a19b0a0f77d18f6a8b5e1\"\n+ \"0xdb0dddc62ca62ff610412f44a998e8b66f885df3929e824594d86c4b37e9aedc\"\n values.$implementation:\n- \"0x206Cd481aB724ab2f9931bBdDFFa11fF07eB6C97\"\n+ \"0x9e3e14576EBd9595eFB0d71aA9Ff51a6DC621bAF\"\n values.$pastUpgrades.19:\n+ [\"2024-12-10T15:27:05.000Z\",\"0x7de66eae5bdbc8b25d8c61bc496b8022ca928b709de3dd72e7de1951fab33ecd\",[\"0x119B21e962B6C5e57340a3CCeCFC3a90385A70dC\"]]\n values.$pastUpgrades.18.2:\n- [\"0x119B21e962B6C5e57340a3CCeCFC3a90385A70dC\"]\n+ \"0xd22a7b97d2044a20b20a8105857d435ba98254e2a147c0890140ffe3fc55ebdf\"\n values.$pastUpgrades.18.1:\n- \"0x7de66eae5bdbc8b25d8c61bc496b8022ca928b709de3dd72e7de1951fab33ecd\"\n+ [\"0x29A7b907FdF4a9235F46d891b7Aa1e7d3D35A3b6\"]\n values.$pastUpgrades.18.0:\n- \"2024-12-10T15:27:05.000Z\"\n+ \"2023-12-05T18:33:46.000Z\"\n values.$pastUpgrades.17.2:\n- \"0xd22a7b97d2044a20b20a8105857d435ba98254e2a147c0890140ffe3fc55ebdf\"\n+ \"2024-06-07T17:57:03.000Z\"\n values.$pastUpgrades.17.1.0:\n- \"0x29A7b907FdF4a9235F46d891b7Aa1e7d3D35A3b6\"\n+ \"0x609152cb742916E0F7FBC4391Be750C458b049fe\"\n values.$pastUpgrades.17.0:\n- \"2023-12-05T18:33:46.000Z\"\n+ \"0xb9e3b5041f4683bafc0939b4a657467a6f545194ef17d3ba6980093138e3a6e5\"\n values.$pastUpgrades.16.2:\n- \"2024-06-07T17:57:03.000Z\"\n+ \"2024-10-29T18:27:08.000Z\"\n values.$pastUpgrades.16.1.0:\n- \"0x609152cb742916E0F7FBC4391Be750C458b049fe\"\n+ \"0xfCa2657FC4456Ac256A78A31aAB1128F5e1d2D40\"\n values.$pastUpgrades.16.0:\n- \"0xb9e3b5041f4683bafc0939b4a657467a6f545194ef17d3ba6980093138e3a6e5\"\n+ \"0x526befebd96c284baeeb94980c3561d88cc1ba40fb12c1c8b8db78b29b18ce20\"\n values.$pastUpgrades.15.2:\n- \"2024-10-29T18:27:08.000Z\"\n+ \"0x4d3a599492e7d982a2554108bec654ca4447f767aacb70e58407bf1056b1ed3f\"\n values.$pastUpgrades.15.1:\n- [\"0xfCa2657FC4456Ac256A78A31aAB1128F5e1d2D40\"]\n+ \"2025-01-24T15:31:45.000Z\"\n values.$pastUpgrades.15.0:\n- \"0x526befebd96c284baeeb94980c3561d88cc1ba40fb12c1c8b8db78b29b18ce20\"\n+ [\"0x4F18941fE5bE7a54318989b2C42648914dCe47C4\"]\n values.$pastUpgrades.14.2:\n- \"0x4d3a599492e7d982a2554108bec654ca4447f767aacb70e58407bf1056b1ed3f\"\n+ \"2025-01-24T16:10:34.000Z\"\n values.$pastUpgrades.14.1:\n- \"2025-01-24T15:31:45.000Z\"\n+ \"0x0ea3848ffb8f1e5de41e688a5ede3772e8151ecdfd415c7517e69d38f4d27166\"\n values.$pastUpgrades.14.0.0:\n- \"0x4F18941fE5bE7a54318989b2C42648914dCe47C4\"\n+ \"0x206Cd481aB724ab2f9931bBdDFFa11fF07eB6C97\"\n values.$pastUpgrades.13.2:\n- \"2025-01-24T16:10:34.000Z\"\n+ \"0x58b76b23b8bb0f3ba0bf4d2807f545b1838c527e3a71d18fe2369ee7bf6c12ca\"\n values.$pastUpgrades.13.1:\n- \"0x0ea3848ffb8f1e5de41e688a5ede3772e8151ecdfd415c7517e69d38f4d27166\"\n+ [\"0x1f122B41D6740F5dE2Df93b8b00013e84227955e\"]\n values.$pastUpgrades.13.0:\n- [\"0x206Cd481aB724ab2f9931bBdDFFa11fF07eB6C97\"]\n+ \"2024-12-13T00:36:38.000Z\"\n values.$pastUpgrades.12.2:\n- \"0x58b76b23b8bb0f3ba0bf4d2807f545b1838c527e3a71d18fe2369ee7bf6c12ca\"\n+ \"0x41eec03f04ad675911734c1573ae8d6766bac712ea20c38d1ea7057d6ee8098b\"\n values.$pastUpgrades.12.1:\n- [\"0x1f122B41D6740F5dE2Df93b8b00013e84227955e\"]\n+ \"2025-01-24T15:07:28.000Z\"\n values.$pastUpgrades.12.0:\n- \"2024-12-13T00:36:38.000Z\"\n+ [\"0x4F18941fE5bE7a54318989b2C42648914dCe47C4\"]\n values.$pastUpgrades.11.2:\n- \"0x41eec03f04ad675911734c1573ae8d6766bac712ea20c38d1ea7057d6ee8098b\"\n+ \"0x0f58dca431e80fdf25bbdf67f072395d9ab4901e11b4c9d1334b228d9c92b60c\"\n values.$pastUpgrades.11.1:\n- \"2025-01-24T15:07:28.000Z\"\n+ \"2025-04-03T19:32:59.000Z\"\n values.$pastUpgrades.11.0.0:\n- \"0x4F18941fE5bE7a54318989b2C42648914dCe47C4\"\n+ \"0x9e3e14576EBd9595eFB0d71aA9Ff51a6DC621bAF\"\n values.$upgradeCount:\n- 19\n+ 20\n values.maxKeysPerPool:\n- 100000\n+ 131872\n values.maxStakeAmountPerLicense:\n- \"200000000000000000000\"\n+ \"227000000000000000000\"\n values.stakeAmountTierThresholds.3:\n- \"30000000000000000000000\"\n+ \"6000000000000000000000000\"\n values.stakeAmountTierThresholds.2:\n- \"8000000000000000000000000\"\n+ \"12000000000000000000000000\"\n values.stakeAmountTierThresholds.1:\n- \"4000000000000000000000000\"\n+ \"3000000000000000000000000\"\n values.stakeAmountTierThresholds.0:\n- \"2000000000000000000000000\"\n+ \"450000000000000000000000\"\n }\n```"
}
]
},
{
"id": "852cf2b9",
"date": "Mon, 27 Jan 2025 13:16:01 GMT",
"timestamp": 1737983761,
"description": "Sentry infra upgrade No 17: Minor changes to how permissioned addresses can transfer (staked) node license keys.",
"isHighSeverity": true,
"changeCount": 26,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract NodeLicenseRegistry (0xbc14d8563b248B79689ECbc43bBa53290e0b6b66) {\n +++ description: This is the contract where Xai Sentry Keys for running a sentry node are minted.\n sourceHashes.1:\n- \"0xa5bceee1502b9b30ff5e8cf1acb16d0196637dd53d375860c3bec1fae2701c7f\"\n+ \"0xd57a1c31847923aab8fde5350591529c8c1087dcf26a2f3c0eed7017cb0bd9aa\"\n values.$implementation:\n- \"0xe72b004FCa3A05251c6C8d1BF1482B9308876c7f\"\n+ \"0x249b8A8AF9152A08Ba3cF3E106962566E8343fB6\"\n values.$pastUpgrades.16:\n+ [\"2025-01-24T16:14:51.000Z\",\"0x8b0eeb52fc85a07634fe5b2408f0b97d395c9e6ef9707e7e13db5e6e73f45f4a\",[\"0x249b8A8AF9152A08Ba3cF3E106962566E8343fB6\"]]\n values.$pastUpgrades.15:\n+ [\"2025-01-24T15:46:46.000Z\",\"0x3112b63199a312c047fa30fc3edee4e9e95209b9cd93cf6d947fefd45fc33995\",[\"0xe72b004FCa3A05251c6C8d1BF1482B9308876c7f\"]]\n values.$pastUpgrades.14:\n+ [\"2025-01-24T15:31:49.000Z\",\"0xa3fbb4e461026eb346c5ac9650d8f9b56db4383ecebc15f9fde0a5440b011710\",[\"0xe72b004FCa3A05251c6C8d1BF1482B9308876c7f\"]]\n values.$pastUpgrades.13:\n+ [\"2025-01-24T15:24:17.000Z\",\"0xb08517cbb3644011a4a1926eb549db2944720643bf9ab8dfd2d3356aafb41a07\",[\"0xe72b004FCa3A05251c6C8d1BF1482B9308876c7f\"]]\n values.$pastUpgrades.12:\n+ [\"2025-01-24T15:07:38.000Z\",\"0x025a28d701b30dbf6fc0ca576181c2ecc3cfb30d5205532aadd550d10f535717\",[\"0xe72b004FCa3A05251c6C8d1BF1482B9308876c7f\"]]\n values.$upgradeCount:\n- 12\n+ 17\n derivedName:\n- \"NodeLicense9\"\n+ \"NodeLicense10\"\n }\n```\n\n```diff\n contract PoolFactory (0xF9E08660223E2dbb1c0b28c82942aB6B5E38b8E5) {\n +++ description: The PoolFactory allows creating and managing staking pools for V2 staking. Users can stake esXAI (and / or Sentry Keys) in pools. This contract's address is whitelisted in the esXAI token contract, which allows it to initiate arbitrary esXAI token transfers. V2 staking through this contract is currently set to true.\n sourceHashes.1:\n- \"0x6b20ddf2a4ea9bb1615fb08c76f1f2f98b13ead97bc452a3840e59119c8abee1\"\n+ \"0xb7442a555bc7fc85b30ed13ce21e18806035a14f3365977cd18286d5d7f808f1\"\n values.$implementation:\n- \"0x2095FE5CEDBE22Afc2174daC57cB6831954A560D\"\n+ \"0xf7f1F9d67a46452da30d4125Ff39ED216e975E24\"\n values.$pastUpgrades.4:\n+ [\"2025-01-24T16:15:00.000Z\",\"0xa80c27748c9137241e6b9591876c5e707cb35cd6caede27039fb117513be6371\",[\"0xf7f1F9d67a46452da30d4125Ff39ED216e975E24\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.xaiVotingAddress:\n+ \"0x9d9c7d3C7ffe27b8F7b7e6d80AaDeFEC12453A21\"\n derivedName:\n- \"PoolFactory2\"\n+ \"PoolFactory3\"\n }\n```\n\n```diff\n contract SentryReferee (0xfD41041180571C5D371BEA3D9550E55653671198) {\n +++ description: The referee contract manages the Xai Sentry protocol. Sentry nodes that are tasked to watch the state transitions on Xai receive esXAI rewards for their service. These watchers participate in a game with a central 'challenger' by posting their assertions to make sure they are actually watching. In case of a malicious state transition, sentries are supposed to raise an alarm offchain. The referee contract is also a whitelisted address in the esXAI token contract, which allows it to initiate arbitrary esXAI token transfers. New staking through this contract is disabled in favor of the new v2 staking. V1 Stakers can continue to get staking rewards here or withdraw/migrate their assets.\n sourceHashes.1:\n- \"0xc8757a87d8b14b9a5c61b8130720860918aaa5843442a0b6bf6307c3a7353c32\"\n+ \"0x3b80a9109759df060ce4e99dc21f4421975553bf75760dafe4c4106046fba1c1\"\n values.$implementation:\n- \"0x4F18941fE5bE7a54318989b2C42648914dCe47C4\"\n+ \"0x206Cd481aB724ab2f9931bBdDFFa11fF07eB6C97\"\n values.$pastUpgrades.18:\n+ [\"2025-01-24T16:10:34.000Z\",\"0x0ea3848ffb8f1e5de41e688a5ede3772e8151ecdfd415c7517e69d38f4d27166\",[\"0x206Cd481aB724ab2f9931bBdDFFa11fF07eB6C97\"]]\n values.$pastUpgrades.17:\n+ [\"2025-01-24T16:02:20.000Z\",\"0x2d6a11cbf1bc416dd2ff21b2b9e803c0c5289268540c847d178b85f7be33ddbd\",[\"0x4F18941fE5bE7a54318989b2C42648914dCe47C4\"]]\n values.$pastUpgrades.16:\n+ [\"2025-01-24T15:52:10.000Z\",\"0xddc24c8d248d8b36496c8e9349e971c1e66d13587c13f92d34d6d6716e78cd16\",[\"0x4F18941fE5bE7a54318989b2C42648914dCe47C4\"]]\n values.$pastUpgrades.15:\n+ [\"2025-01-24T15:46:43.000Z\",\"0x692de1bd88655fadaa1f09626dcfccffd1bacacfdcb224c1c3d68e52e95032e6\",[\"0x4F18941fE5bE7a54318989b2C42648914dCe47C4\"]]\n values.$pastUpgrades.14:\n+ [\"2025-01-24T15:31:45.000Z\",\"0x4d3a599492e7d982a2554108bec654ca4447f767aacb70e58407bf1056b1ed3f\",[\"0x4F18941fE5bE7a54318989b2C42648914dCe47C4\"]]\n values.$pastUpgrades.13:\n+ [\"2025-01-24T15:24:10.000Z\",\"0x42dfaba49eb879651685f113a24f6ddc0e914579c7d05ab905a1815860e0d529\",[\"0x4F18941fE5bE7a54318989b2C42648914dCe47C4\"]]\n values.$pastUpgrades.12:\n+ [\"2025-01-24T15:07:28.000Z\",\"0x41eec03f04ad675911734c1573ae8d6766bac712ea20c38d1ea7057d6ee8098b\",[\"0x4F18941fE5bE7a54318989b2C42648914dCe47C4\"]]\n values.$upgradeCount:\n- 12\n+ 19\n derivedName:\n- \"Referee10\"\n+ \"Referee11\"\n }\n```"
}
]
},
{
"id": "a6629691",
"date": "Wed, 15 Jan 2025 14:09:15 GMT",
"timestamp": 1736950155,
"description": "DAC Keyset and vali updates.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerInbox (0x995a9d3ca121D48d21087eDE20bc8acb2398c8B1) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.dacKeyset.requiredSignatures:\n- 5\n+ 4\n values.dacKeyset.membersCount:\n- 7\n+ 6\n values.dacKeyset.blsSignatures.6:\n- \"YBHz50DGYvPi02ynzcvcJS9K2nhXWKKSIZdDtXqxxoD3a1s2Fh2he79bMUWZ6M6qEhHM52HZr3l5jLoU4kOTBN+Q87yo0ljgZJYaphdYrHb+jabsPUcR+xdauJKAoKSkjQz8BWC9b2QZ3F7LK+Ro3cpWgkHR9SQlt86mk+eM71AWRl3ybwlRaxwAzYwOd9TRkQYARTY8fjvRmhChCY5lz7FtY0ttPrbJ3Mc2VXy5r0yyIoNFAQjg/jMNoablUOOIZRn+4KGLBQSPKcnl/Nv/0ZNdT563sLPj6mP3qLPlvwAhFpI5vIhSpGdpgJ8n8Ns3uxJyYsPD8qaHQciNLNTzYWGEze40CPMkxEeGRqi8yRoK8iuK5kse/+kqhBOyR3NVJg==\"\n values.dacKeyset.blsSignatures.5:\n- \"YA+ljLY01rxIncmXWl8bIZduwLObm0LKJIjzdyXjzH5FLN4Y+sUF2zjvF07aUPHOyADiV0y/+ztNO/iTpKLCVUzPzRHTtsukZaE3SUY+IIYU6NvUYdMXfhcKnHH3VU+iVRaSfiK2hw7OCfsge8AQcucdNlgaHSrdvlDmzAIx7jsemsLh8ov5dpywIVkWWZGY6wIwVh2/zUWBMZ4O3V3OYWppRttXZr2ukmwIDU5hQ4qtKRKemHaHSgb18QTuUsowMhkLwx2eW5hMOIYyzLV+NyUTyaQhkD0EtYISRBhHM7RinbP9LQWbLm0dnueZ9O3AkwnbH8w6/h3jkshPZx8hqJ6QH33SwbML1KIvOTEFvgBs7dnj9gbcfMq+17Bu3/YkWw==\"\n+ \"YBHz50DGYvPi02ynzcvcJS9K2nhXWKKSIZdDtXqxxoD3a1s2Fh2he79bMUWZ6M6qEhHM52HZr3l5jLoU4kOTBN+Q87yo0ljgZJYaphdYrHb+jabsPUcR+xdauJKAoKSkjQz8BWC9b2QZ3F7LK+Ro3cpWgkHR9SQlt86mk+eM71AWRl3ybwlRaxwAzYwOd9TRkQYARTY8fjvRmhChCY5lz7FtY0ttPrbJ3Mc2VXy5r0yyIoNFAQjg/jMNoablUOOIZRn+4KGLBQSPKcnl/Nv/0ZNdT563sLPj6mP3qLPlvwAhFpI5vIhSpGdpgJ8n8Ns3uxJyYsPD8qaHQciNLNTzYWGEze40CPMkxEeGRqi8yRoK8iuK5kse/+kqhBOyR3NVJg==\"\n values.dacKeyset.blsSignatures.4:\n- \"YBWhdxIOTQsrGcRQF8bHAEauHwl6F64farjSibsWDNPgplumU8MFRPn6X0jtBBMR1hH/aXso0ftQEI0edQVEB5dJkB4gymdhxq6hFCbYZpxsb8Ipr4lJe05WNmJRX1VeTRIu9WaeVLZlm+RMtvSuzbXXKJyNUnSZ420JaMKyR8Wt9M05nFZ832+eqer4eOtKDBX6gPBzdbUG+WRYdQlvFMkH/Nwo7LyKlHx231VIXKEIeuYXBmMxdtd0++QT7wi7PRN1XLjxGC8osyHYh3rksjBjG6urtgt4b/tVWyNevNaHT5YuO5MBPMMoQFgUqeV6dQiU3v2aXCwnnInTCjEvNbI5PUdwOosJi8JcdY7N1Vpm9jn8Gm89pCdwc8avTGWU5A==\"\n+ \"YA+ljLY01rxIncmXWl8bIZduwLObm0LKJIjzdyXjzH5FLN4Y+sUF2zjvF07aUPHOyADiV0y/+ztNO/iTpKLCVUzPzRHTtsukZaE3SUY+IIYU6NvUYdMXfhcKnHH3VU+iVRaSfiK2hw7OCfsge8AQcucdNlgaHSrdvlDmzAIx7jsemsLh8ov5dpywIVkWWZGY6wIwVh2/zUWBMZ4O3V3OYWppRttXZr2ukmwIDU5hQ4qtKRKemHaHSgb18QTuUsowMhkLwx2eW5hMOIYyzLV+NyUTyaQhkD0EtYISRBhHM7RinbP9LQWbLm0dnueZ9O3AkwnbH8w6/h3jkshPZx8hqJ6QH33SwbML1KIvOTEFvgBs7dnj9gbcfMq+17Bu3/YkWw==\"\n values.dacKeyset.blsSignatures.3:\n- \"YAX5RGkb2ssH+fb3F+MTg0p+7jF3Le5BT8W/hIR7iSsgHvN2l435zpiSVuqOZNaIaQ/wyuGPur4m2hoiJ1d0J+r/VvbEYQGFCxPe6oi5JzIuAb/QlRA9lT+B1Rup8HKhcAAnSGaIowju3bSosv0LG04H0NlZOSRdJSFOIBA3WyfiK1867Nju+ZqfWF/TLUvR4AnIz2uNkZ7TzuIiA6mQnDHvpKSKsAUvhhAovG8Y8TI0iC1W/LSX1G9VVqFBeI2k1gDX3vzit2yN2PjskBfh5+N6bsIRSECZPRXBqskekNytvRlFveesFOwpXOmiyRPmFAwaYLtsQtSVjz94Ev5rabPQim7x1y9s6AEtV/Q/ggRU7/lTha1SVmMCRdYWWu3Igg==\"\n+ \"YBWhdxIOTQsrGcRQF8bHAEauHwl6F64farjSibsWDNPgplumU8MFRPn6X0jtBBMR1hH/aXso0ftQEI0edQVEB5dJkB4gymdhxq6hFCbYZpxsb8Ipr4lJe05WNmJRX1VeTRIu9WaeVLZlm+RMtvSuzbXXKJyNUnSZ420JaMKyR8Wt9M05nFZ832+eqer4eOtKDBX6gPBzdbUG+WRYdQlvFMkH/Nwo7LyKlHx231VIXKEIeuYXBmMxdtd0++QT7wi7PRN1XLjxGC8osyHYh3rksjBjG6urtgt4b/tVWyNevNaHT5YuO5MBPMMoQFgUqeV6dQiU3v2aXCwnnInTCjEvNbI5PUdwOosJi8JcdY7N1Vpm9jn8Gm89pCdwc8avTGWU5A==\"\n values.dacKeyset.blsSignatures.2:\n- \"YAKvb8hRiZPIAext4QCk7ngBMmDVkAcQoAqc/BSXtU7/gUDohCF6RI29uc5OlOXIIhifqDOAe+RIDnUrkMJuXKM3f+21bngw9rgjuSoGfaXfqLffFlR3eIQs0QY0XQeG0RKYArEpJ/D/hOt7YPOddAXGn62x4ryWuyqt5mkyyWzfGrncElFsqT6Ni+hAjwjDOABlbMG6rvSrm6uyznjdL233pYO0DTe8S95wgYOcGLP8xSDHlN341schNnHTQyJAcxddkM3BEocKI7ymH9PNp12Ax5Y5SVZEXKkLFAECOwihaMjjH0brzYxdGbaPEEAgDQQbx8bvW09h5AnTEXPrz6oYWFRep/drK92rK9LtDM8NgnjzMLv+AeSd93X1DmZPpA==\"\n+ \"YAX5RGkb2ssH+fb3F+MTg0p+7jF3Le5BT8W/hIR7iSsgHvN2l435zpiSVuqOZNaIaQ/wyuGPur4m2hoiJ1d0J+r/VvbEYQGFCxPe6oi5JzIuAb/QlRA9lT+B1Rup8HKhcAAnSGaIowju3bSosv0LG04H0NlZOSRdJSFOIBA3WyfiK1867Nju+ZqfWF/TLUvR4AnIz2uNkZ7TzuIiA6mQnDHvpKSKsAUvhhAovG8Y8TI0iC1W/LSX1G9VVqFBeI2k1gDX3vzit2yN2PjskBfh5+N6bsIRSECZPRXBqskekNytvRlFveesFOwpXOmiyRPmFAwaYLtsQtSVjz94Ev5rabPQim7x1y9s6AEtV/Q/ggRU7/lTha1SVmMCRdYWWu3Igg==\"\n values.keySetUpdates:\n- 6\n+ 7\n }\n```\n\n```diff\n contract RollupProxy (0xC47DacFbAa80Bd9D8112F4e8069482c2A3221336) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n issuedPermissions.3:\n+ {\"permission\":\"validate\",\"target\":\"0x25EA41f0bDa921a0eBf48291961B1F10b59BC6b8\",\"via\":[]}\n issuedPermissions.2.target:\n- \"0x25EA41f0bDa921a0eBf48291961B1F10b59BC6b8\"\n+ \"0x0C2EbD821c68EC405Fb425596486F5b0f6dFff53\"\n+++ description: Increments on each Validator change.\n values.setValidatorCount:\n- 1\n+ 2\n values.validators.1:\n+ \"0x25EA41f0bDa921a0eBf48291961B1F10b59BC6b8\"\n values.validators.0:\n- \"0x25EA41f0bDa921a0eBf48291961B1F10b59BC6b8\"\n+ \"0x0C2EbD821c68EC405Fb425596486F5b0f6dFff53\"\n }\n```"
}
]
},
{
"id": "a7d48958",
"date": "Wed, 18 Dec 2024 12:17:32 GMT",
"timestamp": 1734524252,
"description": "Upgrade to known ArbOS v32 contracts, unused fastConfirmer (would be orthogonal to the sentry system).\n\nMultiple upgrades of the sentry node- and staking related infra contracts without major changes: Minting sentry keys is re-enabled and can be done with other currencies than ETH. 'promo-codes' and referral rewards are included in the SC logic.",
"isHighSeverity": true,
"changeCount": 68,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract UpgradeExecutor (0x0EE7AD3Cc291343C9952fFd8844e86d294fa513F) {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n directlyReceivedPermissions.1.description:\n- \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability and DACs, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n+ \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n }\n```\n\n```diff\n contract ChallengeManager (0x3a3f62034a42a35eA1686B199bB73006aa525eE4) {\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n sourceHashes.1:\n- \"0x58a6261c83c2766f749641902ad6fdb695ea189d2747f073b57a8f35b9a547e5\"\n+ \"0x1a095768302d7d1c3d02375eaa3341833b4f1aaac707e1c608bce478c87cbf27\"\n values.$implementation:\n- \"0x5cA988F213EfbCB86ED7e2AACB0C15c91e648f8d\"\n+ \"0x5AA806015FEC88669bF7DAd746BB4ADC1E79BcED\"\n values.$pastUpgrades.2:\n+ [\"2024-12-16T20:39:05.000Z\",\"0x1621d4d8758255b5b5ac8feb35fd9358c768eb27f61784ff0db9dbb54a6e268f\",[\"0x5AA806015FEC88669bF7DAd746BB4ADC1E79BcED\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.osp:\n- \"0xb20107bfB36D3B5AcA534aCAfbd8857b10b402a8\"\n+ \"0xD89d54007079071cBA859127318b9F34eeB78049\"\n }\n```\n\n```diff\n contract XaiMultisig (0x4972A8EF186Ee42A14Cdd3c47f52ec06a6dc495E) {\n +++ description: None\n receivedPermissions.0.description:\n- \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability and DACs, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n+ \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMemory (0x526a6E634aD36bB0007c4422586c135F1F9B525a)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProver0 (0x800dA62bE6626127F71B34E795286C34C04D6712)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProofEntry (0xb20107bfB36D3B5AcA534aCAfbd8857b10b402a8)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract NodeLicenseRegistry (0xbc14d8563b248B79689ECbc43bBa53290e0b6b66) {\n +++ description: This is the contract where Xai Sentry Keys for running a sentry node are minted.\n sourceHashes.1:\n- \"0xc408ffd6d9b25f5dccbe9efa0caca71b711c95f903420227c41605fc4672a46c\"\n+ \"0xa5bceee1502b9b30ff5e8cf1acb16d0196637dd53d375860c3bec1fae2701c7f\"\n values.$implementation:\n- \"0xE6E5356423516C9b75d4Dfb1fCa3973c5B695be8\"\n+ \"0xe72b004FCa3A05251c6C8d1BF1482B9308876c7f\"\n values.$pastUpgrades.11:\n+ [\"2024-12-14T01:58:28.000Z\",\"0x243eb3ec2ccf3d1d472d5a49df0f738f93262df905c8868a72dc4066546b4a2c\",[\"0xe72b004FCa3A05251c6C8d1BF1482B9308876c7f\"]]\n values.$pastUpgrades.10:\n+ [\"2024-12-13T01:28:49.000Z\",\"0x2076fd7a582c2de1357c834161c5e856568af154e7101ede7f363eab012df090\",[\"0x14e6e53dc0E4d0d02644a96F4bC1798A7876db49\"]]\n values.$pastUpgrades.9:\n+ [\"2024-12-10T15:27:38.000Z\",\"0x2b7d573f6a4f5b1d188483697b9767e34ea3e2dcf6e534785bb2b764a4de2428\",[\"0xC6BccA5297Cd4511250E2D3241bEd586631E2aA0\"]]\n values.$upgradeCount:\n- 9\n+ 12\n values.maxSupply:\n- 50000\n+ 5000000\n values.ADMIN_MINT_ROLE:\n+ \"0x507caaa5b2a5a027bc340a5334d9220583b7d60d846ee2aabc76e37d69a7253b\"\n values.AIRDROP_ADMIN_ROLE:\n+ \"0x786fcfa0099ab9aba15d4b2ccc7ffa9994e7c522c9b340b95e584749e47fcfb9\"\n values.esXaiAddress:\n+ \"0x4C749d097832DE2FEcc989ce18fDc5f1BD76700c\"\n values.mintingPaused:\n+ false\n values.refereeAddress:\n+ \"0xfD41041180571C5D371BEA3D9550E55653671198\"\n values.refereeCalculationsAddress:\n+ \"0xCd62360854aecf6285Fa310D69C5EBaf4Cd5e95F\"\n values.TRANSFER_ROLE:\n+ \"0x8502233096d909befbda0999bb8ea2f3a6be3c138b9fbf003752a4c8bce86f6c\"\n values.usdcAddress:\n+ \"0xaf88d065e77c8cC2239327C5EDb3A432268e5831\"\n values.xaiAddress:\n+ \"0x4Cb9a7AE498CEDcBb5EAe9f25736aE7d428C9D66\"\n derivedName:\n- \"NodeLicense7\"\n+ \"NodeLicense9\"\n }\n```\n\n```diff\n contract RollupProxy (0xC47DacFbAa80Bd9D8112F4e8069482c2A3221336) {\n +++ description: Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n template:\n- \"orbitstack/RollupProxy\"\n+ \"orbitstack/RollupProxy_fastConfirm\"\n sourceHashes.2:\n- \"0xef94a66bd5339efd18fb9ca1f8031482e7ef7bbe6c5a0a10fae254ab83712406\"\n+ \"0x7ee21b18b2e18c636bfafc08ff72692cc43302b2599ba75f0abad67282866dd5\"\n sourceHashes.1:\n- \"0x8b48118fe606012c0dcac2ccc1821785935aec89fab8f219f47b32c482b0017e\"\n+ \"0x9349e73cbc2d2b818c1d79711574ba210b56249d8d3845bc78c776caf8f8ff42\"\n issuedPermissions.0.via.0.description:\n- \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability and DACs, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n+ \"Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes.\"\n values.$implementation.1:\n- \"0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A\"\n+ \"0x1BeD37FeDFE8B2721a69A559313D2b58d16Ecd77\"\n values.$implementation.0:\n- \"0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754\"\n+ \"0xdD91f6e88576fEc4A38A518DA39C92e13CBB6446\"\n values.$pastUpgrades.1:\n+ [\"2024-12-16T20:39:05.000Z\",\"0x1621d4d8758255b5b5ac8feb35fd9358c768eb27f61784ff0db9dbb54a6e268f\",[\"0xdD91f6e88576fEc4A38A518DA39C92e13CBB6446\",\"0x1BeD37FeDFE8B2721a69A559313D2b58d16Ecd77\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v20 wasmModuleRoot\"\n+ \"ArbOS v32 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0x8b104a2e80ac6165dc58b9048de12f301d70b02a0ab51396c22b4b4b802a16a4\"\n+ \"0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39\"\n values.anyTrustFastConfirmer:\n+ \"0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverHostIo (0xc555b2F1D559Fbb854569b33640990D178F94747)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract RefereeCalculations (0xCd62360854aecf6285Fa310D69C5EBaf4Cd5e95F) {\n +++ description: None\n sourceHashes.1:\n- \"0x84fc1ee0b022c330db75d04b71a06523524388e6db61a159b2bd3b5d02bccf28\"\n+ \"0xc9c19fb4d016fe3bcc74ab045b2d6a2231e661f4d86cbb0cac0dc5d1301fb49a\"\n values.$implementation:\n- \"0x5A195953555A11d2a4b654DCa3aE4f9f19eBC3E2\"\n+ \"0x1488598b22Cc196Aa547894493BC2313a8A00C1e\"\n values.$pastUpgrades.1:\n+ [\"2024-12-10T17:38:10.000Z\",\"0x20e602e4c1899b6cb255bb9db60aebb18a0a89f0087ad8ffc50492d6e89302b7\",[\"0x1488598b22Cc196Aa547894493BC2313a8A00C1e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMath (0xe8709022B9C9D7347856c75910fe07e10C904446)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract PoolFactory (0xF9E08660223E2dbb1c0b28c82942aB6B5E38b8E5) {\n +++ description: The PoolFactory allows creating and managing staking pools for V2 staking. Users can stake esXAI (and / or Sentry Keys) in pools. This contract's address is whitelisted in the esXAI token contract, which allows it to initiate arbitrary esXAI token transfers. V2 staking through this contract is currently set to true.\n sourceHashes.1:\n- \"0x317ab76b0d59c8c31385b5239fb1bdfff324c9629c5e8d74b82808349fbb169a\"\n+ \"0x6b20ddf2a4ea9bb1615fb08c76f1f2f98b13ead97bc452a3840e59119c8abee1\"\n values.$implementation:\n- \"0x21EEC6626f15d02A8896ebB7EDD68ff3CB61e89E\"\n+ \"0x2095FE5CEDBE22Afc2174daC57cB6831954A560D\"\n values.$pastUpgrades.3:\n+ [\"2024-12-13T16:24:54.000Z\",\"0xf515093e32598c21145005613e2d1f385b8d902d4642aacb4e6caa0f799aee27\",[\"0x2095FE5CEDBE22Afc2174daC57cB6831954A560D\"]]\n values.$pastUpgrades.2:\n+ [\"2024-12-13T00:36:48.000Z\",\"0x869e99caece9b22a813fc83475c90e783b6ac2e37aa192780fcfb7491770e79d\",[\"0xec287a91Ac0b72Ba7f249c08a2c64dA317eF9715\"]]\n values.$pastUpgrades.1:\n+ [\"2024-12-10T15:27:48.000Z\",\"0x719feb67c546cad4f43b5e741590f7b2258e896049163656eccb2f598515adc4\",[\"0x5bfd44421b5E0405F8cfcc17463522AF6b9e1Ab3\"]]\n values.$upgradeCount:\n- 1\n+ 4\n values.STAKE_KEYS_ADMIN_ROLE:\n+ \"0x4744ee11e24f5fc5de82fa6dba03b134899d8fd3405c7e9a26e120c89c8d9c28\"\n derivedName:\n- \"PoolFactory\"\n+ \"PoolFactory2\"\n }\n```\n\n```diff\n contract SentryReferee (0xfD41041180571C5D371BEA3D9550E55653671198) {\n +++ description: The referee contract manages the Xai Sentry protocol. Sentry nodes that are tasked to watch the state transitions on Xai receive esXAI rewards for their service. These watchers participate in a game with a central 'challenger' by posting their assertions to make sure they are actually watching. In case of a malicious state transition, sentries are supposed to raise an alarm offchain. The referee contract is also a whitelisted address in the esXAI token contract, which allows it to initiate arbitrary esXAI token transfers. New staking through this contract is disabled in favor of the new v2 staking. V1 Stakers can continue to get staking rewards here or withdraw/migrate their assets.\n sourceHashes.1:\n- \"0x049618a11ae7ca2b4087908a6cb43e2102853e1798710e66a169be6fd6d4ed99\"\n+ \"0xc8757a87d8b14b9a5c61b8130720860918aaa5843442a0b6bf6307c3a7353c32\"\n values.$implementation:\n- \"0xfCa2657FC4456Ac256A78A31aAB1128F5e1d2D40\"\n+ \"0x4F18941fE5bE7a54318989b2C42648914dCe47C4\"\n values.$pastUpgrades.11:\n+ [\"2024-12-15T00:07:08.000Z\",\"0xd4a4e9be6cfdbb76dec68088cfa15e609b8d3356755c15de6e411c9034963c63\",[\"0x4F18941fE5bE7a54318989b2C42648914dCe47C4\"]]\n values.$pastUpgrades.10:\n+ [\"2024-12-13T00:36:38.000Z\",\"0x58b76b23b8bb0f3ba0bf4d2807f545b1838c527e3a71d18fe2369ee7bf6c12ca\",[\"0x1f122B41D6740F5dE2Df93b8b00013e84227955e\"]]\n values.$pastUpgrades.9:\n+ [\"2024-12-10T15:27:05.000Z\",\"0x7de66eae5bdbc8b25d8c61bc496b8022ca928b709de3dd72e7de1951fab33ecd\",[\"0x119B21e962B6C5e57340a3CCeCFC3a90385A70dC\"]]\n values.$upgradeCount:\n- 9\n+ 12\n values.maxKeysPerPool:\n- 1000\n+ 100000\n values.maxStakeAmountPerLicense:\n- \"20000000000000000000000\"\n+ \"200000000000000000000\"\n derivedName:\n- \"Referee9\"\n+ \"Referee10\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x33c1514Bf90e202d242C299b37C60f908aa206D4)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x54E0923782b701044444De5d8c3A45aC890b0881)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract MasterMinter (0x8aFf09e2259cacbF4Fc4e3E53F3bf799EfEEab36)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FiatTokenV2_2 (0xaf88d065e77c8cC2239327C5EDb3A432268e5831)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0xD89d54007079071cBA859127318b9F34eeB78049)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0xE58a2dEb5718F9aAF2C1DdD0E366ED076D204cc4)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0xf8E5e5562c2c12d8690786f5C9FA65F20F6bD881)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```"
}
]
},
{
"id": "fb7c1d5f",
"date": "Sun, 08 Dec 2024 13:29:13 GMT",
"timestamp": 1733664553,
"description": "Nodelicense that reverts in the mint() function and prevents minting of new node licenses.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract NodeLicenseRegistry (0xbc14d8563b248B79689ECbc43bBa53290e0b6b66) {\n +++ description: This is the contract where Xai Sentry Keys to run a node are minted.\n sourceHashes.1:\n- \"0x1b5b7bb8aa9932be3a7e263d3905e78382f86318e4252b53a05c67152ede1de1\"\n+ \"0xc408ffd6d9b25f5dccbe9efa0caca71b711c95f903420227c41605fc4672a46c\"\n values.$implementation:\n- \"0xfD6Bb931D2Ee134E70568ca36584c043cB278734\"\n+ \"0xE6E5356423516C9b75d4Dfb1fCa3973c5B695be8\"\n values.$pastUpgrades.8:\n+ [\"2024-12-06T17:52:34.000Z\",\"0x394e784074ba95b55fdcea26980e75c894d6fe1295153b97cdb456d010c2a3a0\",[\"0xE6E5356423516C9b75d4Dfb1fCa3973c5B695be8\"]]\n values.$upgradeCount:\n- 8\n+ 9\n derivedName:\n- \"NodeLicense5\"\n+ \"NodeLicense7\"\n }\n```"
}
]
},
{
"id": "584b2c26",
"date": "Wed, 30 Oct 2024 12:11:38 GMT",
"timestamp": 1730290298,
"description": "Minor upgrade to the SentryReferee that adds an admin-permissioned `closeCurrentChallenge()` function and migrates the math from inside the SentryReferee to a separate RefereeCalculations contract.",
"isHighSeverity": true,
"changeCount": 12,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract StakingProxyAdmin (0xD88c8E0aE21beA6adE41A41130Bb4cd43e6b1723) {\n +++ description: None\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"target\":\"0xfD41041180571C5D371BEA3D9550E55653671198\"}\n directlyReceivedPermissions.4.target:\n- \"0xfD41041180571C5D371BEA3D9550E55653671198\"\n+ \"0xF9E08660223E2dbb1c0b28c82942aB6B5E38b8E5\"\n directlyReceivedPermissions.3.target:\n- \"0xF9E08660223E2dbb1c0b28c82942aB6B5E38b8E5\"\n+ \"0xCd62360854aecf6285Fa310D69C5EBaf4Cd5e95F\"\n }\n```\n\n```diff\n contract SentryReferee (0xfD41041180571C5D371BEA3D9550E55653671198) {\n +++ description: None\n sourceHashes.1:\n- \"0xf01cd4fba1b7619d893eac322f11d01c25dec45cec99f03c7c3dac3db562d011\"\n+ \"0x049618a11ae7ca2b4087908a6cb43e2102853e1798710e66a169be6fd6d4ed99\"\n values.$implementation:\n- \"0x609152cb742916E0F7FBC4391Be750C458b049fe\"\n+ \"0xfCa2657FC4456Ac256A78A31aAB1128F5e1d2D40\"\n values.$pastUpgrades.8:\n+ [\"2024-10-29T18:27:08.000Z\",\"0x526befebd96c284baeeb94980c3561d88cc1ba40fb12c1c8b8db78b29b18ce20\",[\"0xfCa2657FC4456Ac256A78A31aAB1128F5e1d2D40\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.refereeCalculationsAddress:\n+ \"0xCd62360854aecf6285Fa310D69C5EBaf4Cd5e95F\"\n derivedName:\n- \"Referee8\"\n+ \"Referee9\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract RefereeCalculations (0xCd62360854aecf6285Fa310D69C5EBaf4Cd5e95F)\n +++ description: None\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract GnosisSafeL2 (0x7eC7e03563f781ED4c56BBC4c5F28C1B4dB932ff)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafeL2 (0xfeBC06428a15C6618Baa5589C3E9C40ACF71aA79)\n +++ description: None\n```"
}
]
},
{
"id": "a2e6c24d",
"date": "Wed, 16 Oct 2024 09:53:33 GMT",
"timestamp": 1729072413,
"description": "DAC keys changed to 5/7.",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerInbox (0x995a9d3ca121D48d21087eDE20bc8acb2398c8B1) {\n +++ description: State batches / commitments get posted here.\n values.dacKeyset.requiredSignatures:\n- 8\n+ 5\n values.dacKeyset.membersCount:\n- 9\n+ 7\n values.dacKeyset.blsSignatures.8:\n- \"YBHz50DGYvPi02ynzcvcJS9K2nhXWKKSIZdDtXqxxoD3a1s2Fh2he79bMUWZ6M6qEhHM52HZr3l5jLoU4kOTBN+Q87yo0ljgZJYaphdYrHb+jabsPUcR+xdauJKAoKSkjQz8BWC9b2QZ3F7LK+Ro3cpWgkHR9SQlt86mk+eM71AWRl3ybwlRaxwAzYwOd9TRkQYARTY8fjvRmhChCY5lz7FtY0ttPrbJ3Mc2VXy5r0yyIoNFAQjg/jMNoablUOOIZRn+4KGLBQSPKcnl/Nv/0ZNdT563sLPj6mP3qLPlvwAhFpI5vIhSpGdpgJ8n8Ns3uxJyYsPD8qaHQciNLNTzYWGEze40CPMkxEeGRqi8yRoK8iuK5kse/+kqhBOyR3NVJg==\"\n values.dacKeyset.blsSignatures.7:\n- \"YA+ljLY01rxIncmXWl8bIZduwLObm0LKJIjzdyXjzH5FLN4Y+sUF2zjvF07aUPHOyADiV0y/+ztNO/iTpKLCVUzPzRHTtsukZaE3SUY+IIYU6NvUYdMXfhcKnHH3VU+iVRaSfiK2hw7OCfsge8AQcucdNlgaHSrdvlDmzAIx7jsemsLh8ov5dpywIVkWWZGY6wIwVh2/zUWBMZ4O3V3OYWppRttXZr2ukmwIDU5hQ4qtKRKemHaHSgb18QTuUsowMhkLwx2eW5hMOIYyzLV+NyUTyaQhkD0EtYISRBhHM7RinbP9LQWbLm0dnueZ9O3AkwnbH8w6/h3jkshPZx8hqJ6QH33SwbML1KIvOTEFvgBs7dnj9gbcfMq+17Bu3/YkWw==\"\n values.dacKeyset.blsSignatures.6:\n- \"YBWhdxIOTQsrGcRQF8bHAEauHwl6F64farjSibsWDNPgplumU8MFRPn6X0jtBBMR1hH/aXso0ftQEI0edQVEB5dJkB4gymdhxq6hFCbYZpxsb8Ipr4lJe05WNmJRX1VeTRIu9WaeVLZlm+RMtvSuzbXXKJyNUnSZ420JaMKyR8Wt9M05nFZ832+eqer4eOtKDBX6gPBzdbUG+WRYdQlvFMkH/Nwo7LyKlHx231VIXKEIeuYXBmMxdtd0++QT7wi7PRN1XLjxGC8osyHYh3rksjBjG6urtgt4b/tVWyNevNaHT5YuO5MBPMMoQFgUqeV6dQiU3v2aXCwnnInTCjEvNbI5PUdwOosJi8JcdY7N1Vpm9jn8Gm89pCdwc8avTGWU5A==\"\n+ \"YBHz50DGYvPi02ynzcvcJS9K2nhXWKKSIZdDtXqxxoD3a1s2Fh2he79bMUWZ6M6qEhHM52HZr3l5jLoU4kOTBN+Q87yo0ljgZJYaphdYrHb+jabsPUcR+xdauJKAoKSkjQz8BWC9b2QZ3F7LK+Ro3cpWgkHR9SQlt86mk+eM71AWRl3ybwlRaxwAzYwOd9TRkQYARTY8fjvRmhChCY5lz7FtY0ttPrbJ3Mc2VXy5r0yyIoNFAQjg/jMNoablUOOIZRn+4KGLBQSPKcnl/Nv/0ZNdT563sLPj6mP3qLPlvwAhFpI5vIhSpGdpgJ8n8Ns3uxJyYsPD8qaHQciNLNTzYWGEze40CPMkxEeGRqi8yRoK8iuK5kse/+kqhBOyR3NVJg==\"\n values.dacKeyset.blsSignatures.5:\n- \"YAX5RGkb2ssH+fb3F+MTg0p+7jF3Le5BT8W/hIR7iSsgHvN2l435zpiSVuqOZNaIaQ/wyuGPur4m2hoiJ1d0J+r/VvbEYQGFCxPe6oi5JzIuAb/QlRA9lT+B1Rup8HKhcAAnSGaIowju3bSosv0LG04H0NlZOSRdJSFOIBA3WyfiK1867Nju+ZqfWF/TLUvR4AnIz2uNkZ7TzuIiA6mQnDHvpKSKsAUvhhAovG8Y8TI0iC1W/LSX1G9VVqFBeI2k1gDX3vzit2yN2PjskBfh5+N6bsIRSECZPRXBqskekNytvRlFveesFOwpXOmiyRPmFAwaYLtsQtSVjz94Ev5rabPQim7x1y9s6AEtV/Q/ggRU7/lTha1SVmMCRdYWWu3Igg==\"\n+ \"YA+ljLY01rxIncmXWl8bIZduwLObm0LKJIjzdyXjzH5FLN4Y+sUF2zjvF07aUPHOyADiV0y/+ztNO/iTpKLCVUzPzRHTtsukZaE3SUY+IIYU6NvUYdMXfhcKnHH3VU+iVRaSfiK2hw7OCfsge8AQcucdNlgaHSrdvlDmzAIx7jsemsLh8ov5dpywIVkWWZGY6wIwVh2/zUWBMZ4O3V3OYWppRttXZr2ukmwIDU5hQ4qtKRKemHaHSgb18QTuUsowMhkLwx2eW5hMOIYyzLV+NyUTyaQhkD0EtYISRBhHM7RinbP9LQWbLm0dnueZ9O3AkwnbH8w6/h3jkshPZx8hqJ6QH33SwbML1KIvOTEFvgBs7dnj9gbcfMq+17Bu3/YkWw==\"\n values.dacKeyset.blsSignatures.4:\n- \"YAuqwKcqcyPp5E3tp9vVoeBVx6gURQyV0XhwNaooWS2k/2VWHtrUuZdDdBiBRMq62Qf6cKtlqn5aGTqIq0jZJRbEcd0dkmlHLcrFJ96+/8FHu4jGabROamNoQxG5xcDpiwHi3WmI1pUaZVumUUXo+P+av0gKxemR2OSyKIOM8ERfQAWzZkDUw+dvo7Ga4PIsIwcyJ9rTjeq4S7fyD6qym9tEK2vOyhAAab7s9qC9TFnGbFkeSI/NY3tOrmhEqee0qwRz7eCR5Uf2sZBpYEGHAHadBFhoGPJCpQyBFu673o4kEWgMMKE7t9S4KR/Dgji2RAsI+xUaz3Wdvwfeoa/SAPdCd4j6PoqTuD/b74KiL9TqHtEQgk//j25bZK2778n5yA==\"\n+ \"YBWhdxIOTQsrGcRQF8bHAEauHwl6F64farjSibsWDNPgplumU8MFRPn6X0jtBBMR1hH/aXso0ftQEI0edQVEB5dJkB4gymdhxq6hFCbYZpxsb8Ipr4lJe05WNmJRX1VeTRIu9WaeVLZlm+RMtvSuzbXXKJyNUnSZ420JaMKyR8Wt9M05nFZ832+eqer4eOtKDBX6gPBzdbUG+WRYdQlvFMkH/Nwo7LyKlHx231VIXKEIeuYXBmMxdtd0++QT7wi7PRN1XLjxGC8osyHYh3rksjBjG6urtgt4b/tVWyNevNaHT5YuO5MBPMMoQFgUqeV6dQiU3v2aXCwnnInTCjEvNbI5PUdwOosJi8JcdY7N1Vpm9jn8Gm89pCdwc8avTGWU5A==\"\n values.dacKeyset.blsSignatures.3:\n- \"YAKvb8hRiZPIAext4QCk7ngBMmDVkAcQoAqc/BSXtU7/gUDohCF6RI29uc5OlOXIIhifqDOAe+RIDnUrkMJuXKM3f+21bngw9rgjuSoGfaXfqLffFlR3eIQs0QY0XQeG0RKYArEpJ/D/hOt7YPOddAXGn62x4ryWuyqt5mkyyWzfGrncElFsqT6Ni+hAjwjDOABlbMG6rvSrm6uyznjdL233pYO0DTe8S95wgYOcGLP8xSDHlN341schNnHTQyJAcxddkM3BEocKI7ymH9PNp12Ax5Y5SVZEXKkLFAECOwihaMjjH0brzYxdGbaPEEAgDQQbx8bvW09h5AnTEXPrz6oYWFRep/drK92rK9LtDM8NgnjzMLv+AeSd93X1DmZPpA==\"\n+ \"YAX5RGkb2ssH+fb3F+MTg0p+7jF3Le5BT8W/hIR7iSsgHvN2l435zpiSVuqOZNaIaQ/wyuGPur4m2hoiJ1d0J+r/VvbEYQGFCxPe6oi5JzIuAb/QlRA9lT+B1Rup8HKhcAAnSGaIowju3bSosv0LG04H0NlZOSRdJSFOIBA3WyfiK1867Nju+ZqfWF/TLUvR4AnIz2uNkZ7TzuIiA6mQnDHvpKSKsAUvhhAovG8Y8TI0iC1W/LSX1G9VVqFBeI2k1gDX3vzit2yN2PjskBfh5+N6bsIRSECZPRXBqskekNytvRlFveesFOwpXOmiyRPmFAwaYLtsQtSVjz94Ev5rabPQim7x1y9s6AEtV/Q/ggRU7/lTha1SVmMCRdYWWu3Igg==\"\n values.dacKeyset.blsSignatures.2:\n- \"YA1wn7+Q7YfmWm4B63iIDrEzquUCqvuQAXCeq+e5pzVb4AQp2pOUkboz4+GIhKB4rQ77pOEK7RQVDl52V7CYEMtO5koML9h9OOU9o8rQzKCZlN0uuh97hLmn3uClp9i9BBgu5d9ptNNVjuX6CGWNw23GfyxIhx/uYKO+Lngpekmnc/gvNQ7iZmFT3pOd7cnkDwKVYCO0K4AdCiK/n92I4J2ZLN/dPU9cb56BorMRCQ9LWIy4069ZXcZsU+z1RR/KkAb74lp6FvZsqImmkQjoKv03XiuGU6syNkO5lOmX5vLX/+ttSjvWYo5yuNOBEams/A+6Aaqr8AaiVoytLAYidWkn9c4JkPTXh3Vhj//1fiuUD93NfpvZVFxOmNphqqHLaQ==\"\n+ \"YAKvb8hRiZPIAext4QCk7ngBMmDVkAcQoAqc/BSXtU7/gUDohCF6RI29uc5OlOXIIhifqDOAe+RIDnUrkMJuXKM3f+21bngw9rgjuSoGfaXfqLffFlR3eIQs0QY0XQeG0RKYArEpJ/D/hOt7YPOddAXGn62x4ryWuyqt5mkyyWzfGrncElFsqT6Ni+hAjwjDOABlbMG6rvSrm6uyznjdL233pYO0DTe8S95wgYOcGLP8xSDHlN341schNnHTQyJAcxddkM3BEocKI7ymH9PNp12Ax5Y5SVZEXKkLFAECOwihaMjjH0brzYxdGbaPEEAgDQQbx8bvW09h5AnTEXPrz6oYWFRep/drK92rK9LtDM8NgnjzMLv+AeSd93X1DmZPpA==\"\n values.keySetUpdates:\n- 5\n+ 6\n }\n```"
}
]
},
{
"id": "96bdcb1f",
"date": "Wed, 21 Aug 2024 21:56:14 GMT",
"timestamp": 1724277374,
"description": "Xai upgraded to [ArbOS Version 20 \"Atlas\"](https://forum.arbitrum.foundation/t/aip-arbos-version-20-atlas/20957).\nThis upgrade comes with blobs support (but Xai is an L3 on Arbitrum, it is still posting calldata) and was reviewed thoroughly in `packages/backend/discovery/arbitrum/ethereum/diffHistory.md` at \"Diff at Fri, 22 Mar 2024 07:51:09 GMT:\".",
"isHighSeverity": true,
"changeCount": 23,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract OneStepProver0 (0x1135265fE014D3FA32B3507E325642B92aFFeAEb)\n +++ description: None\n```\n\n```diff\n contract ChallengeManager (0x3a3f62034a42a35eA1686B199bB73006aa525eE4) {\n +++ description: None\n values.$implementation:\n- \"0x09824fe72BFF474d16D9c2774432E381BBD60662\"\n+ \"0x5cA988F213EfbCB86ED7e2AACB0C15c91e648f8d\"\n values.osp:\n- \"0x99a2A31300816C1FA3f40818AC9280fe7271F878\"\n+ \"0xb20107bfB36D3B5AcA534aCAfbd8857b10b402a8\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMath (0x4811500e0d376Fa8d2EA3CCb7c61E0afB4F5A7f1)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverHostIo (0x89AF7C4C2198c426cFe6E86de0680A0850503e06)\n +++ description: None\n```\n\n```diff\n contract SequencerInbox (0x995a9d3ca121D48d21087eDE20bc8acb2398c8B1) {\n +++ description: State batches / commitments get posted here.\n values.$implementation:\n- \"0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F\"\n+ \"0x7a299aD29499736994Aa3a9aFa3f476445FAEB2c\"\n+++ description: Struct: delayBlocks, futureBlocks, delaySeconds, futureSeconds. onlyRollupOwner settable. Transactions can only be force-included after `delayBlocks` window (Sequencer-only) has passed.\n values.maxTimeVariation:\n- {\"delayBlocks\":5760,\"futureBlocks\":96,\"delaySeconds\":86400,\"futureSeconds\":3600}\n+ [5760,96,86400,3600]\n values.batchPosterManager:\n+ \"0x000d8C5A70B8805DF02f409F2715d05B9A63E871\"\n values.BROTLI_MESSAGE_HEADER_FLAG:\n+ \"0x00\"\n values.DAS_MESSAGE_HEADER_FLAG:\n+ \"0x80\"\n values.DATA_BLOB_HEADER_FLAG:\n+ \"0x50\"\n values.isUsingFeeToken:\n+ true\n values.reader4844:\n+ \"0x0000000000000000000000000000000000000000\"\n values.TREE_DAS_MESSAGE_HEADER_FLAG:\n+ \"0x08\"\n values.ZERO_HEAVY_MESSAGE_HEADER_FLAG:\n+ \"0x20\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProofEntry (0x99a2A31300816C1FA3f40818AC9280fe7271F878)\n +++ description: None\n```\n\n```diff\n contract RollupProxy (0xC47DacFbAa80Bd9D8112F4e8069482c2A3221336) {\n +++ description: Manages rollup components, list of Stakers and Validators. Entry point for Validators creating new Rollup Nodes (state commits) and Challengers submitting fraud proofs.\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0x68e4fe5023f792d4ef584796c84d710303a5e12ea02d6e37e2b5e9c4332507c4\"\n+ \"0x8b104a2e80ac6165dc58b9048de12f301d70b02a0ab51396c22b4b4b802a16a4\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMemory (0xDf94F0474F205D086dbc2e66D69a856FCf520622)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0x526a6E634aD36bB0007c4422586c135F1F9B525a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x800dA62bE6626127F71B34E795286C34C04D6712)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0xb20107bfB36D3B5AcA534aCAfbd8857b10b402a8)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0xc555b2F1D559Fbb854569b33640990D178F94747)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0xe8709022B9C9D7347856c75910fe07e10C904446)\n +++ description: None\n```"
}
]
},
{
"id": "8070b8fd",
"date": "Mon, 08 Jul 2024 06:15:46 GMT",
"timestamp": 1720419346,
"description": "Xai's dacKeyset is hardened with 8/9 threshold.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerInbox (0x995a9d3ca121D48d21087eDE20bc8acb2398c8B1) {\n +++ description: State batches / commitments get posted here.\n values.dacKeyset.requiredSignatures:\n- 5\n+ 8\n values.dacKeyset.membersCount:\n- 6\n+ 9\n values.keySetUpdates:\n- 4\n+ 5\n }\n```"
}
]
},
{
"id": "931334bf",
"date": "Thu, 04 Jul 2024 09:41:56 GMT",
"timestamp": 1720086116,
"description": "Add one new signer to the FundsReceiver multisig.",
"isHighSeverity": false,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract FundsReiceiverMultisig (0xFCF7248C495d6fd3641eE43F861c48Ebe402c878) {\n +++ description: The designated fundsReceiver in the NodeLicenseRegistry. Receives all ETH from 'Sentry Node License' mints.\n upgradeability.threshold:\n- \"3 of 6 (50%)\"\n+ \"3 of 7 (43%)\"\n values.getOwners.6:\n+ \"0xfc6F0d26f817Bd31AeD0e8922575d1fb8bD7A894\"\n values.getOwners.5:\n- \"0xfc6F0d26f817Bd31AeD0e8922575d1fb8bD7A894\"\n+ \"0x807daF80b03Fd3C2709FFe0AeBEED617BC0a347c\"\n values.getOwners.4:\n- \"0x807daF80b03Fd3C2709FFe0AeBEED617BC0a347c\"\n+ \"0xE529a3271f9CC84B1FE9107ab4764a8dF177782a\"\n values.getOwners.3:\n- \"0xE529a3271f9CC84B1FE9107ab4764a8dF177782a\"\n+ \"0xbBE90F6748C82623F130A4486722a436c5a72440\"\n values.getOwners.2:\n- \"0xbBE90F6748C82623F130A4486722a436c5a72440\"\n+ \"0x1f097F3f928415cD28e1B2cC6f0F3960f4fCa6fc\"\n values.getOwners.1:\n- \"0x1f097F3f928415cD28e1B2cC6f0F3960f4fCa6fc\"\n+ \"0xd427165292B2E39cdac102eD963B14fFBACc964a\"\n values.getOwners.0:\n- \"0xd427165292B2E39cdac102eD963B14fFBACc964a\"\n+ \"0x90D77E3a3B660E54E04cD622937765d2375FB2e3\"\n }\n```"
}
]
},
{
"id": "2b1a1213",
"date": "Mon, 10 Jun 2024 10:27:14 GMT",
"timestamp": 1718015234,
"description": "The fundsreceiver multisig that currently holds USD 3M in ETH from Sentry Node License mints, has a new signer.\nThe SentryReferee contract is upgraded to identical code with new initial parameters for staking and esXai emissions.",
"isHighSeverity": true,
"changeCount": 17,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract FundsReiceiverMultisig (0xFCF7248C495d6fd3641eE43F861c48Ebe402c878) {\n +++ description: The designated fundsReceiver in the NodeLicenseRegistry. Receives all ETH from 'Sentry Node License' mints.\n upgradeability.threshold:\n- \"3 of 5 (60%)\"\n+ \"3 of 6 (50%)\"\n values.getOwners.5:\n+ \"0xfc6F0d26f817Bd31AeD0e8922575d1fb8bD7A894\"\n values.getOwners.4:\n- \"0xa2E7768789921a36eCFe8c239dBd8213120fFF83\"\n+ \"0x807daF80b03Fd3C2709FFe0AeBEED617BC0a347c\"\n values.getOwners.3:\n- \"0x807daF80b03Fd3C2709FFe0AeBEED617BC0a347c\"\n+ \"0xE529a3271f9CC84B1FE9107ab4764a8dF177782a\"\n values.getOwners.2:\n- \"0xE529a3271f9CC84B1FE9107ab4764a8dF177782a\"\n+ \"0xbBE90F6748C82623F130A4486722a436c5a72440\"\n values.getOwners.1:\n- \"0xbBE90F6748C82623F130A4486722a436c5a72440\"\n+ \"0x1f097F3f928415cD28e1B2cC6f0F3960f4fCa6fc\"\n values.getOwners.0:\n- \"0x1f097F3f928415cD28e1B2cC6f0F3960f4fCa6fc\"\n+ \"0xd427165292B2E39cdac102eD963B14fFBACc964a\"\n }\n```\n\n```diff\n contract SentryReferee (0xfD41041180571C5D371BEA3D9550E55653671198) {\n +++ description: None\n upgradeability.implementation:\n- \"0xFf38Aa9D553bE47eee329F968ADF0C74A01D021c\"\n+ \"0x609152cb742916E0F7FBC4391Be750C458b049fe\"\n implementations.0:\n- \"0xFf38Aa9D553bE47eee329F968ADF0C74A01D021c\"\n+ \"0x609152cb742916E0F7FBC4391Be750C458b049fe\"\n values.maxKeysPerPool:\n- 750\n+ 1000\n values.maxStakeAmountPerLicense:\n- \"10000000000000000000000\"\n+ \"20000000000000000000000\"\n values.stakeAmountBoostFactors.3:\n- 600\n+ 700\n values.stakeAmountTierThresholds.3:\n- \"5500000000000000000000000\"\n+ \"8000000000000000000000000\"\n values.stakeAmountTierThresholds.2:\n- \"500000000000000000000000\"\n+ \"4000000000000000000000000\"\n values.stakeAmountTierThresholds.1:\n- \"100000000000000000000000\"\n+ \"2000000000000000000000000\"\n values.stakeAmountTierThresholds.0:\n- \"10000000000000000000000\"\n+ \"30000000000000000000000\"\n derivedName:\n- \"Referee7\"\n+ \"Referee8\"\n }\n```"
}
]
},
{
"id": "41774422",
"date": "Fri, 17 May 2024 08:40:54 GMT",
"timestamp": 1715935254,
"description": "Minor changes in the SentryReferee contract:\n- Expire challenge rewards after 270 instead of 180 days\n- 'stakeAmountTierThresholds[]' values deleted from initializer, but can be set anytime by admin with updateStakingTier()",
"isHighSeverity": true,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SentryReferee (0xfD41041180571C5D371BEA3D9550E55653671198) {\n +++ description: None\n upgradeability.implementation:\n- \"0x680F4a9f47E4Cfea124a5654E759cB3b0a0C837c\"\n+ \"0xFf38Aa9D553bE47eee329F968ADF0C74A01D021c\"\n implementations.0:\n- \"0x680F4a9f47E4Cfea124a5654E759cB3b0a0C837c\"\n+ \"0xFf38Aa9D553bE47eee329F968ADF0C74A01D021c\"\n derivedName:\n- \"Referee6\"\n+ \"Referee7\"\n }\n```"
}
]
},
{
"id": "4a393218",
"date": "Fri, 26 Apr 2024 14:19:34 GMT",
"timestamp": 1714141174,
"description": "### Staking Pools upgrade\n\nThis implementation upgrade adds support for esXAI staking pools and removes the support for adding to normal staking (Withdrawals and rewards from normal staking remain enabled). Since staking V2 is still disabled and some contracts are still managed by the deployer, a new assessment of admin roles is necessary as soon as staking V2 is enabled.\nedit: Staking pools are active now and the [Xai Deployer EOA](https://arbiscan.io/address/0x7C94E07bbf73518B0E25D1Be200a5b58F46F9dC7) is admin (via owner or ProxyAdmin) of all the staking-related contracts.\n\n#### Referee5\n\nThe SentryReferee has a new implementation: Referee5.\nThis contract has no external `stake()` function so non-pooled (V1) staking is not possible anymore. The new staking entry contract is now `PoolFactory`, which calls the new `onlyPoolFactory`-modified functions inside Referee5. Unstaking of V1 non-pool staked esXAI is still possible with the external `unstake()` function in Referee5.\n\nReferee5 now supports batching of assertions `submitMultipleAssertions()` and rewards `claimMultipleRewards()`.\n\nNew mappings are added to assist the assigning of (staking/kyc)-keys to pools, as the number of keys associated with a pool determines the maximum of esXAI that can be staked inside.\n\n#### PoolFactory\n\nThe new staking pools get created here (`createPool()`). Pool creators need at least one staking key to create a pool and are able to define a delegate owner address that can post assertions (node duties) on their behalf. The PoolFactory has plenty of pool managing functions (staking/unstaking keys, updating metadata, managing shares), available to the pool creator. 'Shares' of a pool can be allocated by the pool creator within defined bounds to 3 different recipients: 1) The pool creator / owner, 2) Owners of keys staked in the pool, 3) Stakers of esXAI in the pool. This will direct the esXAI rewards to the different recipients. Claiming of rewards is delegated to the pools themselves.\n\n#### StakingPool\n\nEach staking pool is managed in such a contract.\n\n#### BucketTracker\n\nImported by the StakingPools: Tracks the virtual balances of participants in a staking pool. (Needed for calculation and distribution of dividends)",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n+ Status: CREATED\n contract BucketTracker (0x1582e73D95F33E39B421F9224D9e7daF4508408E)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract StakingPool (0x599C8489256Fb17b66d499d907F30b8022a29443)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PoolBeacon (0x5f9D168d3435747335b1B3dC7e4d42e3510087C7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PoolProxyDeployer (0x68D78D1E81379EfD9C61f8E9131D52CE571AF4fD)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PoolBeacon (0x6Bc4e6B2c13Ba42e933b23AFAb8a58bbbBa5D02B)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GasSubsidy (0x94F4aBC83eae00b693286B6eDCa09e1D76183C97)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract BucketTracker (0xa83825Dc4D94513d1C907b319EE8224FA63A29B2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract NodeLicenseRegistry (0xbc14d8563b248B79689ECbc43bBa53290e0b6b66)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract StakingProxyAdmin (0xD88c8E0aE21beA6adE41A41130Bb4cd43e6b1723)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PoolFactory (0xF9E08660223E2dbb1c0b28c82942aB6B5E38b8E5)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PoolBeacon (0xfB93c2e5E41BD0ffd2E99A88e6d2A8D4F542d39a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafeL2 (0xFCF7248C495d6fd3641eE43F861c48Ebe402c878)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SentryReferee (0xfD41041180571C5D371BEA3D9550E55653671198)\n +++ description: None\n```"
}
]
},
{
"id": "bc7bb7bb",
"date": "Thu, 14 Mar 2024 14:56:12 GMT",
"timestamp": 1710428172,
"description": "- Modified the redemption function that allows esXAI to be redeemed for XAI. If the user redeems before the maximum redemption period, a percentage of the esXAI will be burned. This modification adds that half of the would-be burned esXai amount will be minted as XAI to the esXaiBurnFoundationRecipient.\n\n- Added a whitelisted address (the Referee address) to esXAI . Only whitelisted addresses are able to initiate esXAI token transfers.\n\n- Changed wasmModuleRoot to orbOS version 11.\n\n- Added Referee4 smart contract. The referree contract allows to create new challenges (state root reports) from the permissioned challenger, collects assertions from sentry nodes, and gives out rewards to participants of a challenge. This is the contract that distributes esXAI rewards for operating a sentry node.\n The role of sentry nodes is to basically verify (assert) the submitted state root after it has been submitted. There is no integrated way to flag an invalid state root, sentry nodes will have to raise the alarm by external means. This makes them just observation nodes.",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract esXai (0x4C749d097832DE2FEcc989ce18fDc5f1BD76700c) {\n +++ description: None\n upgradeability.implementation:\n- \"0x8d6C063656b00E5c37CE007C0f99848D58F19d6B\"\n+ \"0xb38E2EDda6c31D9972Cac770f3F404CD0D7B55Df\"\n implementations.0:\n- \"0x8d6C063656b00E5c37CE007C0f99848D58F19d6B\"\n+ \"0xb38E2EDda6c31D9972Cac770f3F404CD0D7B55Df\"\n values.getWhitelistCount:\n- 0\n+ 1\n values.getWhitelistedAddressAtIndex[0]:\n+ \"0xfD41041180571C5D371BEA3D9550E55653671198\"\n values.esXaiBurnFoundationBasePoints:\n+ 500\n values.esXaiBurnFoundationRecipient:\n+ \"0x1F941F7Fb552215af81e6bE87F59578C18783483\"\n derivedName:\n- \"esXai\"\n+ \"esXai2\"\n }\n```\n\n```diff\n contract SequencerInbox (0x995a9d3ca121D48d21087eDE20bc8acb2398c8B1) {\n +++ description: None\n values.dacKeyset.requiredSignatures:\n- 4\n+ 5\n values.dacKeyset.membersCount:\n- 5\n+ 6\n values.keySetUpdates:\n- 3\n+ 4\n }\n```\n\n```diff\n contract RollupProxy (0xC47DacFbAa80Bd9D8112F4e8069482c2A3221336) {\n +++ description: None\n values.wasmModuleRoot:\n- \"0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a\"\n+ \"0x68e4fe5023f792d4ef584796c84d710303a5e12ea02d6e37e2b5e9c4332507c4\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafeL2 (0x1F941F7Fb552215af81e6bE87F59578C18783483)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GasSubsidy (0x94F4aBC83eae00b693286B6eDCa09e1D76183C97)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract NodeLicenseRegistry (0xbc14d8563b248B79689ECbc43bBa53290e0b6b66)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafeL2 (0xFCF7248C495d6fd3641eE43F861c48Ebe402c878)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SentryReferee (0xfD41041180571C5D371BEA3D9550E55653671198)\n +++ description: None\n```"
}
]
},
{
"id": "c6211e88",
"date": "Mon, 05 Feb 2024 08:16:18 GMT",
"timestamp": 1707120978,
"description": "Update discovery to include the multisig threshold.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GnosisSafeL2 (0x4972A8EF186Ee42A14Cdd3c47f52ec06a6dc495E) {\n values.nonce:\n- 1\n+ 2\n }\n```\n\n```diff\n contract SequencerInbox (0x995a9d3ca121D48d21087eDE20bc8acb2398c8B1) {\n values.dacKeyset.keyCount:\n- 3\n+ 5\n values.keySetUpdates:\n- 2\n+ 3\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L1GatewayRouter (0x22CCA5Dc96a4Ac1EC32c9c7C5ad4D66254a24C35) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC20Gateway (0xb591cE747CF19cF30e11d656EB94134F523A9e77) {\n }\n```"
}
]
},
{
"id": "c22fd312",
"date": "Mon, 29 Jan 2024 11:22:06 GMT",
"timestamp": 1706527326,
"description": "Add initial XAI config.",
"isHighSeverity": false,
"changeCount": 22,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract GnosisSafeL2 (0x000d8C5A70B8805DF02f409F2715d05B9A63E871) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x041F85dD87c46B941dc9b15c6628B19ee5358485) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0x0EE7AD3Cc291343C9952fFd8844e86d294fa513F) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x1135265fE014D3FA32B3507E325642B92aFFeAEb) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0x1E400568AD4840dbE50FB32f306B842e9ddeF726) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorWalletCreator (0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract ERC20RollupEventInbox (0x36aDe24988E4C47602e38BD9a0Bd89031eF807a8) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0x3a3f62034a42a35eA1686B199bB73006aa525eE4) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0x4811500e0d376Fa8d2EA3CCb7c61E0afB4F5A7f1) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafeL2 (0x4972A8EF186Ee42A14Cdd3c47f52ec06a6dc495E) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract esXai (0x4C749d097832DE2FEcc989ce18fDc5f1BD76700c) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract Xai (0x4Cb9a7AE498CEDcBb5EAe9f25736aE7d428C9D66) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0x6c21303F5986180B1394d2C89f3e883890E2867b) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0x7dd8A76bdAeBE3BBBaCD7Aa87f1D4FDa1E60f94f) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract (0x82709E8564ce17707a7C8420c9e48e9a8A88bfc1) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x89AF7C4C2198c426cFe6E86de0680A0850503e06) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0x995a9d3ca121D48d21087eDE20bc8acb2398c8B1) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0x99a2A31300816C1FA3f40818AC9280fe7271F878) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (0xaE21fDA3de92dE2FDAF606233b2863782Ba046F9) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0xC47DacFbAa80Bd9D8112F4e8069482c2A3221336) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xD88c8E0aE21beA6adE41A41130Bb4cd43e6b1723) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0xDf94F0474F205D086dbc2e66D69a856FCf520622) {\n }\n```"
}
]
}
]