[
{
"id": "7156a941",
"date": "Tue, 15 Sep 2026 11:29:53 GMT",
"timestamp": 1789471699,
"description": "Some rebalance routes removed (this allowed relayers to get refunded in these token/chain combinations) and 7702 delegation.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n sourceHashes:\n+ [\"0x1f44812af62d28f019e30e8eb2af596fb36c7db9d34576972c0405e110a6ef45\"]\n values:\n+ {\"$implementation\":\"eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B\",\"delegationManager\":\"eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3\",\"DOMAIN_VERSION\":\"1\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"EIP7702StatelessDeleGator\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"entryPoint\":\"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032\",\"getDeposit\":0,\"getDomainHash\":\"0x3818b9766109877e09a9c427e7b310cde355550731129529095a7e6b02cf55ab\",\"getNonce\":0,\"NAME\":\"EIP7702StatelessDeleGator\",\"PACKED_USER_OP_TYPEHASH\":\"0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18\",\"VERSION\":\"1.3.0\"}\n }\n```\n\n```diff\n contract HubPool (eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda) [acrossv3/HubPool] {\n +++ description: The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT.\n values.poolRebalanceRoutes.Mode.0.destinationToken:\n- \"eth:0x4200000000000000000000000000000000000006\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Mode.1.destinationToken:\n- \"eth:0xd988097fb8612cc24eeC14542bC03424c656005f\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Mode.2.destinationToken:\n- \"eth:0xf0F161fDA2712DB8b566946122a5af183995e2eD\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Mode.3.destinationToken:\n- \"eth:0xcDd475325D6F564d27247D1DddBb0DAc6fA0a5CF\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n }\n```"
}
]
},
{
"id": "576185cd",
"date": "Tue, 25 Aug 2026 08:51:00 GMT",
"timestamp": 1787647766,
"description": "7702 auth removed.",
"isHighSeverity": true,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D) {\n +++ description: None\n sourceHashes:\n- [\"0x3e6b48b0583e724b7006fcec0d9a021abd698deb8f7699582cdfee96bd65db4f\"]\n proxyType:\n- \"EIP7702 EOA\"\n+ \"EOA\"\n values:\n- {\"$implementation\":\"eth:0x69007702764179f14F51cdce752f4f775d74E139\",\"accountId\":\"alchemy.sma-7702.1.0.0\",\"entryPoint\":\"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032\",\"getFallbackSignerData\":[\"eth:0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D\",false]}\n }\n```"
}
]
},
{
"id": "a9bcaeef",
"date": "Mon, 17 Aug 2026 09:13:05 GMT",
"timestamp": 1786957091,
"description": "Across V5 upgrade: new Gateway contract and two new fill entrypoints for v5 deposits. In executor mode, the SpokePool pulls the output tokens from the Gateway's current solver using the relayer's standing approvals to the SpokePool.\n\nThe Gateway executes user-signed intent 'paths': anyone can submit one, and the Gateway pulls the depositor's funds via standing allowances or signed permits (Permit2 witness, EIP-3009, ERC-2612, EIP-712 transferFrom auths). It is owned and upgradable (no delay) by a new 3/5 'Across Gateway Multisig'.",
"isHighSeverity": true,
"changeCount": 21,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Ethereum_SpokePool (eth:0x5c7BCd6E7De5423a257D81B442095A1a6ced35C5) [acrossv3/SpokePool] {\n +++ description: The user-facing contract on each connected chain where funds are deposited to initiate a bridge transfer. It also receives settlement data from the HubPool to process refunds for the relayers who fulfilled those transfers. Since the V5 upgrade, deposits tagged with a special message prefix can only be filled through the Across V5 Gateway, which authenticates the fill and identifies the relayer paying for it.\n sourceHashes.1:\n- \"0x7c82111265c69f8a894d8029e30766541164d55fb1e814bf29ddacecaeee12c1\"\n+ \"0x667fb3db67749e9488a6511b73f11c5acfa08bd66fa64944fe1d3064fa551c6e\"\n values.$implementation:\n- \"eth:0x5E5B726C81f43B953a62AD87E2835C85c4D9Dd3B\"\n+ \"eth:0x456Ac26E5ec083EE9889eBa0d1a0A582502B8e84\"\n values.$pastUpgrades.11:\n+ [\"2026-08-14T18:02:35.000Z\",\"0x8149765132e15fb4f1dce1cab83f087ca099d778fee49191dff408069b734ad3\",[\"eth:0x456Ac26E5ec083EE9889eBa0d1a0A582502B8e84\"]]\n values.$upgradeCount:\n- 11\n+ 12\n values.gateway:\n+ \"eth:0x998d7c178A1F9607b47eA3A8e22426451b3ce707\"\n values.V5_MAGIC_PREFIX:\n+ \"0x89ae4bc75915265a3f10e926c3894a29534f1d6362ee8959cb0e5be00f3527fd\"\n implementationNames.eth:0x5E5B726C81f43B953a62AD87E2835C85c4D9Dd3B:\n- \"Ethereum_SpokePool\"\n implementationNames.eth:0x456Ac26E5ec083EE9889eBa0d1a0A582502B8e84:\n+ \"Ethereum_SpokePool\"\n }\n```\n\n```diff\n contract OP_SpokePool (oeth:0x6f26Bf09B1C792e3228e5467807a900A503c0281) [acrossv3/SpokePool] {\n +++ description: The user-facing contract on each connected chain where funds are deposited to initiate a bridge transfer. It also receives settlement data from the HubPool to process refunds for the relayers who fulfilled those transfers. Since the V5 upgrade, deposits tagged with a special message prefix can only be filled through the Across V5 Gateway, which authenticates the fill and identifies the relayer paying for it.\n name:\n- \"Optimism_SpokePool\"\n+ \"OP_SpokePool\"\n sourceHashes.1:\n- \"0xa7af88e42066dce1580a5c39e3bd045de8511f8a453056cd46140e3df8b96f19\"\n+ \"0x63512362033eb12727887f57a9397e800b1fa1b98ff0fe2742abe67f53d493f1\"\n values.$implementation:\n- \"oeth:0x0966F5034261CC50926fB9D5C1603A5034Ffa81c\"\n+ \"oeth:0x60674c53a4cC4ED350659C95fb8020B5AC61cA1D\"\n values.$pastUpgrades.15:\n+ [\"2026-08-14T17:51:57.000Z\",\"0x5ef940d028891d65c1ab1383d1cf63e514e1906c1a4f7483c1bdb6e2b9ca39bd\",[\"oeth:0x60674c53a4cC4ED350659C95fb8020B5AC61cA1D\"]]\n values.$upgradeCount:\n- 15\n+ 16\n values.gateway:\n+ \"oeth:0x998d7c178A1F9607b47eA3A8e22426451b3ce707\"\n values.V5_MAGIC_PREFIX:\n+ \"0x89ae4bc75915265a3f10e926c3894a29534f1d6362ee8959cb0e5be00f3527fd\"\n implementationNames.oeth:0x0966F5034261CC50926fB9D5C1603A5034Ffa81c:\n- \"Optimism_SpokePool\"\n implementationNames.oeth:0x60674c53a4cC4ED350659C95fb8020B5AC61cA1D:\n+ \"OP_SpokePool\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Across Gateway Multisig (eth:0x4c45F70B1d9a7A6D1984daccAd74D0E973B73F01) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Gateway (eth:0x998d7c178A1F9607b47eA3A8e22426451b3ce707) [acrossv3/Gateway]\n +++ description: Entry point for Across V5 intent executions. Anyone can submit a user-signed execution path: the Gateway pulls the depositor's funds via standing token approvals or signed permits (Permit2 witness permits, EIP-3009, ERC-2612, EIP-712 transfer authorizations), then calls the committed executor. While executing, it exposes the execution context (submitter, executor, step commitment) that the SpokePool trusts to authenticate V5 fills.\n```\n\n```diff\n+ Status: CREATED\n contract Gateway (oeth:0x998d7c178A1F9607b47eA3A8e22426451b3ce707) [acrossv3/Gateway]\n +++ description: Entry point for Across V5 intent executions. Anyone can submit a user-signed execution path: the Gateway pulls the depositor's funds via standing token approvals or signed permits (Permit2 witness permits, EIP-3009, ERC-2612, EIP-712 transfer authorizations), then calls the committed executor. While executing, it exposes the execution context (submitter, executor, step commitment) that the SpokePool trusts to authenticate V5 fills.\n```\n\n```diff\n+ Status: CREATED\n contract Across Gateway Multisig (oeth:0xd396CcB6770EAB84045c9Bce2939c478639E2A7F) [GnosisSafe]\n +++ description: None\n```"
}
]
},
{
"id": "caf6d9a4",
"date": "Wed, 12 Aug 2026 12:22:05 GMT",
"timestamp": 1786537235,
"description": "More pool rebalance routes were disabled (see below for explanation).",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract HubPool (eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda) [acrossv3/HubPool] {\n +++ description: The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT.\n values.poolRebalanceRoutes.Ethereum.4.destinationToken:\n- \"eth:0x6B175474E89094C44Da98b954EedeAC495271d0F\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Lens.0.destinationToken:\n- \"eth:0xE5ecd226b3032910CEaa43ba92EE8232f8237553\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Lens.2.destinationToken:\n- \"eth:0x88F08E304EC4f90D644Cec3Fb69b8aD414acf884\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.ZKsync Era.0.destinationToken:\n- \"eth:0x3355df6D4c9C3035724Fd0e3914dE96A5a83aaf4\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.ZKsync Era.1.destinationToken:\n- \"eth:0x493257fD37EDB34451f62EDf8D2a0C418852bA4C\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.ZKsync Era.2.destinationToken:\n- \"eth:0xBBeB516fb02a01611cBBE0453Fe3c580D7281011\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.ZKsync Era.3.destinationToken:\n- \"eth:0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n }\n```"
}
]
},
{
"id": "42727fe1",
"date": "Mon, 10 Aug 2026 08:54:12 GMT",
"timestamp": 1786351959,
"description": "More pool rebalance routes across ten destination chains were disabled (see below for explanation).",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract HubPool (eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda) [acrossv3/HubPool] {\n +++ description: The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT.\n values.poolRebalanceRoutes.Ink.1.destinationToken:\n- \"eth:0x2D270e6886d130D724215A266106e6832161EAEd\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Blast.0.destinationToken:\n- \"eth:0x4300000000000000000000000000000000000004\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Blast.1.destinationToken:\n- \"eth:0xF7bc58b8D8f97ADC129cfC4c9f45Ce3C0E1D2692\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Blast.2.destinationToken:\n- \"eth:0x4300000000000000000000000000000000000003\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n }\n```"
}
]
},
{
"id": "ace77f23",
"date": "Wed, 29 Jul 2026 11:40:27 GMT",
"timestamp": 1785325146,
"description": "13 pool rebalance routes across ten destination chains were disabled by setting their destination token to the zero address. HubPool rejects root-bundle execution for disabled routes, so these token/chain pairs can no longer be used for pool rebalances and relayer refunds.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract HubPool (eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda) [acrossv3/HubPool] {\n +++ description: The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT.\n values.poolRebalanceRoutes.OP Mainnet.1.destinationToken:\n- \"eth:0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Unichain.1.destinationToken:\n- \"eth:0x078D782b760474a361dDA0AF3839290b0EF57AD6\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Polygon PoS.1.destinationToken:\n- \"eth:0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Polygon PoS.7.destinationToken:\n- \"eth:0xc2132D05D31c914a87C6611C10748AEb04B58e8F\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Monad.0.destinationToken:\n- \"eth:0x754704Bc059F8C67012fEd69BC8A327a5aafb603\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Monad.1.destinationToken:\n- \"eth:0xe7cd86e13AC4309349F30B3435a9d337750fC82D\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.World Chain.2.destinationToken:\n- \"eth:0x79A02482A880bCE3F13e09Da970dC34db4CD24d1\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.HyperEVM.0.destinationToken:\n- \"eth:0xb88339CB7199b77E23DB6E890353E22632Ba630f\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Base.1.destinationToken:\n- \"eth:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Plasma.0.destinationToken:\n- \"eth:0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Arbitrum One.1.destinationToken:\n- \"eth:0xaf88d065e77c8cC2239327C5EDb3A432268e5831\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Arbitrum One.7.destinationToken:\n- \"eth:0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Solana.0.destinationToken:\n- \"eth:0xaBc97431B1Bbe4C2D2f6E0E47ca60203452f5d61\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n }\n```"
}
]
},
{
"id": "8a0817f5",
"date": "Thu, 23 Jul 2026 13:55:34 GMT",
"timestamp": 1784814834,
"description": "22 pool rebalance routes were disabled by setting their destination tokens to the zero address.",
"isHighSeverity": false,
"changeCount": 22,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract HubPool (eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda) [acrossv3/HubPool] {\n +++ description: The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT.\n values.poolRebalanceRoutes.Ethereum.5.destinationToken:\n- \"eth:0x42bBFa2e77757C645eeaAd1655E0911a7553Efbc\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.OP Mainnet.4.destinationToken:\n- \"eth:0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Polygon PoS.4.destinationToken:\n- \"eth:0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Polygon PoS.5.destinationToken:\n- \"eth:0x1FcbE5937B0cc2adf69772D228fA4205aCF4D9b2\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Boba.0.destinationToken:\n- \"eth:0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Boba.1.destinationToken:\n- \"eth:0x66a2A913e447d6b4BF33EFbec43aAeF87890FBbc\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Boba.2.destinationToken:\n- \"eth:0xdc0486f8bf31DF57a952bcd3c1d3e166e3d9eC8b\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Boba.3.destinationToken:\n- \"eth:0x780f33Ad21314d9A1Ffb6867Fe53d48a76Ec0D16\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Boba.4.destinationToken:\n- \"eth:0xf74195Bb8a5cf652411867c5C2C5b8C2a402be35\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Boba.5.destinationToken:\n- \"eth:0xa18bF3994C0Cc6E3b63ac420308E5383f53120D7\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Boba.6.destinationToken:\n- \"eth:0x5DE1677344D3Cb0D7D465c10b72A8f60699C062d\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Boba.7.destinationToken:\n- \"eth:0x96821b258955587069F680729cD77369C0892B40\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.ZKsync Era.4.destinationToken:\n- \"eth:0x4B9eb6c0b6ea15176BBF62841C6B2A8a398cb656\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Lisk.0.destinationToken:\n- \"eth:0x4200000000000000000000000000000000000006\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Lisk.1.destinationToken:\n- \"eth:0x05D032ac25d322df992303dCa074EE7392C117b9\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Lisk.3.destinationToken:\n- \"eth:0x03C7054BCB39f7b2e5B2c7AcB37583e32D70Cfa3\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Lisk.4.destinationToken:\n- \"eth:0xF242275d3a6527d877f2c927a82D9b057609cc71\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Base.2.destinationToken:\n- \"eth:0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Arbitrum One.3.destinationToken:\n- \"eth:0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Linea.0.destinationToken:\n- \"eth:0x4AF15ec2A0BD43Db75dd04E62FAA3B8EF36b00d5\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Zora.0.destinationToken:\n- \"eth:0x4200000000000000000000000000000000000006\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Zora.1.destinationToken:\n- \"eth:0xCccCCccc7021b32EBb4e8C08314bD62F7c653EC4\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n }\n```"
}
]
},
{
"id": "c7f098bf",
"date": "Wed, 08 Jul 2026 12:42:41 GMT",
"timestamp": 1783509971,
"description": "7702 delegation of the `protocolFeeCaptureAddress` EOA.\n\nsome `poolRebalanceRoutes` (UMA v1, ACX,..) are routed to the zero address, meaning they are now unsupported.",
"isHighSeverity": true,
"changeCount": 26,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D) {\n +++ description: None\n sourceHashes.0:\n- \"0x1f44812af62d28f019e30e8eb2af596fb36c7db9d34576972c0405e110a6ef45\"\n+ \"0x3e6b48b0583e724b7006fcec0d9a021abd698deb8f7699582cdfee96bd65db4f\"\n values.$implementation:\n- \"eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B\"\n+ \"eth:0x69007702764179f14F51cdce752f4f775d74E139\"\n values.delegationManager:\n- \"eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3\"\n values.DOMAIN_VERSION:\n- \"1\"\n values.eip712Domain:\n- {\"fields\":\"0x0f\",\"name\":\"EIP7702StatelessDeleGator\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]}\n values.getDeposit:\n- 0\n values.getDomainHash:\n- \"0x3818b9766109877e09a9c427e7b310cde355550731129529095a7e6b02cf55ab\"\n values.getNonce:\n- 0\n values.NAME:\n- \"EIP7702StatelessDeleGator\"\n values.PACKED_USER_OP_TYPEHASH:\n- \"0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18\"\n values.VERSION:\n- \"1.3.0\"\n values.accountId:\n+ \"alchemy.sma-7702.1.0.0\"\n values.getFallbackSignerData:\n+ [\"eth:0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D\",false]\n }\n```\n\n```diff\n contract HubPool (eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda) [acrossv3/HubPool] {\n +++ description: The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT.\n values.Adapters.Avalanche:\n+ \"eth:0x1af659333172DC502bD71Cf5b889521C97751838\"\n values.CrossChainContracts.Avalanche:\n+ \"eth:0xFE9D541c92E4e90437C7152A00244886dE37a658\"\n values.poolRebalanceRoutes.Ethereum.3.destinationToken:\n- \"eth:0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Ethereum.9.destinationToken:\n- \"eth:0x44108f0223A3C3028F5Fe7AEC7f9bb2E66beF82F\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Ethereum.13.destinationToken:\n- \"eth:0x1ff1dC3cB9eeDbC6Eb2d99C03b30A05cA625fB5a\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.OP Mainnet.3.destinationToken:\n- \"eth:0xE7798f023fC62146e8Aa1b36Da45fb70855a77Ea\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.OP Mainnet.7.destinationToken:\n- \"eth:0xFf733b2A3557a7ed6697007ab5D11B79FdD1b76B\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Polygon PoS.3.destinationToken:\n- \"eth:0x3066818837c5e6eD6601bd5a91B0762877A6B731\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Polygon PoS.8.destinationToken:\n- \"eth:0xF328b73B6c685831F238c30a23Fc19140CB4D8FC\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Lens.1.destinationToken:\n- \"eth:0x6bDc36E20D267Ff0dd6097799f82e78907105e2F\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Arbitrum One.5.destinationToken:\n- \"eth:0xd693Ec944A85eeca4247eC1c3b130DCa9B0C3b22\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Arbitrum One.8.destinationToken:\n- \"eth:0x53691596d1BCe8CEa565b84d4915e69e03d9C99d\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Avalance_Adapter (eth:0x1af659333172DC502bD71Cf5b889521C97751838) [acrossv3/universalAdapter]\n +++ description: This adapter can be used to send messages / root bundles to chains that do not have a canonical adapter. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n```"
}
]
},
{
"id": "47ff22c2",
"date": "Fri, 26 Jun 2026 09:06:40 GMT",
"timestamp": 1782464735,
"description": "Address PR review feedback:\n- `AcrossBondToken` proposers permission is deduped into a single description that clarifies the two-level settlement model: proposals are bonded with ABT and settle optimistically on the HubPool with no UMA involvement; UMA token voting only kicks in when a dispute is raised via `disputeRootBundle()` within the challenge period.\n- Universal-adapter descriptions: replace the `{{DATA_STORE}}` template placeholder, which was rendering as a raw `eth:0x…` address, with the literal contract name `HubPoolStore` so the prose reads naturally.\n\nAlso catches up to onchain state since the last main discovery: two newly registered chain mappings (`CrossChainContracts` + `Adapters`) and a couple of `poolRebalanceRoutes` re-points/disables.",
"isHighSeverity": false,
"changeCount": 25,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract HubPool (eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda) [acrossv3/HubPool] {\n +++ description: The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT.\n values.Adapters.4663:\n+ \"eth:0xbc5E82035e2C8d4B335Ccb751D6BF47e44Dec678\"\n values.Adapters.5042:\n+ \"eth:0xCA5f9960022078F3585a188e06F910eeC29c7eBD\"\n values.CrossChainContracts.4663:\n+ \"eth:0xD29C85F15DF544bA632C9E25829fd29d767d7978\"\n values.CrossChainContracts.5042:\n+ \"eth:0x9b4A302A548c7e313c2b74C461db7b84d3074A84\"\n values.poolRebalanceRoutes.Ethereum.7.destinationToken:\n- \"eth:0xba100000625a3754423978a60c9317c58a424e3D\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Ethereum.10.destinationToken:\n- \"eth:0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Ethereum.11.destinationToken:\n- \"eth:0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Ethereum.12.destinationToken:\n- \"eth:0x6033F7f88332B8db6ad452B7C6D5bB643990aE3f\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Ethereum.15.destinationToken:\n- \"eth:0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.OP Mainnet.5.destinationToken:\n- \"eth:0xFE8B128bA8C78aabC59d4c64cEE7fF28e9379921\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.OP Mainnet.8.destinationToken:\n- \"eth:0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.OP Mainnet.9.destinationToken:\n- \"eth:0x395Ae52bB17aef68C2888d941736A71dC6d4e125\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.OP Mainnet.11.destinationToken:\n- \"eth:0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Polygon PoS.6.destinationToken:\n- \"eth:0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Polygon PoS.9.destinationToken:\n- \"eth:0x25788a1a171ec66Da6502f9975a15B609fF54CF6\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.World Chain.3.destinationToken:\n- \"eth:0x7077C71B4AF70737a08287E279B717Dcf64fdC57\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Lisk.2.destinationToken:\n- \"eth:0xac485391EB2d7D88253a7F1eF18C37f4242D1A24\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Base.3.destinationToken:\n- \"eth:0x4158734D47Fc9692176B5085E0F52ee0Da5d47F1\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Base.4.destinationToken:\n- \"eth:0xd652C5425aea2Afd5fb142e120FeCf79e18fafc3\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Base.5.destinationToken:\n- \"eth:0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Arbitrum One.6.destinationToken:\n- \"eth:0x040d1EdC9569d4Bab2D15287Dc5A4F10F56a56B8\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.poolRebalanceRoutes.Arbitrum One.9.destinationToken:\n- \"eth:0xCF934E2402A5e072928a39a956964eb8F2B5B79C\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Universal_Adapter (eth:0xbc5E82035e2C8d4B335Ccb751D6BF47e44Dec678) [acrossv3/universalAdapter]\n +++ description: This adapter can be used to send messages / root bundles to chains that do not have a canonical adapter. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n```\n\n```diff\n+ Status: CREATED\n contract Universal_Adapter (eth:0xCA5f9960022078F3585a188e06F910eeC29c7eBD) [acrossv3/universalAdapter]\n +++ description: This adapter can be used to send messages / root bundles to chains that do not have a canonical adapter. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract Optimism_SpokePool (oeth:0x6f26Bf09B1C792e3228e5467807a900A503c0281) [acrossv3/SpokePool]\n +++ description: The user-facing contract on each connected chain where funds are deposited to initiate a bridge transfer. It also receives settlement data from the HubPool to process refunds for the relayers who fulfilled those transfers.\n```"
}
]
},
{
"id": "6923b5cd",
"date": "Thu, 21 May 2026 09:26:54 GMT",
"timestamp": 1779355521,
"description": "spoke contract on tron updated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract HubPool (eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda) [acrossv3/HubPool] {\n +++ description: The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT.\n values.CrossChainContracts.728126428:\n- \"eth:0x284352bb448C65b75EbE004862e4f4531042d628\"\n+ \"eth:0xc148aF9B50Bc03Cc0c616Cd85C66Aae9bD90cD80\"\n }\n```"
}
]
},
{
"id": "9376debd",
"date": "Mon, 13 Apr 2026 09:14:19 GMT",
"timestamp": 1776070910,
"description": "add adapter for Tron.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract HubPool (eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda) {\n +++ description: The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT.\n values.Adapters.728126428:\n+ \"eth:0xA1da1A70cc9F27F4aEDff1d515B1a0C47fb6c3Db\"\n values.CrossChainContracts.728126428:\n+ \"eth:0x284352bb448C65b75EbE004862e4f4531042d628\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Universal_Adapter (eth:0xA1da1A70cc9F27F4aEDff1d515B1a0C47fb6c3Db)\n +++ description: This adapter can be used to send messages / root bundles to Tron. It stores calldata in the eth:0x1Ace3BbD69b63063F859514Eca29C9BDd8310E61 on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n```"
}
]
},
{
"id": "18688153",
"date": "Tue, 24 Mar 2026 12:01:22 GMT",
"timestamp": 1774353602,
"description": "7702 delegation.",
"isHighSeverity": true,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n sourceHashes:\n+ [\"0x41c6ce964a4ef3e910f9ddf78152734dae8d1b1094ffc8334c50249a3b112bbf\"]\n values:\n+ {\"$implementation\":\"eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B\",\"delegationManager\":\"eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3\",\"DOMAIN_VERSION\":\"1\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"EIP7702StatelessDeleGator\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"entryPoint\":\"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032\",\"getDeposit\":0,\"getDomainHash\":\"0x3818b9766109877e09a9c427e7b310cde355550731129529095a7e6b02cf55ab\",\"getNonce\":0,\"NAME\":\"EIP7702StatelessDeleGator\",\"PACKED_USER_OP_TYPEHASH\":\"0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18\",\"VERSION\":\"1.3.0\"}\n }\n```"
}
]
},
{
"id": "f23bdedf",
"date": "Mon, 02 Mar 2026 08:59:50 GMT",
"timestamp": 1772441911,
"description": "ms change.",
"isHighSeverity": false,
"changeCount": 48,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract VotingV2 (eth:0x004395edb43EFca9885CEdad51EC9fAf93Bd34ac)\n +++ description: Core smart contract for UMA's Data Verification Mechanism (DVM), serving as source of truth for disputed claims. UMA token holders collectively resolve price requests and earn rewards for correct participation. Commit- and reveal phases for the voting take 1d each.\n```\n\n```diff\n+ Status: CREATED\n contract Zora_Adapter (eth:0x024F2fC31CBDD8de17194b1892c834f98Ef5169b)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract Soneium_Adapter (eth:0x0c9d064523177dBB55CFE52b9D0c485FBFc35FD2)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract Universal_Adapter (eth:0x0ec70777Ac388774041dD5A1778Cdf3AF3134D2B)\n +++ description: This adapter can be used to send messages / root bundles to Hyperliquid. It stores calldata in the eth:0x1Ace3BbD69b63063F859514Eca29C9BDd8310E61 on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero.\n```\n\n```diff\n+ Status: CREATED\n contract Redstone_Adapter (eth:0x188F8C95B7cfB7993B53a4F643efa687916f73fA)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract HubPoolStore (eth:0x1Ace3BbD69b63063F859514Eca29C9BDd8310E61)\n +++ description: Simple data store used by the Universal_Adapter to store message calldata hashes. The content of this calldata can be proven by Ethereum zk light clients on remote chains and then executed to relay root bundles or arbitrary messages.\n```\n\n```diff\n+ Status: CREATED\n contract Scroll_Adapter (eth:0x2DA799c2223c6ffB595e578903AE6b95839160d8)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract Boba_Adapter (eth:0x33B0Ec794c15D6Cc705818E70d4CaCe7bCfB5Af3)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism_Adapter (eth:0x3562e309C6C79626E5F0Cf746FB5Bf4f6b8EebE5)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract AcrossConfigStore (eth:0x3B03509645713718B78951126E0A6de6f10043f5)\n +++ description: Simple, owner-controlled contract for storing protocol-wide, token-specific configuration data.\n```\n\n```diff\n+ Status: CREATED\n contract Registry (eth:0x3e532e6222afe9Bcf02DCB87216802c75D5113aE)\n +++ description: Registry for contracts that are allowed to call `requestPrice()` in the UMA voting contracts (ie. request dispute resolution by the UMA DVM).\n```\n\n```diff\n+ Status: CREATED\n contract Finder (eth:0x40f941E48A552bF496B154Af6bf55725f18D77c3)\n +++ description: Maps interface names to contract addresses (UMA protocol contracts).\n```\n\n```diff\n+ Status: CREATED\n contract AdapterStore (eth:0x42df4D71f35ffBD28ae217d52E83C1DA0007D63b)\n +++ description: A helper contract for chain adapters on the hub chain that support OFT messaging. Handles token -> messenger mapping.\n```\n\n```diff\n+ Status: CREATED\n contract Universal_Adapter (eth:0x4577980eBFCC6fC8ff516aC06dA9e729c40cA57c)\n +++ description: This adapter can be used to send messages / root bundles to chains that do not have a canonical adapter. It stores calldata in the eth:0x1Ace3BbD69b63063F859514Eca29C9BDd8310E61 on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n```\n\n```diff\n+ Status: CREATED\n contract ProposerV2 (eth:0x50efaC9619225d7fB4703C5872da978849B6E7cC)\n +++ description: Token governance contract allowing anyone to create a UMA governance proposal for a bond of 5,000 UMA tokens.\n```\n\n```diff\n+ Status: CREATED\n contract Ethereum_Adapter (eth:0x527E872a5c3f0C7c24Fe33F2593cFB890a285084)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract Polygon_Adapter (eth:0x537abE038C223066B50312474409924487D2E655)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract Ink_Adapter (eth:0x545E43B6eC2f9a44CAa531298699Ff05958670B5)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract Store (eth:0x54f44eA3D2e7aA0ac089c4d8F7C93C27844057BF)\n +++ description: UMA protocol contract responsible for calculating and collecting regular and final fees for using the DVM.\n```\n\n```diff\n+ Status: CREATED\n contract Linea_Adapter (eth:0x5A44A32c13e2C43416bFDE5dDF5DCb3880c42787)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract Ethereum_SpokePool (eth:0x5c7BCd6E7De5423a257D81B442095A1a6ced35C5)\n +++ description: The user-facing contract on each connected chain where funds are deposited to initiate a bridge transfer. It also receives settlement data from the HubPool to process refunds for the relayers who fulfilled those transfers.\n```\n\n```diff\n+ Status: CREATED\n contract ZkStack_CustomGasToken_Adapter (eth:0x5e0B7e20a77BDf11812837D30F1326068Bcf24Cf)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract Universal_Adapter (eth:0x6f1C9d3bcDF51316E7b515a62C02F601500b084b)\n +++ description: This adapter can be used to send messages / root bundles to Binance Smart Chain. It stores calldata in the eth:0x1Ace3BbD69b63063F859514Eca29C9BDd8310E61 on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero.\n```\n\n```diff\n+ Status: CREATED\n contract Alephzero_Adapter (eth:0x6F4083304C2cA99B077ACE06a5DcF670615915Af)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract Base_Adapter (eth:0x799BDC55d91864b14B2eD63A34DeF5d502AA897f)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract GovernorV2 (eth:0x7b292034084A41B9D441B71b6E3557Edd0463fa8)\n +++ description: Central UMA governance contract. It executes administrative proposals that have been passed by UMA token holder votes.\n```\n\n```diff\n+ Status: CREATED\n contract UMA Multisig (eth:0x8180D59b7175d4064bDFA8138A58e9baBFFdA44a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimisticGovernor (eth:0x8692B776d1Ff0664177c90465038056Dc64f8991)\n +++ description: Optimistic Governance module allowing for proposals by anyone with a bond of 2 WETH. They become executable if not challenged within 2d. The rules for proposals can be read directly from the contract values.\n```\n\n```diff\n+ Status: CREATED\n contract DoctorWho_Adapter (eth:0x8956eFa31572E1d7ed5c8e36772F214A57DFA0D1)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract WorldChain_Adapter (eth:0x8bbdD67102D743b8533c1277a4ffdA04Dea158D1)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract EmergencyProposer (eth:0x91F1804aCaf87C2D34A34A70be1bb16bB85D6748)\n +++ description: Token governance contract allowing anyone to create a UMA governance proposal for a bond of 5,000,000 UMA tokens. This circumvents the UMA optimistic oracle but can only be executed or removed after 10d, and only by eth:0x8180D59b7175d4064bDFA8138A58e9baBFFdA44a.\n```\n\n```diff\n+ Status: CREATED\n contract FixedSlashSlashingLibrary (eth:0x9a406ba5a99983250Fd663947b3c968D387ce5cd)\n +++ description: Stores slashing parameters and calculates slashing amounts based on that (UMA protocol).\n```\n\n```diff\n+ Status: CREATED\n contract Solana_Adapter (eth:0x9F788694934fD2Ed34D5340B9a76EB34f2bFD7B3)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract ZkStack_Adapter (eth:0xA374585E6062517Ee367ee5044946A6fBe17724f)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract Universal_Adapter (eth:0xb47fD69FE25878F4E43aAF2F9ad7D0A3A0B22363)\n +++ description: This adapter can be used to send messages / root bundles to Plasma Mainnet. It stores calldata in the eth:0x1Ace3BbD69b63063F859514Eca29C9BDd8310E61 on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero.\n```\n\n```diff\n+ Status: CREATED\n contract Across Multisig (eth:0xB524735356985D2f267FA010D681f061DfF03715)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Arbitrum_Adapter (eth:0xc0b6d2f794cc787C71f2cA5ceCD57102C32379B3)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract HubPool (eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda)\n +++ description: The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT.\n```\n\n```diff\n+ Status: CREATED\n contract Monad_Adapter (eth:0xC29a3Ba0fBf477F16Fd53d2C438Eade024FD8452)\n +++ description: This adapter can be used to send messages / root bundles to chains that do not have a canonical adapter. It stores calldata in the eth:0x1Ace3BbD69b63063F859514Eca29C9BDd8310E61 on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n```\n\n```diff\n+ Status: CREATED\n contract IdentifierWhitelist (eth:0xcF649d9Da4D1362C4DAEa67573430Bd6f945e570)\n +++ description: Keeps a list of whitelisted identifiers that are accepted by the UMA v3 protocol. Across uses the identifier `ACROSS-V2` for its disputes.\n```\n\n```diff\n+ Status: CREATED\n contract AddressWhitelist (eth:0xdBF90434dF0B98219f87d112F37d74B1D90758c7)\n +++ description: A simple address whitelist for tokens that can be used as bonds and/or fees. This whitelist is checked and enforced by various smart contracts in the UMA ecosystem.\n```\n\n```diff\n+ Status: CREATED\n contract OP_Adapter (eth:0xE1f04404b74F996A311F13aE291849fC153578Ac)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract AcrossBondToken (ABT) (eth:0xee1DC6BCF1Ee967a350e9aC6CaaAA236109002ea)\n +++ description: A bond token wrapping ETH for usage in the Across protocol. Implements modified ERC20 logic to only allow permissioned proposers to use it as a bond for root bundle proposals.\n```\n\n```diff\n+ Status: CREATED\n contract SkinnyOptimisticOracle (eth:0xeE3Afe347D5C74317041E2618C49534dAf887c24)\n +++ description: Validates bridge messages by allowing proposers to make bonded assertions about crosschain events. It enforces a challenge period during which any invalid claims can be disputed and escalated to UMA's Data Verification Mechanism (DVM) for resolution.\n```\n\n```diff\n+ Status: CREATED\n contract Lisk_Adapter (eth:0xF039AdCC74936F90fE175e8b3FE0FdC8b8E0c73b)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract Mode_Adapter (eth:0xf1B59868697f3925b72889ede818B9E7ba0316d0)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract Blast_Adapter (eth:0xF2bEf5E905AAE0295003ab14872F811E914EdD81)\n +++ description: Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n```\n\n```diff\n+ Status: CREATED\n contract OptimisticOracleV3 (eth:0xfb55F43fB9F48F63f9269DB7Dde3BbBe1ebDC0dE)\n +++ description: Standard UMA optimistic oracle contract that allows anyone to make an arbitrary claim by posting a bond. The claim is considered true unless it is successfully disputed within a challenge window, with UMA's DVM acting as the final arbiter for disputes.\n```"
}
]
}
]
aztecnetwork+18-4
scalingTechnology+3-3
{
"dataAvailability": [
{
"name": "All transaction results (state diffs) are published in Ethereum blobs",
"description": "Each checkpoint proposal includes EIP-4844 blob commitments for state diffs, checked against the blob hashes in the proposing transaction. The epoch proof revalidates the accumulated commitments before finalization. Public transaction bodies and client CHONK proofs propagate offchain; withholding them can prevent permissionless proving, causing the pending checkpoint to expire and be pruned rather than finalized.",
"references": [
{
"title": "Rollup.sol - propose() on Etherscan",
"url": "https://etherscan.io/address/0x91fF8bbD8Ebb07893010D50A48A1609e5EBd8E34#code"
},
{
"title": "Rollup.sol - validateBlobs() on Etherscan",
"url": "https://etherscan.io/address/0x91fF8bbD8Ebb07893010D50A48A1609e5EBd8E34#code"
}
],
"risks": []
}
],
"exitMechanisms": [
{
"name": "Regular messaging",
"description": "The user initiates L2->L1 messages by submitting a regular transaction on this chain. When the block containing that transaction is settled, the message becomes available for processing on L1. ZK proofs are required to settle blocks. Once the epoch root proof has been verified, the rollup inserts the epoch root into the Outbox, from which withdrawals and other L2->L1 messages can be consumed on Ethereum. Withdrawals can be initiated privately on L2, revealing only the L1-facing portion of the transaction. There is no canonical bridge escrow: only the canonical messaging layer is immutable, while each token bridged through a locking escrow may introduce additional trust assumptions tied to that specific escrow.",
"risks": [],
"references": [
{
"title": "Rollup.sol - submitEpochRootProof() on Etherscan",
"url": "https://etherscan.io/address/0x91fF8bbD8Ebb07893010D50A48A1609e5EBd8E34#code"
},
{
"title": "Outbox.sol - consume() on Etherscan",
"url": "https://etherscan.io/address/0x5B062aB5fD3A66BC7e73b04CeD38587673b6A2D7#code"
}
]
}
],
"forceTransactions": {
"name": "Bonded, probabilistic self-sequencing",
"description": "There is no L1 forced-transaction queue. A censored user must wait for an honest regular committee or for an honest, sufficiently capitalized escape-hatch candidate to enroll, become eligible, be selected, include the transaction, and produce a valid proof.",
"risks": [
{
"category": "Users can be censored if",
"text": "no honest regular proposer or eligible bonded escape-hatch proposer includes and proves their transactions."
}
],
"references": [
{
"title": "EscapeHatch.sol on Etherscan",
"url": "https://etherscan.io/address/0xF459348962F5eA3A9A101826B03A2CE1F459E51A#code"
}
]
},
"operator": {
"name": "There is no central operator",
"description": "There is no privileged sequencer. Anyone can stake 200.00 K AZTEC to join the sequencer queue, and anyone can call flushEntryQueue() to activate queued sequencers once the queue rules allow it.",
"risks": [],
"references": [
{
"title": "Rollup.sol - deposit() on Etherscan",
"url": "https://etherscan.io/address/0x91fF8bbD8Ebb07893010D50A48A1609e5EBd8E34#code"
},
{
"title": "Rollup.sol - flushEntryQueue() on Etherscan",
"url": "https://etherscan.io/address/0x91fF8bbD8Ebb07893010D50A48A1609e5EBd8E34#code"
}
]
},
"otherConsiderations": [
{
"name": "Upgrades replace the canonical rollup",
"description": "The core contracts are immutable, but Governance owns the Registry and GSE and can register a new rollup version as canonical after the governance delay.",
"references": [
{
"title": "Registry.sol - addRollup() on Etherscan",
"url": "https://etherscan.io/address/0x35b22e09Ee0390539439E24f06Da43D83f90e298#code"
},
{
"title": "Governance.sol - execute() on Etherscan",
"url": "https://etherscan.io/address/0x1102471Eb3378FEE427121c9EfcEa452E4B6B75e#code"
}
],
"risks": []
},
{
"name": "No canonical bridge escrow",
"description": "There is no default canonical escrow. The rollup is deployed only with an immutable canonical messaging bridge, which can be used by any escrow. As a result, each token bridged to Aztec via Ethereum lock-mint must be assessed individually by examining its specific locking escrow. The trust assumptions of a given escrow may differ from those of the immutable rollup itself. Gas tokens are bridged through the FeeJuicePortal, an immutable one-way portal that only supports bridging to public L2 addresses. Although the rollup and its canonical messaging bridge are immutable, an upgradeable escrow could migrate its funds to a new rollup version without requiring users to migrate, effectively trading immutability for convenience.",
"references": [
{
"title": "FeeJuicePortal.sol - on Etherscan",
"url": "https://etherscan.io/address/eth:0xaf73Dd51D1eb8a079BB097f39c832cDD00ac691c#code"
},
{
"title": "Outbox.sol - on Etherscan",
"url": "https://etherscan.io/address/0x5B062aB5fD3A66BC7e73b04CeD38587673b6A2D7#code"
}
],
"risks": []
},
{
"name": "Inclusion is probabilistic",
"description": "All protocol-level censorship-resistance tools are probabilistic. Unlike an L1 forced-transaction queue, they do not guarantee inclusion after a fixed delay. The launch-era decentralized-sequencer model estimated 20d to reach its target exit probability under its stated assumptions; it is not a current protocol guarantee and does not model validator-set changes, the escape hatch, or adversarial queue saturation. Private transactions and the bonded escape hatch can improve inclusion probability, but neither creates a deterministic deadline.",
"references": [
{
"title": "CRsim - Simulated inclusion probability on Aztec",
"url": "https://sekuba.github.io/crsim"
}
],
"risks": []
}
],
"sequencing": {
"name": "Transactions are ordered by a staked validator committee",
"description": "Joining the sequencer set is permissionless and requires staking 200.00 K AZTEC. For each epoch, the Rollup samples a 48-member committee from the active set of 3237 and selects one proposer per slot. The proposer for slot N builds the checkpoint and collects attestations during slot N-1, then submits the assembled checkpoint to Ethereum in slot N. More than two-thirds of the sampled committee must attest; the proof path verifies the attestation data before the checkpoint can become final.",
"description": "Joining the sequencer set is permissionless and requires staking 200.00 K AZTEC. For each epoch, the Rollup samples a 48-member committee from the active set of 3187 and selects one proposer per slot. The proposer for slot N builds the checkpoint and collects attestations during slot N-1, then submits the assembled checkpoint to Ethereum in slot N. More than two-thirds of the sampled committee must attest; the proof path verifies the attestation data before the checkpoint can become final.",
"sequencingSpec": {
"type": "sequencer-set",
"blockTime": {
"value": "6s",
"description": "Current expected interval between L2 block proposals. Multiple blocks can be produced by the same proposer within one slot, so this interval can differ from the proposer rotation interval."
},
"proposerRotationTime": {
"value": "1m 12s"
},
"committeeRotationTime": {
"value": "38m 24s",
"description": "A random committee is sampled from the sequencer set for each epoch, a random block producer is sampled from the committee for each slot in the epoch"
},
"sequencerCount": {
"value": "3237 sequencers",
"value": "3187 sequencers",
"secondLine": "586.92 M AZTEC"
},
"blockProductionAccess": {
"value": "Open",
"sentiment": "good"
},
"stakePerValidator": {
"value": "200.00 K AZTEC, constant"
},
"rateLimit": {
"value": "4 sequencers / epoch",
"description": "Can be changed by onchain Governance, but the contract requires nonzero minimum, divisor, and maximum queue-flush parameters."
},
"deterministicCrGadget": {
"value": "No",
"sentiment": "warning"
},
"additionalCrGadgets": {
"value": "Bonded escape hatch, private transactions",
"secondLine": "332.00 M AZTEC; every 2d 23h",
"sentiment": "good",
"description": "Escape hatch: 332.00 M AZTEC bond to enter a set from which one proposer is periodically selected every 2d 23h to bypass the regular committee, include transactions, and prove the resulting checkpoints. 1.66 M AZTEC proposal tax. Private transactions: allow users to cheaply resist censorship based on transaction content while the chain is live."
},
"inclusionDelayChart": {
"type": "committeelike",
"validatorCount": 3237,
"validatorCount": 3187,
"committeeSize": 48,
"epochSlots": 32,
"slotSeconds": 72,
"blockingThreshold": 15,
"target": 0.99,
"maxCensorFraction": 0.5,
"stakeDistribution": {
"stakeToken": "AZTEC",
"dateType": "fetched",
"date": "2026-08-06T08:48:58.509Z",
"totalStake": 586930000,
"entities": [
{
"name": "Nethermind",
"stake": 106400000
},
{
"name": "Nansen | Stake to Stack Points",
"stake": 72000000
},
{
"name": "Sigma Prime",
"stake": 64600000
},
{
"name": "P2P.org",
"stake": 38250000
},
{
"name": "snoopfear|PON",
"stake": 37200000
},
{
"name": "ZKV",
"stake": 30816000
},
{
"name": "Wonderland",
"stake": 27308000
},
{
"name": "GabbexNodes",
"stake": 27000000
},
{
"name": "Nightwolf Labs",
"stake": 23000000
},
{
"name": "DCG",
"stake": 22600000
}
]
}
},
"inclusionDelayChartDescription": "The chart models live-chain selective censorship only. It does not model the escape hatch, validator-set changes, validator-set lag, and blanket-censorship resistance gadgets."
},
"censorshipResistance": "The regular committee can be circumvented by the escape hatch, which uses RANDAO to designate a previously enrolled bonded candidate that may publish checkpoints without committee attestations. Enrollment requires 332.00 M AZTEC, a high bond intended to protect the single-proof system while providing a last-resort path around the regular sequencer set. A designated candidate that fails to propose and prove loses 9.60 M AZTEC from their bond. Aztec's private execution environment can also make selective censorship harder because transaction contents are hidden.\n\n### Selective censorship\n\nOn a live network with some censoring sequencers, users can submit private transactions or wait for an honest committee and proposer to include their public transaction.\n\n### Blanket censorship\n\nIf the entire active set censors or stops producing checkpoints, a new sequencer can join through the permissionless staking queue, subject to its churn limits. A sufficiently capitalized account can instead enroll for the escape hatch, but enrollment, candidate-set snapshots, eligibility, and RANDAO selection are lagged. Specialized proving hardware is still required. Adversaries can also saturate the entry queue or candidate set and reduce an honest user's inclusion probability.\n\n### Walkaway\n\nHatch opportunities occur approximately every 2d 23h, but the candidate set can be empty and selection, proposal, and proving can fail. The protocol therefore provides no deterministic maximum inclusion delay; permissionless validator entry and the bonded hatch only improve the probability that the chain eventually recovers.",
"references": [
{
"title": "Aztec docs - Privacy considerations",
"url": "https://github.com/AztecProtocol/aztec-packages/blob/next/docs/docs-developers/docs/resources/considerations/privacy_considerations.md#function-fingerprints-and-tx-fingerprints"
},
{
"title": "Rollup.sol - getProposerAt() on Etherscan",
"url": "https://etherscan.io/address/0x91fF8bbD8Ebb07893010D50A48A1609e5EBd8E34#code"
},
{
"title": "EscapeHatch.sol - selectCandidates() on Etherscan",
"url": "https://etherscan.io/address/0xF459348962F5eA3A9A101826B03A2CE1F459E51A#code"
}
],
"risks": []
},
"stateValidation": {
"description": "Each epoch root proof is verified by the HonkVerifier smart contract on Ethereum before the proven checkpoint number is advanced and the epoch outbox state root is inserted into the Outbox. Proving is permissionless, and a single proof can cover one Checkpoint (1m 12s) to one epoch (38m 24s). The current maximum proof window is 1h 16m; checkpoints later in an epoch have less time, and unproven checkpoints are pruned.",
"categories": [
{
"title": "State root proposals",
"description": "The rollup only advances the proven chain after submitEpochRootProof() succeeds. That call verifies the epoch proof and then inserts the epoch outbox state root for L2->L1 messaging.",
"references": [
{
"title": "Rollup.sol - submitEpochRootProof() on Etherscan",
"url": "https://etherscan.io/address/0x91fF8bbD8Ebb07893010D50A48A1609e5EBd8E34#code"
}
],
"risks": []
},
{
"title": "Validity proofs",
"description": "Each update to the system state must be accompanied by a ZK proof that ensures that the new state was derived by correctly applying a series of valid user transactions to the previous state. These proofs are then verified on Ethereum by a smart contract.",
"risks": [],
"references": [
{
"title": "Rollup.sol - submitEpochRootProof() on Etherscan",
"url": "https://etherscan.io/address/0x91fF8bbD8Ebb07893010D50A48A1609e5EBd8E34#code"
},
{
"title": "HonkVerifier.sol - verify() on Etherscan",
"url": "https://etherscan.io/address/0x098f47c00F4df22a8030746Eb11378236C24b4bC#code"
}
]
},
{
"title": "Slashing",
"description": "Each 200.00 K AZTEC stake used to join the sequencer set and vote in governance can be slashed. The designated proposer for each slot can submit one separate signed ballot on L1. Ballots are grouped into rounds spanning 4 epochs (2h 33m).\n\nSlashing conditions are implemented in sequencer-node software and can change when operators update or modify that software. The onchain `SlashingProposer` enforces the voting and execution rules:\n\n* Ballots in a round target committee members from 2 rounds earlier.\n* Quorum is evaluated separately for each validator position and penalty level, not for the round as a whole. At least 65 matching ballots out of up to 128 slots are required. Votes for a higher penalty also count toward every lower level, and each validator is slashed once at the highest level that reaches quorum.\n* A round becomes executable after more than 28 rounds (approximately 2d 23h) and expires at age 34 rounds, leaving a 6-round execution window.\n* Anyone can call `executeRound()` during that window. It verifies committee commitments, skips escape-hatch epochs, deploys a deterministic payload for the approved actions, and asks the authorized Slasher to execute it.\n\nThe current onchain penalty levels are large (5.00 K AZTEC), medium (5.00 K AZTEC), and small (2.00 K AZTEC). Offenses that node software can ballot for include:\n\n* **Inactivity:** a sequencer fails to attest or propose when selected.\n* **Data withholding:** a sequencer publishes state-diff blobs but withholds public transaction bodies or CHONK proofs needed for permissionless proving.\n* **Invalidity or equivocation:** a sequencer attests to an invalid proposal, signs conflicting proposals or attestations, or uses an invalid signature.\n\nThis list and the mapping of offenses to penalty levels are not exhaustive or defined by the L1 contracts; they depend on the software each sequencer runs.\n\nThe SlashVeto Council is a 5/9 Multisig. It can permanently veto a specific payload, repeatedly renew a global 3d pause, or re-enable slashing before a pause expires. Governance can submit Slasher payloads without ballot approval, but it cannot bypass these veto and pause checks.",
"references": [
{
"title": "SlashingProposer.sol on Etherscan",
"url": "https://etherscan.io/address/eth:0x8A36b8F2Ca71D8d8Bd98e03Ebf8B4D0939Daf0bA#code"
},
{
"title": "Slasher.sol on Etherscan",
"url": "https://etherscan.io/address/eth:0xCD6855470A01aBcd989126A1183Fb50673952548#code"
},
{
"title": "SlashVeto Council - Github",
"url": "https://github.com/aztec-slash-veto/council"
},
{
"title": "slashveto.me - Monitor Slashing",
"url": "https://slashveto.me"
}
],
"risks": []
}
]
},
"upgradesAndGovernance": {
"content": "# Standard path (sequencer signaling)\n\nSequencers stake AZTEC to secure the L2 and also participate in protocol governance. Every proposal is a smart contract payload on Ethereum. The public proposal flow takes at least 12d before execution, after which Governance can change the bounded parameters described below or deploy and register a new canonical rollup version.\n\n## 1. Signaling (`GovernanceProposer`)\n\nAztec uses an onchain \"Empire\" signaling system. The designated proposer for each slot on the canonical rollup can separately signal support for one payload on L1. A round consists of 1,000 slots. A payload that receives at least 600 signals wins the round and can be submitted to `Governance`.\n\n## 2. Token voting (`Governance`)\n\nOnce submitted, a proposal passes through these states:\n\n* **Pending (3d):** voting power is snapshotted at the end of this delay.\n* **Active (7d):** AZTEC holders vote. The snapshot must contain at least 100.00 M AZTEC of total voting power, at least 20% of that power must vote, and `yea` must be strictly greater than 66.5% of votes cast (the configured `yea`-minus-`nay` margin is 33%).\n* **Queued (2d):** a successful proposal waits before it can be executed. This final phase alone is shorter than the validator withdrawal delay, but the complete public process provides at least 12d of notice. Initiating an exit immediately removes a validator from the active set, while its stake becomes withdrawable after 4d.\n* **Executable (7d):** anyone can execute the proposal during this grace period; otherwise it expires.\n\n## Emergency proposal path\n\nIf sequencer signaling is unavailable, anyone can call `proposeWithLock()` directly on `Governance`. The proposer must lock **258.75 M AZTEC**, roughly 2.5% of the total supply, for 3mo. The payload then follows the same pending, voting, queued, and executable phases as a signaled proposal.\n\n## Immutable deployments and bounded ownership\n\nThe `Rollup`, verifier, `Inbox`, `Outbox`, and installed `EscapeHatch` code cannot be upgraded in place. Feature upgrades deploy a new stack and use Governance to register its Rollup in the `Registry` and GSE. Validators staked to the bonus instance (`0x9064Fb41156D300196d5Eb95E0B3c1f08eBc39a8`) follow the newest GSE Rollup automatically; validators explicitly bound to an older Rollup remain associated with it.\n\nGovernance owns the Rollup, but its setter surface is intentionally constrained: it can change the sequencer/prover reward split and checkpoint reward, only increase the mana target, change proving cost delayed and within bounds, and update validator-entry rate within non-zero values. It can queue a replacement Slasher with a 2mo delay. The outgoing Slasher then remains active for 1mo. The EscapeHatch, the reward distributor and reward-booster addresses are fixed for the deployment.\n\nGovernance also owns the GSE and can register a new latest Rollup or set the proof-of-possession gas limit too low for new validator deposits. These powers can move incentives and bonus-instance validators away from the current version, but they do not mutate this deployment's verifier, messaging contracts, or installed EscapeHatch.\n\n## Slashing and the SlashVeto Council\n\nAztec's onchain slashing path uses `SlashingProposer` ballots and the `Slasher`. Governance can bypass the proposer and submit a payload directly to the Slasher, and can rotate the authorized Slasher through the delayed Rollup process described above. Both the ballot and direct-governance paths remain subject to payload vetoes and global pauses by the SlashVeto Council.\n\nThe **Vetoer** role is held by the SlashVeto Council. It cannot upgrade the protocol or relay arbitrary calls. It can:\n\n* veto a specific payload permanently; and\n* disable all slashing for 3d. Calling the function again renews the pause, while the Council can also re-enable slashing early.\n\n## Economics and treasury\n\n* **CoinIssuer:** the owner can mint AZTEC within an annual cap of 20% of the current total supply.\n* **ProtocolTreasury:** the DAO's treasury is gated until approximately Nov 2026 and is additionally subject to an ATP-derived activation timestamp and proposal-ordering checks. Once every gate is satisfied, a Governance proposal can relay arbitrary calls and value through the treasury."
},
"warning": "Aztec v5 has a [known critical proving-system vulnerability](https://aztec.network/blog/alpha-v5-proving-system-vulnerability) that puts funds, applications, and contract state at risk. A fix is planned for v6."
}
[
{
"id": "6b2a56dd",
"date": "Tue, 15 Sep 2026 11:31:40 GMT",
"timestamp": 1789471807,
"description": "Revoker changed: This is used to revoke vesting token positions.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AztecTokenPositionRegistry_ProtocolTreasury (eth:0xD938bE4A2cB41105Bc2FbE707dca124A2e5d0c80) [aztecnetwork/AztecTokenPositionRegistry] {\n +++ description: AZTEC token-position Registry referenced by the ProtocolTreasury for its activation cutoff and by other ecosystem vesting contracts.\n+++ description: Address used by ATP positions as the revocation authority.\n values.getRevoker:\n- \"eth:0xA70D1A21b251eE5F15C4aD77179114d70917F0Bf\"\n+ \"eth:0x92Ba0FD39658105FaC4dF2B9BADE998B5816b350\"\n }\n```"
}
]
},
{
"id": "143cc3fe",
"date": "Wed, 19 Aug 2026 14:30:13 GMT",
"timestamp": 1787149104,
"description": "The Registry owner (EOA) appointed a one-shot revocation payload, which then marked 29 milestone ATPs with a total allocation of 35,579,336 AZTEC as revoked. The ATPs are token vaults that vest over time to a given beneficiary address. This is Aztec Labs internal accounting, not DAO related.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AztecTokenPositionRegistry_ProtocolTreasury (eth:0xD938bE4A2cB41105Bc2FbE707dca124A2e5d0c80) [aztecnetwork/AztecTokenPositionRegistry] {\n +++ description: AZTEC token-position Registry referenced by the ProtocolTreasury for its activation cutoff and by other ecosystem vesting contracts.\n+++ description: Address used by ATP positions as the revocation authority.\n values.getRevoker:\n- \"eth:0x92Ba0FD39658105FaC4dF2B9BADE998B5816b350\"\n+ \"eth:0xA70D1A21b251eE5F15C4aD77179114d70917F0Bf\"\n }\n```"
}
]
},
{
"id": "abfb8869",
"date": "Wed, 29 Jul 2026 11:40:44 GMT",
"timestamp": 1785325171,
"description": "The existing three-day slashing pause expired (the `slashingDisabledUntil` value did not change), so slash payload execution is enabled again.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Slasher (eth:0xCD6855470A01aBcd989126A1183Fb50673952548) [aztecnetwork/Slasher] {\n +++ description: Executes payload actions submitted by the authorized slashing proposer or Governance. Execution is blocked while slashing is disabled or when the vetoer has vetoed the payload; voting and execution-delay rules are enforced by the proposer, while Governance can bypass the proposer.\n+++ description: Whether slash payload execution is currently enabled.\n values.isSlashingEnabled:\n- false\n+ true\n }\n```"
}
]
},
{
"id": "e545f162",
"date": "Thu, 23 Jul 2026 13:54:50 GMT",
"timestamp": 1784814808,
"description": "Slashing was disabled for ~ three more days, until July 26.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Slasher (eth:0xCD6855470A01aBcd989126A1183Fb50673952548) [aztecnetwork/Slasher] {\n +++ description: Executes payload actions submitted by the authorized slashing proposer or Governance. Execution is blocked while slashing is disabled or when the vetoer has vetoed the payload; voting and execution-delay rules are enforced by the proposer, while Governance can bypass the proposer.\n+++ description: Timestamp until which slash payload execution is disabled.\n values.slashingDisabledUntil:\n- 1784800907\n+ 1785056291\n }\n```"
}
]
},
{
"id": "02fa41fb",
"date": "Tue, 21 Jul 2026 08:50:05 GMT",
"timestamp": 1784623722,
"description": "Slashing vetoed for 3d (will be extended to cover payloads targeting epochs until incl. july 21 10pm).\n\nReason: The grace period after the v5 upgrade was miscommunicated to be 1 week while it was actually 1 day only.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Slasher (eth:0xCD6855470A01aBcd989126A1183Fb50673952548) [aztecnetwork/Slasher] {\n +++ description: Executes payload actions submitted by the authorized slashing proposer or Governance. Execution is blocked while slashing is disabled or when the vetoer has vetoed the payload; voting and execution-delay rules are enforced by the proposer, while Governance can bypass the proposer.\n+++ description: Whether slash payload execution is currently enabled.\n values.isSlashingEnabled:\n- true\n+ false\n+++ description: Timestamp until which slash payload execution is disabled.\n values.slashingDisabledUntil:\n- 0\n+ 1784800907\n }\n```"
}
]
},
{
"id": "05d4e881",
"date": "Wed, 15 Jul 2026 14:36:45 GMT",
"timestamp": 1784111155,
"description": "Aztec v5 is canonical with its current verifier, messaging, reward, and slashing stack; The immutable escape patch via Escape Hatch remains and the Rollup config is hardened against malicious governance.",
"isHighSeverity": false,
"changeCount": 42,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GovernanceProposer (eth:0x06Ef1DcF87E419C48B94a331B252819FADbD63ef) [aztecnetwork/GovernanceProposer] {\n +++ description: Intermediary contract through which the designated proposer for each L2 slot can signal support for an L1 payload. A signalling round comprises 1000 slots. A payload that receives at least 600 signals can be submitted to the L1 Governance contract within the configured lifetime.\n+++ description: Rollup instance whose checkpoint proposers can signal proposals.\n values.getInstance:\n- \"eth:0xAe2001f7e21d5EcABf6234E9FDd1E76F50F74962\"\n+ \"eth:0x91fF8bbD8Ebb07893010D50A48A1609e5EBd8E34\"\n }\n```\n\n```diff\n contract Governance (eth:0x1102471Eb3378FEE427121c9EfcEa452E4B6B75e) [aztecnetwork/Governance] {\n +++ description: DAO contract used for proposals and token voting. Heavily interdependent with the GSE for voting power snapshots.\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"eth:0x3D6A1B00C830C5f278FC5dFb3f6Ff0b74Db6dfe0\",\"description\":\"recover AZTEC from any implicit or earmarked accounting bucket and recover any non-AZTEC token held by the distributor.\",\"role\":\".registryOwner\"}\n receivedPermissions.3.condition:\n- \"slashing is enabled and the payload has not been vetoed.\"\n receivedPermissions.3.role:\n- \".GOVERNANCE\"\n+ \".registryOwner\"\n receivedPermissions.3.description:\n- \"execute arbitrary payload actions through the Slasher, bypassing all proposer validation including ballots, quorum, target construction, delay, and lifetime.\"\n+ \"recover AZTEC from any implicit or earmarked accounting bucket and recover any non-AZTEC token held by the distributor.\"\n receivedPermissions.3.from:\n- \"eth:0x64E6e9Bb9f1E33D319578B9f8a9C719Ca6D46eBb\"\n+ \"eth:0x555bAAc4757A89f1CE0c84fA35afE9dD7aa8E1d3\"\n receivedPermissions.4:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x91fF8bbD8Ebb07893010D50A48A1609e5EBd8E34\",\"description\":\"change the sequencer reward share and checkpoint reward, only increase the mana target, update proving cost within its step and cooldown bounds, update validator entry-queue limits subject to nonzero normal-phase limits and bounded bootstrap settings, queue or cancel a Slasher replacement subject to the replacement delay, set the EscapeHatch once if still unset, and transfer or renounce ownership.\",\"role\":\".owner\"}\n receivedPermissions.5:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x91fF8bbD8Ebb07893010D50A48A1609e5EBd8E34\",\"description\":\"slash and eject validators while this contract is configured as the active Slasher.\",\"role\":\".getSlasher\",\"condition\":\"the active Slasher authorizes the call under its own execution rules.\",\"via\":[{\"address\":\"eth:0xCD6855470A01aBcd989126A1183Fb50673952548\",\"condition\":\"slashing is enabled and the payload has not been vetoed.\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xCD6855470A01aBcd989126A1183Fb50673952548\",\"description\":\"execute arbitrary payload actions through the Slasher, bypassing all proposer validation including ballots, quorum, target construction, delay, and lifetime.\",\"role\":\".GOVERNANCE\",\"condition\":\"slashing is enabled and the payload has not been vetoed.\"}\n directlyReceivedPermissions.0:\n- {\"permission\":\"act\",\"from\":\"eth:0x64E6e9Bb9f1E33D319578B9f8a9C719Ca6D46eBb\",\"description\":\"execute arbitrary payload actions through the Slasher, bypassing all proposer validation including ballots, quorum, target construction, delay, and lifetime.\",\"role\":\".GOVERNANCE\",\"condition\":\"slashing is enabled and the payload has not been vetoed.\"}\n directlyReceivedPermissions.1:\n+ {\"permission\":\"act\",\"from\":\"eth:0xCD6855470A01aBcd989126A1183Fb50673952548\",\"description\":\"execute arbitrary payload actions through the Slasher, bypassing all proposer validation including ballots, quorum, target construction, delay, and lifetime.\",\"role\":\".GOVERNANCE\",\"condition\":\"slashing is enabled and the payload has not been vetoed.\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract RewardBooster (eth:0x1CbB707Bd7b4Fd2BcED6D96d84372fb428e93D80) [aztecnetwork/RewardBooster]\n +++ description: Calculates boosted reward shares for active provers based on a configured curve, incentivizing consistent participation.\n```\n\n```diff\n- Status: DELETED\n contract FeeJuicePortal (eth:0x2891F8b941067F8B5a3F34545A30Cf71E3E23617) [aztecnetwork/FeeJuicePortal]\n +++ description: One-way gas bridge: Escrows the fee asset (AZTEC) used to pay for L2 mana (gas). Users deposit tokens here, which are minted on L2 via the Inbox. The Rollup contract holds exclusive rights to withdraw tokens from this portal to distribute them as rewards to L1 sequencers and provers. Apart from that, this escrow does NOT afford a way to withdraw tokens.\n```\n\n```diff\n contract Registry (eth:0x35b22e09Ee0390539439E24f06Da43D83f90e298) [aztecnetwork/Registry] {\n +++ description: Central directory that tracks the current 'canonical' (active) Rollup contract address and key system contracts like the Reward Distributor.\n+++ description: The latest registered rollup instance, treated as canonical by the Aztec contracts.\n values.getCanonicalRollup:\n- \"eth:0xAe2001f7e21d5EcABf6234E9FDd1E76F50F74962\"\n+ \"eth:0x91fF8bbD8Ebb07893010D50A48A1609e5EBd8E34\"\n+++ description: The Registry-selected reward distributor. An existing Rollup keeps the distributor fixed at its deployment and is not retargeted when this pointer changes.\n values.getRewardDistributor:\n- \"eth:0x3D6A1B00C830C5f278FC5dFb3f6Ff0b74Db6dfe0\"\n+ \"eth:0x555bAAc4757A89f1CE0c84fA35afE9dD7aa8E1d3\"\n+++ description: Registered rollup version identifiers in insertion order.\n values.getVersion.2:\n+ 4248422647\n+++ description: Number of rollup versions registered in the registry.\n values.numberOfVersions:\n- 2\n+ 3\n }\n```\n\n```diff\n- Status: DELETED\n contract RewardDistributor (eth:0x3D6A1B00C830C5f278FC5dFb3f6Ff0b74Db6dfe0) [aztecnetwork/RewardDistributor]\n +++ description: Holds tokens allocated for protocol rewards. The canonical Rollup contract, as defined by the Registry, can draw from the implicit reward pool while any address can claim only funds explicitly earmarked to it.\n```\n\n```diff\n- Status: DELETED\n contract Slasher (eth:0x64E6e9Bb9f1E33D319578B9f8a9C719Ca6D46eBb) [aztecnetwork/Slasher]\n +++ description: Executes payload actions submitted by the authorized slashing proposer or Governance. Execution is blocked while slashing is disabled or when the vetoer has vetoed the payload; voting and execution-delay rules are enforced by the proposer, while Governance can bypass the proposer.\n```\n\n```diff\n- Status: DELETED\n contract EscapeHatch (eth:0x8c189ead28D5987A48e522162f9225124D50AD1B) [aztecnetwork/EscapeHatch]\n +++ description: Provides a fallback mechanism for block production if the primary sequencer committee fails or censors. Candidates post a bond of 332,000,000 AZTEC and enter the candidate set. For each hatch, the contract snapshots the eligible set and uses RANDAO to select one designated proposer; posting a bond does not grant immediate proposal rights. If the designated proposer fails to propose and prove, their bond is slashed by 9,600,000 AZTEC. The minimum tax deducted from their bond is 1,660,000 AZTEC, even if the proposal is successful. The escape hatch regularly opens every 112 epochs, given there are any eligible bonded candidates.\n```\n\n```diff\n- Status: DELETED\n contract Inbox (eth:0x8Dbf0b6ed495baAb6062f5D5365aF3C1B2ed4578) [aztecnetwork/Inbox]\n +++ description: Facilitates canonical L1 to L2 communication. It accepts messages (including fee asset deposits) from L1, accumulates them in an append-only frontier tree per checkpoint, and forces the Sequencers and the Rollup contract to sequentially consume the roots of these message trees, ensuring message inclusion.\n```\n\n```diff\n- Status: DELETED\n contract TallySlashingProposer (eth:0xa4a38fD0108C00983E75616b638Ff3321FD26958) [N/A]\n +++ description: None\n```\n\n```diff\n contract GSE (eth:0xa92ecFD0E70c9cd5E5cd76c50Af0F7Da93567a4f) [aztecnetwork/GSE] {\n +++ description: Central staking manager independent of Rollup implementations. Sequencers deposit stake here through their chosen Rollup contract. Their stake is then transferred to the Governance contract and activated for voting. The GSE tracks which rollup instance validators are securing, and gives them an option to automatically move to the latest Rollup version.\n+++ description: Latest rollup registered in the GSE. Validators assigned to the bonus instance follow this address.\n values.getLatestRollup:\n- \"eth:0xAe2001f7e21d5EcABf6234E9FDd1E76F50F74962\"\n+ \"eth:0x91fF8bbD8Ebb07893010D50A48A1609e5EBd8E34\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SlashPayloadCloneable (eth:0xAA43220b7eb7c8Ffe75bc9C483f3C07b0a55B445) [aztecnetwork/SlashPayloadCloneable]\n +++ description: A template for specific slashing payload contracts deployed deterministically to encode one or more slashing actions (validators and amounts) that the Slasher executes.\n```\n\n```diff\n- Status: DELETED\n contract Rollup (eth:0xAe2001f7e21d5EcABf6234E9FDd1E76F50F74962) [N/A]\n +++ description: None\n```\n\n```diff\n contract SlashVeto Council (eth:0xBbB4aF368d02827945748b28CD4b2D42e4A37480) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x64E6e9Bb9f1E33D319578B9f8a9C719Ca6D46eBb\"\n+ \"eth:0xCD6855470A01aBcd989126A1183Fb50673952548\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Outbox (eth:0xc9698B7AdEf9ee63F3Bf5cFF38086e4E836579f0) [aztecnetwork/Outbox]\n +++ description: Facilitates L2 to L1 communication. It stores the roots of L2 to L1 message trees per epoch, which are inserted by the Rollup contract. Users and portals can consume these messages on L1 by providing a Merkle proof against the stored root. A nullifier bitmap prevents double consumption.\n```\n\n```diff\n+ Status: CREATED\n contract HonkVerifier (eth:0x098f47c00F4df22a8030746Eb11378236C24b4bC) [aztecnetwork/HonkVerifier]\n +++ description: ZK proof verification contract.\n```\n\n```diff\n+ Status: CREATED\n contract RewardBooster (eth:0x4490cAb7Ce3499353E1b0090b9e530c1AD03B551) [aztecnetwork/RewardBooster]\n +++ description: Calculates boosted reward shares for active provers based on a configured curve, incentivizing consistent participation.\n```\n\n```diff\n+ Status: CREATED\n contract RollupOperationsExtLib (eth:0x516f010C9AB452d70E0c6f78b9E698249a66d2AC) [aztecnetwork/RollupOperationsExtLib]\n +++ description: Library immutably linked into the Rollup for checkpoint proposal, proof verification, pruning, and chain-tip operations. Its functions operate on the calling Rollup's storage through DELEGATECALL, so direct getter calls on the library are ignored.\n```\n\n```diff\n+ Status: CREATED\n contract RewardDistributor (eth:0x555bAAc4757A89f1CE0c84fA35afE9dD7aa8E1d3) [aztecnetwork/RewardDistributor]\n +++ description: Holds tokens allocated for protocol rewards. The canonical Rollup contract, as defined by the Registry, can draw from the implicit reward pool while any address can claim only funds explicitly earmarked to it.\n```\n\n```diff\n+ Status: CREATED\n contract SlashPayloadCloneable (eth:0x57576AbA1932df7Cc30F971ACC9d4Fc6E86B6e87) [aztecnetwork/SlashPayloadCloneable]\n +++ description: A template for specific slashing payload contracts deployed deterministically to encode one or more slashing actions (validators and amounts) that the Slasher executes.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (eth:0x5B062aB5fD3A66BC7e73b04CeD38587673b6A2D7) [aztecnetwork/Outbox]\n +++ description: Facilitates L2 to L1 communication. It stores the roots of L2 to L1 message trees per epoch, which are inserted by the Rollup contract. Users and portals can consume these messages on L1 by providing a Merkle proof against the stored root. A nullifier bitmap prevents double consumption.\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (eth:0x7d4Ef0676c2032bbCC09227501D34d86641ab8cA) [aztecnetwork/Inbox]\n +++ description: Facilitates canonical L1 to L2 communication. It accepts messages (including fee asset deposits) from L1, accumulates them in an append-only frontier tree per checkpoint, and forces the Sequencers and the Rollup contract to sequentially consume the roots of these message trees, ensuring message inclusion.\n```\n\n```diff\n+ Status: CREATED\n contract SlashingProposer (eth:0x8A36b8F2Ca71D8d8Bd98e03Ebf8B4D0939Daf0bA) [aztecnetwork/SlashingProposer]\n +++ description: Collects one signed slashing ballot from the designated proposer in each slot. After the execution delay, anyone can tally the ballots per validator and penalty level, deploy the resulting payload, and ask the Slasher to execute it before the round expires.\n```\n\n```diff\n+ Status: CREATED\n contract Rollup (eth:0x91fF8bbD8Ebb07893010D50A48A1609e5EBd8E34) [aztecnetwork/Rollup]\n +++ description: Core rollup logic contract. It processes checkpoint proposals, verifies ZK proofs for state transitions, manages data availability, and coordinates validator selection and chain tip updates.\n```\n\n```diff\n+ Status: CREATED\n contract FeeJuicePortal (eth:0xaf73Dd51D1eb8a079BB097f39c832cDD00ac691c) [aztecnetwork/FeeJuicePortal]\n +++ description: One-way gas bridge: Escrows the fee asset (AZTEC) used to pay for L2 mana (gas). Users deposit tokens here, which are minted on L2 via the Inbox. The Rollup contract holds exclusive rights to withdraw tokens from this portal to distribute them as rewards to L1 sequencers and provers. Apart from that, this escrow does NOT afford a way to withdraw tokens.\n```\n\n```diff\n+ Status: CREATED\n contract Slasher (eth:0xCD6855470A01aBcd989126A1183Fb50673952548) [aztecnetwork/Slasher]\n +++ description: Executes payload actions submitted by the authorized slashing proposer or Governance. Execution is blocked while slashing is disabled or when the vetoer has vetoed the payload; voting and execution-delay rules are enforced by the proposer, while Governance can bypass the proposer.\n```\n\n```diff\n+ Status: CREATED\n contract RewardExtLib (eth:0xD6E890c615d6f99681a00771C20ed04516288898) [aztecnetwork/RewardExtLib]\n +++ description: Library immutably linked into the Rollup for sequencer and prover reward accounting. Its functions operate on the calling Rollup's storage through DELEGATECALL, so direct getter calls on the library are ignored.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorOperationsExtLib (eth:0xe4F0b9769Ca04a6E3d93b5BA732b5aD80797D411) [aztecnetwork/ValidatorOperationsExtLib]\n +++ description: Library immutably linked into the Rollup for validator entry, exits, slashing, and Slasher rotation. Its functions operate on the calling Rollup's storage through DELEGATECALL, so direct getter calls on the library are ignored.\n```\n\n```diff\n+ Status: CREATED\n contract EscapeHatch (eth:0xF459348962F5eA3A9A101826B03A2CE1F459E51A) [aztecnetwork/EscapeHatch]\n +++ description: Provides a fallback mechanism for block production if the primary sequencer committee fails or censors. Candidates post a bond of 332,000,000 AZTEC and enter the candidate set. For each hatch, the contract snapshots the eligible set and uses RANDAO to select one designated proposer; posting a bond does not grant immediate proposal rights. If the designated proposer fails to propose and prove, their bond is slashed by 9,600,000 AZTEC. The minimum tax deducted from their bond is 1,660,000 AZTEC, even if the proposal is successful. The escape hatch regularly opens every 112 epochs, given there are any eligible bonded candidates.\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract BaseStaker (eth:0x79075C8E314Ab4A84d54F90b1c7032Dc5469082d) [aztecnetwork/BaseStaker]\n +++ description: Implementation registered by the ATP Registry for upgradeable staker proxies that manage locked AZTEC positions.\n```"
}
]
},
{
"id": "601c0762",
"date": "Wed, 08 Jul 2026 12:23:27 GMT",
"timestamp": 1783513321,
"description": "[v5 upgrade payload](https://aztecgov.nethermind.io/4) passes signaling and is proposed to the Governance contract.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Governance (eth:0x1102471Eb3378FEE427121c9EfcEa452E4B6B75e) [aztecnetwork/Governance] {\n +++ description: DAO contract used for proposals and token voting. Heavily interdependent with the GSE for voting power snapshots.\n values.proposalCount:\n- 4\n+ 5\n }\n```"
}
]
},
{
"id": "86a45c71",
"date": "Mon, 22 Jun 2026 13:58:36 GMT",
"timestamp": 1782131482,
"description": "Execute 'cut the leash' upgrade. This revokes ownership of the current rollup contract. Gov execution delay is reduced to 2d (from 30d). Since gov cannot change the escape hatch or critical configs on the current rollup, Aztec Network is now Stage 2. At the same time, there are known vulnerabilities, which places all escrowed funds at risk.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Governance (eth:0x1102471Eb3378FEE427121c9EfcEa452E4B6B75e) [aztecnetwork/Governance] {\n +++ description: DAO contract used for proposals and token voting. Heavily interdependent with the GSE for voting power snapshots.\n values.getConfiguration.executionDelay:\n- 2592000\n+ 172800\n receivedPermissions.3:\n- {\"permission\":\"interact\",\"from\":\"eth:0xAe2001f7e21d5EcABf6234E9FDd1E76F50F74962\",\"description\":\"change the escape hatch address and disable the escape hatch, change the slasher address which can slash arbitrary sequencers, change the sequencer queue config and disallow new sequencers joining, set the ejection threshold that exits sequencers from the active set, change various critical fee and reward configurations.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n contract Rollup (eth:0xAe2001f7e21d5EcABf6234E9FDd1E76F50F74962) [aztecnetwork/Rollup] {\n +++ description: Core rollup logic contract. It processes checkpoint proposals, verifies ZK proofs for state transitions, manages data availability, and coordinates validator selection and chain tip updates.\n values.owner:\n- \"eth:0x1102471Eb3378FEE427121c9EfcEa452E4B6B75e\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n }\n```"
}
]
},
{
"id": "b7569a8e",
"date": "Tue, 16 Jun 2026 09:58:16 GMT",
"timestamp": 1781603826,
"description": "Revoker switched back to EOA (see below).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AztecTokenPositionRegistry_ProtocolTreasury (eth:0xD938bE4A2cB41105Bc2FbE707dca124A2e5d0c80) [aztecnetwork/AztecTokenPositionRegistry] {\n +++ description: Used to set the time at which AZTEC tokens owned by the ProtocolTreasury are unlocked. Is also used as source of truth for other vesting contracts in the Aztec ecosystem.\n values.getRevoker:\n- \"eth:0x79E5BD3BD5cfc52C718Fe0f83fEaab31691683cA\"\n+ \"eth:0x92Ba0FD39658105FaC4dF2B9BADE998B5816b350\"\n }\n```"
}
]
},
{
"id": "c431eb94",
"date": "Tue, 02 Jun 2026 13:18:04 GMT",
"timestamp": 1780405492,
"description": "Revoker of the vesting contracts registry switched from EOA to a revocation payload. This does not affect the ProtocolTreasury but rather the external vesting contracts, which are not in disco.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AztecTokenPositionRegistry_ProtocolTreasury (eth:0xD938bE4A2cB41105Bc2FbE707dca124A2e5d0c80) [aztecnetwork/AztecTokenPositionRegistry] {\n +++ description: Used to set the time at which AZTEC tokens owned by the ProtocolTreasury are unlocked. Is also used as source of truth for other vesting contracts in the Aztec ecosystem.\n values.getRevoker:\n- \"eth:0x92Ba0FD39658105FaC4dF2B9BADE998B5816b350\"\n+ \"eth:0x79E5BD3BD5cfc52C718Fe0f83fEaab31691683cA\"\n }\n```"
}
]
},
{
"id": "7f198d90",
"date": "Wed, 13 May 2026 13:08:09 GMT",
"timestamp": 1778677605,
"description": "AZUP-1: Cut the Leash is queued after a successful sequencer signaling round. The proposal aims to make the escape hatch of the current rollup immutable and get it to Stage 2. Details here: https://aztecgov.nethermind.io/3. The executable payload address is https://etherscan.io/address/0xa156E3a14f45099ecdF9C6A393a118809C5d06e6#code and is simple:\n- revoke ownership of the rollup\n- gov execution delay 30d -> 2d",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Governance (eth:0x1102471Eb3378FEE427121c9EfcEa452E4B6B75e) [aztecnetwork/Governance] {\n +++ description: DAO contract used for proposals and token voting. Heavily interdependent with the GSE for voting power snapshots.\n values.proposalCount:\n- 3\n+ 4\n }\n```"
}
]
},
{
"id": "7a41065e",
"date": "Wed, 22 Apr 2026 13:53:02 GMT",
"timestamp": 1776865911,
"description": "slashing is back after a slashveto council pause.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Slasher (eth:0x64E6e9Bb9f1E33D319578B9f8a9C719Ca6D46eBb) {\n +++ description: The executor contract for penalties. It receives authorization to slash validator stakes, subject to an execution delay and a vetoer.\n values.isSlashingEnabled:\n- false\n+ true\n }\n```"
}
]
},
{
"id": "b5c149b3",
"date": "Mon, 13 Apr 2026 09:17:59 GMT",
"timestamp": 1776071799,
"description": "the slashVeto council vetoes slashing for 3d because of [this request](https://github.com/aztec-slash-veto/council/issues/7). Affected payloads can be seen on https://slashveto.me. The argument is that v4.1.3 was a bugfix release on a friday and the wave of slashing can be attributed to people not having updated in time.\n\none slashVeto council member is replaced (https://forum.aztec.network/t/join-the-slashveto-council/8521).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Slasher (eth:0x64E6e9Bb9f1E33D319578B9f8a9C719Ca6D46eBb) {\n +++ description: The executor contract for penalties. It receives authorization to slash validator stakes, subject to an execution delay and a vetoer.\n values.isSlashingEnabled:\n- true\n+ false\n values.slashingDisabledUntil:\n- 0\n+ 1776137255\n }\n```\n\n```diff\n contract SlashVeto Council (eth:0xBbB4aF368d02827945748b28CD4b2D42e4A37480) {\n +++ description: None\n values.$members.6:\n- \"eth:0xb31e6d9661720A93d54AF7D1815d9bb399280629\"\n+ \"eth:0x8138c46A572D989E54837d5e5dEB506889edFb5D\"\n }\n```"
}
]
},
{
"id": "a2df5c72",
"date": "Tue, 07 Apr 2026 11:42:01 GMT",
"timestamp": 1775561692,
"description": "Rollup contract has reached enough validators, so isBootstrapped is set to true.\nNow the rate of adding new validators is limited by the `getEntryQueueFlushSize` function (max 0.25% of the validator set growth per epoch, at least 1, at most 4).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Rollup (eth:0xAe2001f7e21d5EcABf6234E9FDd1E76F50F74962) {\n +++ description: Core rollup logic contract. It processes checkpoint proposals, verifies ZK proofs for state transitions, manages data availability, and coordinates validator selection and chain tip updates.\n values.getIsBootstrapped:\n- false\n+ true\n }\n```"
}
]
},
{
"id": "24ace5b5",
"date": "Tue, 31 Mar 2026 10:55:10 GMT",
"timestamp": 1774847186,
"description": "config: forcibly register post-alpha contracts. remove from config.jsonc as soon as the payload is executed.",
"isHighSeverity": true,
"changeCount": 56,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GovernanceProposer (eth:0x06Ef1DcF87E419C48B94a331B252819FADbD63ef) {\n +++ description: Intermediary contract that allows the L2 Sequencers operating the canonical rollup (as defined by the Registry) to submit formal proposals to the L1 Governance contract by signalling their support of any smart contract payload on L1 with each checkpoint proposal. A signalling round comprises 1000 checkpoints. 600 signals or more during one round allow submitting the payload as a governance proposal.\n values.getInstance:\n- \"eth:0x603bb2c05D474794ea97805e8De69bCcFb3bCA12\"\n+ \"eth:0xAe2001f7e21d5EcABf6234E9FDd1E76F50F74962\"\n }\n```\n\n```diff\n contract Governance (eth:0x1102471Eb3378FEE427121c9EfcEa452E4B6B75e) {\n +++ description: DAO contract used for proposals and token voting. Heavily interdependent with the GSE for voting power snapshots.\n values.getConfiguration.executionDelay:\n- 604800\n+ 2592000\n values.proposalCount:\n- 2\n+ 3\n receivedPermissions.1.from:\n- \"eth:0x91A3745c685c220595B997E53311EbF660144889\"\n+ \"eth:0x64E6e9Bb9f1E33D319578B9f8a9C719Ca6D46eBb\"\n receivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xAe2001f7e21d5EcABf6234E9FDd1E76F50F74962\",\"description\":\"change the escape hatch address and disable the escape hatch, change the slasher address which can slash arbitrary sequencers, change the sequencer queue config and disallow new sequencers joining, set the ejection threshold that exits sequencers from the active set, change various critical fee and reward configurations.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract Inbox (eth:0x15c718C05B8c0dbec4D648b6711d6Ce8793969Ee)\n +++ description: Handles L1-to-L2 messaging. Users deposit funds or send messages here, which are organized into a Merkle tree for the sequencer to include in an L2 block.\n```\n\n```diff\n contract Registry (eth:0x35b22e09Ee0390539439E24f06Da43D83f90e298) {\n +++ description: Central directory that tracks the current 'canonical' (active) Rollup contract address and key system contracts like the Reward Distributor.\n values.getCanonicalRollup:\n- \"eth:0x603bb2c05D474794ea97805e8De69bCcFb3bCA12\"\n+ \"eth:0xAe2001f7e21d5EcABf6234E9FDd1E76F50F74962\"\n values.getVersion.1:\n+ 2934756905\n values.numberOfVersions:\n- 1\n+ 2\n }\n```\n\n```diff\n contract RewardDistributor (eth:0x3D6A1B00C830C5f278FC5dFb3f6Ff0b74Db6dfe0) {\n +++ description: Holds tokens allocated for protocol rewards. The canonical Rollup contract (as defined by the Registry) calls this to distribute payments to sequencers and provers.\n values.canonicalRollup:\n- \"eth:0x603bb2c05D474794ea97805e8De69bCcFb3bCA12\"\n+ \"eth:0xAe2001f7e21d5EcABf6234E9FDd1E76F50F74962\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Rollup (eth:0x603bb2c05D474794ea97805e8De69bCcFb3bCA12)\n +++ description: Core rollup logic contract. It processes block proposals, verifies ZK proofs for state transitions, manages data availability, and coordinates validator selection and chain tip updates.\n```\n\n```diff\n contract ProtocolTreasury (eth:0x662De311f94bdbB571D95B5909e9cC6A25a6802a) {\n +++ description: Holds the protocol's funds controlled by Governance. It acts as a timelocked executor for spending or relaying transactions approved by the DAO.\n values.getActivationTimestamp:\n- 1799366400\n+ 1795150800\n }\n```\n\n```diff\n- Status: DELETED\n contract RewardBooster (eth:0x7101a6703491A4D808aeAbE9F62bC1Dc6a20bdf4)\n +++ description: Calculates 'boosted' reward shares for active provers based on a configured curve, incentivizing consistent participation.\n```\n\n```diff\n- Status: DELETED\n contract HonkVerifier (eth:0x77e3bA096355510e0E9f60D292010B42d662d2B5)\n +++ description: ZK proof verification contract.\n```\n\n```diff\n- Status: DELETED\n contract TallySlashingProposer (eth:0x7a318c3DaA9f21f8fc8238c65755eB0394Fbf189)\n +++ description: Allows the validator committee to vote on slashing a specific peer. Once a quorum is reached, it proposes a slash action to the Slasher.\n```\n\n```diff\n- Status: DELETED\n contract SlashPayloadCloneable (eth:0x82c592b4Bb7E1f50f68E75d86743c3330beAaba4)\n +++ description: A template for specific slashing payload contracts deployed deterministically to encode a slashing action (who to slash and how much) that the Slasher executes.\n```\n\n```diff\n contract EscapeHatch (eth:0x8c189ead28D5987A48e522162f9225124D50AD1B) {\n +++ description: Provides a fallback mechanism for block production if the primary sequencer committee fails or censors. The committee is circumvented by allowing proposals by anyone who is able to post a large bond of 332,000,000 AZTEC. It maintains a set of bonded candidates and deterministically selects a designated proposer for a given 'hatch' period using RANDAO. If the designated proposer fails to propose and prove, their bond is slashed by 9,600,000 AZTEC. The minimum tax deducted from their bond is 1,660,000 AZTEC, even if the proposal is successful. The escape hatch regularly opens every 112 epochs, given there are any bonded candidates.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"immutable\"\n name:\n+ \"EscapeHatch\"\n template:\n+ \"aztecnetwork/EscapeHatch\"\n sourceHashes:\n+ [\"0x075ee4b441a07410b5aa3c5fc868789251bc02707bc5ba28a174648dafad785d\"]\n description:\n+ \"Provides a fallback mechanism for block production if the primary sequencer committee fails or censors. The committee is circumvented by allowing proposals by anyone who is able to post a large bond of 332,000,000 AZTEC. It maintains a set of bonded candidates and deterministically selects a designated proposer for a given 'hatch' period using RANDAO. If the designated proposer fails to propose and prove, their bond is slashed by 9,600,000 AZTEC. The minimum tax deducted from their bond is 1,660,000 AZTEC, even if the proposal is successful. The escape hatch regularly opens every 112 epochs, given there are any bonded candidates.\"\n sinceTimestamp:\n+ 1772654171\n sinceBlock:\n+ 24586323\n values:\n+ {\"$immutable\":true,\"getActiveDuration\":2,\"getBondSize\":\"332000000000000000000000000\",\"getBondSizeFmt\":\"332,000,000\",\"getBondToken\":\"eth:0xA27EC0006e59f245217Ff08CD52A7E8b169E62D2\",\"getCandidateCount\":0,\"getCurrentHatch\":8,\"getFailedHatchPunishment\":\"9600000000000000000000000\",\"getFailedHatchPunishmentFmt\":\"9,600,000\",\"getFrequency\":112,\"getLagInHatches\":1,\"getProposingExitDelay\":2592000,\"getRollup\":\"eth:0xAe2001f7e21d5EcABf6234E9FDd1E76F50F74962\",\"getWithdrawalTax\":\"1660000000000000000000000\",\"getWithdrawalTaxFmt\":\"1,660,000\",\"LAG_IN_EPOCHS_FOR_RANDAO\":1,\"LAG_IN_EPOCHS_FOR_SET_SIZE\":2}\n fieldMeta:\n+ {\"getBondSizeFmt\":{\"description\":\"The amount of tokens required to join the candidate set.\"},\"getWithdrawalTaxFmt\":{\"description\":\"The amount deducted from the bond when a candidate exits the candidate set. This is the minimum that a candidate loses of their bond by becoming a candidate and cannot be circumvented.\"},\"getCandidateCount\":{\"severity\":\"HIGH\",\"description\":\"Hatch proposer candidates who posted the bond.\"},\"getBondToken\":{\"description\":\"The ERC20 token used for candidate bonds.\"},\"getFailedHatchPunishmentFmt\":{\"description\":\"The amount deducted from the bond if the designated proposer fails to fulfill their duties.\"},\"getFrequency\":{\"description\":\"The number of epochs between escape hatch windows.\"},\"getActiveDuration\":{\"description\":\"The number of epochs an escape hatch remains open.\"},\"getLagInHatches\":{\"description\":\"The number of hatches ahead for which candidates are deterministically selected.\"},\"getProposingExitDelay\":{\"description\":\"The additional time (in seconds) a proposer must wait after their hatch ends before they can exit.\"},\"LAG_IN_EPOCHS_FOR_RANDAO\":{\"description\":\"The number of epochs to look back from the start of the hatch for a stable RANDAO seed.\"},\"LAG_IN_EPOCHS_FOR_SET_SIZE\":{\"description\":\"The number of epochs to look back from the start of the hatch to snapshot the stable candidate set.\"},\"getRollup\":{\"description\":\"The address of the core Rollup contract.\"}}\n implementationNames:\n+ {\"eth:0x8c189ead28D5987A48e522162f9225124D50AD1B\":\"EscapeHatch\"}\n usedTypes:\n+ [{\"typeCaster\":\"Undecimal\",\"arg\":{\"decimals\":18}}]\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n- Status: DELETED\n contract Slasher (eth:0x91A3745c685c220595B997E53311EbF660144889)\n +++ description: The executor contract for penalties. It receives authorization to slash validator stakes, subject to an execution delay and a vetoer.\n```\n\n```diff\n contract TallySlashingProposer (eth:0xa4a38fD0108C00983E75616b638Ff3321FD26958) {\n +++ description: Allows the validator committee to vote on slashing a specific peer. Once a quorum is reached, it proposes a slash action to the Slasher.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"immutable\"\n name:\n+ \"TallySlashingProposer\"\n template:\n+ \"aztecnetwork/TallySlashingProposer\"\n sourceHashes:\n+ [\"0x0b4f1c707812b207e031a78710120f6962597aca1d9bfa47b0aa4c940fadbbdb\"]\n description:\n+ \"Allows the validator committee to vote on slashing a specific peer. Once a quorum is reached, it proposes a slash action to the Slasher.\"\n sinceTimestamp:\n+ 1772654159\n sinceBlock:\n+ 24586322\n values:\n+ {\"$immutable\":true,\"COMMITTEE_SIZE\":48,\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"TallySlashingProposer\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0xa4a38fD0108C00983E75616b638Ff3321FD26958\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"EXECUTION_DELAY_IN_ROUNDS\":28,\"getCurrentRound\":237,\"INSTANCE\":\"eth:0xAe2001f7e21d5EcABf6234E9FDd1E76F50F74962\",\"LIFETIME_IN_ROUNDS\":34,\"MAX_ROUND_SIZE\":1024,\"QUORUM\":65,\"ROUND_SIZE\":128,\"ROUND_SIZE_IN_EPOCHS\":4,\"ROUNDABOUT_SIZE\":128,\"SLASH_AMOUNT_LARGE\":\"2000000000000000000000\",\"SLASH_AMOUNT_MEDIUM\":\"2000000000000000000000\",\"SLASH_AMOUNT_SMALL\":\"2000000000000000000000\",\"SLASH_OFFSET_IN_ROUNDS\":2,\"SLASH_PAYLOAD_IMPLEMENTATION\":\"eth:0xAA43220b7eb7c8Ffe75bc9C483f3C07b0a55B445\",\"SLASHER\":\"eth:0x64E6e9Bb9f1E33D319578B9f8a9C719Ca6D46eBb\",\"SLASHING_PROPOSER_TYPE\":1,\"VOTE_TYPEHASH\":\"0x18b6b90f234e6d028d4c9800043cedef34624eedddd14e60eba01934728014fe\"}\n implementationNames:\n+ {\"eth:0xa4a38fD0108C00983E75616b638Ff3321FD26958\":\"TallySlashingProposer\"}\n }\n```\n\n```diff\n contract GSE (eth:0xa92ecFD0E70c9cd5E5cd76c50Af0F7Da93567a4f) {\n +++ description: Central staking manager independent of Rollup implementations. Sequencers deposit stake here through their chosen Rollup contract. Their stake is then transfered to the Governance contract and activated for voting. The GSE tracks which rollup instance validators are securing, and gives them an option to automatically move to the latest Rollup version.\n values.getLatestRollup:\n- \"eth:0x603bb2c05D474794ea97805e8De69bCcFb3bCA12\"\n+ \"eth:0xAe2001f7e21d5EcABf6234E9FDd1E76F50F74962\"\n }\n```\n\n```diff\n contract SlashVeto Council (eth:0xBbB4aF368d02827945748b28CD4b2D42e4A37480) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x91A3745c685c220595B997E53311EbF660144889\"\n+ \"eth:0x64E6e9Bb9f1E33D319578B9f8a9C719Ca6D46eBb\"\n }\n```\n\n```diff\n contract AztecTokenPositionRegistry_ProtocolTreasury (eth:0xD938bE4A2cB41105Bc2FbE707dca124A2e5d0c80) {\n +++ description: Used to set the time at which AZTEC tokens owned by the ProtocolTreasury are unlocked.\n values.getExecuteAllowedAt:\n- 1798761600\n+ 1794546000\n values.getGlobalLockParams.startTime:\n- 1798761600\n+ 1794546000\n values.getRevoker:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x92Ba0FD39658105FaC4dF2B9BADE998B5816b350\"\n+++ severity: HIGH\n values.getUnlockStartTime:\n- 1798761600\n+ 1794546000\n }\n```\n\n```diff\n- Status: DELETED\n contract FeeJuicePortal (eth:0xe05dc9D5969272831757181fFf1532B066254bf1)\n +++ description: A one-way public bridge to deposit AZTEC tokens to the Rollup.\n```\n\n```diff\n- Status: DELETED\n contract Outbox (eth:0xf006c41097861AFeb18b05e586B921c081411Ee9)\n +++ description: Handles L2-to-L1 messaging. It stores Merkle roots of messages exiting the rollup, allowing users to prove inclusion and finalize withdrawals or actions on L1.\n```\n\n```diff\n+ Status: CREATED\n contract RewardBooster (eth:0x1CbB707Bd7b4Fd2BcED6D96d84372fb428e93D80)\n +++ description: Calculates 'boosted' reward shares for active provers based on a configured curve, incentivizing consistent participation.\n```\n\n```diff\n+ Status: CREATED\n contract FeeJuicePortal (eth:0x2891F8b941067F8B5a3F34545A30Cf71E3E23617)\n +++ description: One-way gas bridge: Escrows the fee asset (AZTEC) used to pay for L2 mana (gas). Users deposit tokens here, which are minted on L2 via the Inbox. The Rollup contract holds exclusive rights to withdraw tokens from this portal to distribute them as rewards to L1 sequencers and provers. Apart from that, this escrow does NOT afford a way to withdraw tokens.\n```\n\n```diff\n+ Status: CREATED\n contract Slasher (eth:0x64E6e9Bb9f1E33D319578B9f8a9C719Ca6D46eBb)\n +++ description: The executor contract for penalties. It receives authorization to slash validator stakes, subject to an execution delay and a vetoer.\n```\n\n```diff\n+ Status: CREATED\n contract HonkVerifier (eth:0x70aEDda427f26480D240bc0f4308ceDec8d31348)\n +++ description: ZK proof verification contract.\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (eth:0x8Dbf0b6ed495baAb6062f5D5365aF3C1B2ed4578)\n +++ description: Facilitates canonical L1 to L2 communication. It accepts messages (including fee asset deposits) from L1, accumulates them in an append-only frontier tree per checkpoint, and forces the Sequencers and the Rollup contract to sequentially consume the roots of these message trees, ensuring message inclusion.\n```\n\n```diff\n+ Status: CREATED\n contract SlashPayloadCloneable (eth:0xAA43220b7eb7c8Ffe75bc9C483f3C07b0a55B445)\n +++ description: A template for specific slashing payload contracts deployed deterministically to encode a slashing action (who to slash and how much) that the Slasher executes.\n```\n\n```diff\n+ Status: CREATED\n contract Rollup (eth:0xAe2001f7e21d5EcABf6234E9FDd1E76F50F74962)\n +++ description: Core rollup logic contract. It processes checkpoint proposals, verifies ZK proofs for state transitions, manages data availability, and coordinates validator selection and chain tip updates.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (eth:0xc9698B7AdEf9ee63F3Bf5cFF38086e4E836579f0)\n +++ description: Facilitates L2 to L1 communication. It stores the roots of L2 to L1 message trees per epoch, which are inserted by the Rollup contract. Users and portals can consume these messages on L1 by providing a Merkle proof against the stored root. A nullifier bitmap prevents double consumption.\n```"
}
]
},
{
"id": "849aa81b",
"date": "Mon, 16 Feb 2026 15:13:21 GMT",
"timestamp": 1771254730,
"description": "TGE happened. Sequencers can claim block production rewards, AZTEC is transferable and tradable on uniswap. Token governance is launched.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Rollup (eth:0x603bb2c05D474794ea97805e8De69bCcFb3bCA12) {\n +++ description: Core rollup logic contract. It processes block proposals, verifies ZK proofs for state transitions, manages data availability, and coordinates validator selection and chain tip updates.\n values.isRewardsClaimable:\n- false\n+ true\n }\n```"
}
]
},
{
"id": "a3c8097f",
"date": "Mon, 26 Jan 2026 13:07:34 GMT",
"timestamp": 1769432788,
"description": "TGE proposal active after passing signaling by sequencers. voting will start soon, proposal will become executable on 9.2 and cause TGE on 11.2. as [explained here](https://forum.aztec.network/t/reference-for-triggering-the-aztec-token-generation-event-tge/8366).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Governance (eth:0x1102471Eb3378FEE427121c9EfcEa452E4B6B75e) {\n +++ description: DAO contract used for proposals and token voting. Heavily interdependent with the GSE for voting power snapshots.\n values.proposalCount:\n- 1\n+ 2\n }\n```"
}
]
},
{
"id": "4b95ef78",
"date": "Wed, 21 Jan 2026 12:58:30 GMT",
"timestamp": 1769000209,
"description": "add TGEPayload for verification by governance.\n\nentry queue flush increase payload was executed.",
"isHighSeverity": false,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Rollup (eth:0x603bb2c05D474794ea97805e8De69bCcFb3bCA12) {\n +++ description: Core rollup logic contract. It processes block proposals, verifies ZK proofs for state transitions, manages data availability, and coordinates validator selection and chain tip updates.\n+++ description: number of sequencers flushable per epoch: will move from the entry queue to the active validator set if flushed\n values.getEntryQueueFlushSize:\n- 1\n+ 4\n }\n```\n\n```diff\n contract TGEPayload (eth:0x77A5EEF319E23615B848a09Ebd151744547b959C) {\n +++ description: None\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"immutable\"\n name:\n+ \"TGEPayload\"\n template:\n+ \"aztecnetwork/TGEPayload\"\n sourceHashes:\n+ [\"0xc2410dd48add80f68a5d7e354ca701a42d52f1a651c686a180e524179a08ed12\"]\n sinceTimestamp:\n+ 1768592243\n sinceBlock:\n+ 24249428\n values:\n+ {\"$immutable\":true,\"ATP_REGISTRY\":\"eth:0x63841bAD6B35b6419e15cA9bBBbDf446D4dC3dde\",\"AZTEC_TOKEN\":\"eth:0xA27EC0006e59f245217Ff08CD52A7E8b169E62D2\",\"DATE_GATED_RELAYER_SHORT\":\"eth:0x7d6DECF157E1329A20c4596eAf78D387E896aa4e\",\"END_DAY\":3,\"END_OF_WORKDAY\":54000,\"getURI\":\"https://github.com/AztecProtocol/ignition-contracts/\",\"JAN_1_2026_CET\":1767222000,\"ROLLUP\":\"eth:0x603bb2c05D474794ea97805e8De69bCcFb3bCA12\",\"ROLLUP_REGISTRY\":\"eth:0x35b22e09Ee0390539439E24f06Da43D83f90e298\",\"STAKER\":\"eth:0x11ED6b4a9D44cf8bC4e1763D08304eF20c998c95\",\"STAKING_REGISTRY\":\"eth:0x042dF8f42790d6943F41C25C2132400fd727f452\",\"START_DAY\":1,\"START_OF_WORKDAY\":28800,\"VIRTUAL_LBP_STRATEGY\":\"eth:0xd53006d1e3110fD319a79AEEc4c527a0d265E080\"}\n implementationNames:\n+ {\"eth:0x77A5EEF319E23615B848a09Ebd151744547b959C\":\"TGEPayload\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract ATPWithdrawableAndClaimableStakerV2 (eth:0x11ED6b4a9D44cf8bC4e1763D08304eF20c998c95)\n +++ description: Standard escrow implementation used to simplify and manage staking with locked AZTEC tokens.\n```\n\n```diff\n+ Status: CREATED\n contract BaseStaker (eth:0x6131D4900CD8dC328FB3CF6DFFEfbC628F02e7d9)\n +++ description: A template contract used for staker proxies within the StakingRegistry.\n```\n\n```diff\n+ Status: CREATED\n contract AztecTokenPositionRegistry_Sequencers (eth:0x63841bAD6B35b6419e15cA9bBBbDf446D4dC3dde)\n +++ description: A registry for contracts related to Sequencer staking and token unlock parameters.\n```\n\n```diff\n+ Status: CREATED\n contract GovernanceAcceleratedLock (eth:0x7d6DECF157E1329A20c4596eAf78D387E896aa4e)\n +++ description: None\n```"
}
]
},
{
"id": "2220b8db",
"date": "Wed, 07 Jan 2026 14:30:47 GMT",
"timestamp": 1767796183,
"description": "First gov proposal passed signalling phase:\n\n[Increase Ignition Queue Throughput](https://forum.aztec.network/t/increase-ignition-queue-throughput/8211)\n- does what it says, goal is to flush the entire queue until TGE and especially before the first upgrade of the rollup contract.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Governance (eth:0x1102471Eb3378FEE427121c9EfcEa452E4B6B75e) {\n +++ description: DAO contract used for proposals and token voting. Heavily interdependent with the GSE for voting power snapshots.\n values.proposalCount:\n- 0\n+ 1\n }\n```"
}
]
},
{
"id": "95831390",
"date": "Mon, 01 Dec 2025 15:07:20 GMT",
"timestamp": 1764601178,
"description": "config: add zk verifier from constructor vars.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract HonkVerifier (eth:0x77e3bA096355510e0E9f60D292010B42d662d2B5)\n +++ description: ZK proof verification contract.\n```"
}
]
},
{
"id": "e994f338",
"date": "Mon, 24 Nov 2025 14:16:59 GMT",
"timestamp": 1763978160,
"description": "config: yeeted flushrewarder (not core contract), ignored more noisy vars, cleaned up the disco",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract StakingRegistry (eth:0x042dF8f42790d6943F41C25C2132400fd727f452)\n +++ description: Manages staking providers for delegation.\n```\n\n```diff\n+ Status: CREATED\n contract BaseStaker (eth:0x0Cb8fe28D35fD4763C4f3E3761904bAcF829BbF8)\n +++ description: A template contract used for staker proxies within the StakingRegistry.\n```\n\n```diff\n+ Status: CREATED\n contract ATPWithdrawableAndClaimableStaker (eth:0x7C009AE557234d094D798A03D21E3c1C1CAD3b42)\n +++ description: Standard escrow implementation used to simplify and manage staking with locked AZTEC tokens.\n```\n\n```diff\n+ Status: CREATED\n contract AztecTokenPositionRegistry_Sequencers (eth:0x8F778768aDed86AB778a47cd81b3b42B4b3F655B)\n +++ description: A registry for contracts related to Sequencer staking and token unlock parameters.\n```"
}
]
},
{
"id": "d02be0ce",
"date": "Thu, 20 Nov 2025 14:51:30 GMT",
"timestamp": 1763649088,
"description": "config: silence disco.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract FlushRewarder (eth:0x7C9a7130379F1B5dd6e7A53AF84fC0fE32267B65) {\n +++ description: None\n values.rewardsAvailable:\n- \"1000000000000000000000000\"\n+ \"998300000000000000000000\"\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract FlushRewarder (eth:0x7C9a7130379F1B5dd6e7A53AF84fC0fE32267B65)\n +++ description: None\n```"
}
]
},
{
"id": "e7c037ae",
"date": "Wed, 19 Nov 2025 16:23:21 GMT",
"timestamp": 1763566766,
"description": "initial disco: aztec is in 'ignition' phase, network will launch with empty blocks for 3 months: https://aztec.network/aztec-roadmap.",
"isHighSeverity": false,
"changeCount": 19,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract CoinIssuer (eth:0x02FAdF157d551aa6d761b2A2237D03Af68E41CA6)\n +++ description: Manages the inflation and minting schedule of the Aztec token. It enforces an annual percentage cap and mints new tokens for the budget.\n```\n\n```diff\n+ Status: CREATED\n contract GovernanceProposer (eth:0x06Ef1DcF87E419C48B94a331B252819FADbD63ef)\n +++ description: Intermediary contract that allows the L2 system (or specific L2 signals) to submit formal proposals to the L1 Governance contract.\n```\n\n```diff\n+ Status: CREATED\n contract Governance (eth:0x1102471Eb3378FEE427121c9EfcEa452E4B6B75e)\n +++ description: DAO contract used for proposals and token voting\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (eth:0x15c718C05B8c0dbec4D648b6711d6Ce8793969Ee)\n +++ description: Handles L1-to-L2 messaging. Users deposit funds or send messages here, which are organized into a Merkle tree for the sequencer to include in an L2 block.\n```\n\n```diff\n+ Status: CREATED\n contract Registry (eth:0x35b22e09Ee0390539439E24f06Da43D83f90e298)\n +++ description: Central directory that tracks the current 'canonical' (active) Rollup contract address and key system contracts like the Reward Distributor.\n```\n\n```diff\n+ Status: CREATED\n contract RewardDistributor (eth:0x3D6A1B00C830C5f278FC5dFb3f6Ff0b74Db6dfe0)\n +++ description: Holds tokens allocated for protocol rewards. The canonical Rollup contract calls this to distribute payments to sequencers and provers.\n```\n\n```diff\n+ Status: CREATED\n contract Rollup (eth:0x603bb2c05D474794ea97805e8De69bCcFb3bCA12)\n +++ description: Core rollup logic contract. It processes block proposals, verifies ZK proofs for state transitions, manages data availability, and coordinates validator selection and chain tip updates.\n```\n\n```diff\n+ Status: CREATED\n contract ProtocolTreasury (eth:0x662De311f94bdbB571D95B5909e9cC6A25a6802a)\n +++ description: Holds the protocol's funds controlled by Governance. It acts as a timelocked executor for spending or relaying transactions approved by the DAO.\n```\n\n```diff\n+ Status: CREATED\n contract RewardBooster (eth:0x7101a6703491A4D808aeAbE9F62bC1Dc6a20bdf4)\n +++ description: Calculates 'boosted' reward shares for active provers based on a configured curve, incentivizing consistent participation.\n```\n\n```diff\n+ Status: CREATED\n contract BaseStaker (eth:0x79075C8E314Ab4A84d54F90b1c7032Dc5469082d)\n +++ description: An template contract used for staker proxies within the StakingRegistry.\n```\n\n```diff\n+ Status: CREATED\n contract TallySlashingProposer (eth:0x7a318c3DaA9f21f8fc8238c65755eB0394Fbf189)\n +++ description: Allows the validator committee to vote on slashing a specific peer. Once a quorum is reached, it proposes a slash action to the Slasher.\n```\n\n```diff\n+ Status: CREATED\n contract SlashPayloadCloneable (eth:0x82c592b4Bb7E1f50f68E75d86743c3330beAaba4)\n +++ description: A template for specific slashing payload contracts deployed deterministically to encode a slashing action (who to slash and how much) that the Slasher executes.\n```\n\n```diff\n+ Status: CREATED\n contract Slasher (eth:0x91A3745c685c220595B997E53311EbF660144889)\n +++ description: The executor contract for penalties. It receives authorization to slash validator stakes, subject to an execution delay and a vetoer.\n```\n\n```diff\n+ Status: CREATED\n contract Aztec (eth:0xA27EC0006e59f245217Ff08CD52A7E8b169E62D2)\n +++ description: AZTEC token contract\n```\n\n```diff\n+ Status: CREATED\n contract GSE (eth:0xa92ecFD0E70c9cd5E5cd76c50Af0F7Da93567a4f)\n +++ description: Central staking hub. Validators (attesters) deposit stake here to register. It manages delegation of voting power and tracks which rollup instance validators are securing.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0xBbB4aF368d02827945748b28CD4b2D42e4A37480)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract StakingRegistry (eth:0xD938bE4A2cB41105Bc2FbE707dca124A2e5d0c80)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FeeJuicePortal (eth:0xe05dc9D5969272831757181fFf1532B066254bf1)\n +++ description: A specific bridge allowing the Aztec token ('Fee Juice') to be deposited into L2 specifically for paying gas fees. AZTEC tokens accruing in this escrow can only be used as fees for sequencers.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (eth:0xf006c41097861AFeb18b05e586B921c081411Ee9)\n +++ description: Handles L2-to-L1 messaging. It stores Merkle roots of messages exiting the rollup, allowing users to prove inclusion and finalize withdrawals or actions on L1.\n```"
}
]
}
]
[
{
"id": "80c21fa4",
"id": "9b1f031b",
"date": "Tue, 08 Sep 2026 08:47:06 GMT",
"timestamp": 1788853601,
"description": "Initial discovery of the Fluidkey ENS resolver, its owner and signers, and the auto-earn module and its permissions on Ethereum, Base, Arbitrum, Optimism, Polygon PoS, and Gnosis.",
"isHighSeverity": false,
"changeCount": 14,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract FluidkeyEarnModule (arb1:0x3BDb857AFe9b51d8916D80240d2ADe40D4d3f2f9) [N/A]\n +++ description: Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe's configuration hash, with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe.\n```\n\n```diff\n+ Status: CREATED\n contract Fluidkey Earn Owner (arb1:0x9E3eba321427941868cB4123De97DAB145C9e7CD) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FluidkeyEarnModule (base:0x3BDb857AFe9b51d8916D80240d2ADe40D4d3f2f9) [N/A]\n +++ description: Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe's configuration hash, with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe.\n```\n\n```diff\n+ Status: CREATED\n contract Fluidkey Earn Owner (base:0x9E3eba321427941868cB4123De97DAB145C9e7CD) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FluidkeyEarnModule (eth:0x3BDb857AFe9b51d8916D80240d2ADe40D4d3f2f9) [N/A]\n +++ description: Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe's configuration hash, with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe.\n```\n\n```diff\n+ Status: CREATED\n contract OffchainResolver (eth:0x9AcF316290AaA62edafdDDaC48B124032C36EB3c) [N/A]\n +++ description: Immutable ENS CCIP-Read resolver used by Fluidkey. Every query redirects to a configurable gateway and accepts the returned ENS record if it is unexpired and signed by an accepted signer. It does not verify that a returned payment address was derived for the named recipient.\n```\n\n```diff\n+ Status: CREATED\n contract Fluidkey Earn Owner (eth:0x9E3eba321427941868cB4123De97DAB145C9e7CD) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Fluidkey Resolver Multisig (eth:0xdcC34c0da55cEF7AeD38Bb749AD97DAC12A9936C) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FluidkeyEarnModule (gno:0x3BDb857AFe9b51d8916D80240d2ADe40D4d3f2f9) [N/A]\n +++ description: Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe's configuration hash, with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe.\n```\n\n```diff\n+ Status: CREATED\n contract Fluidkey Earn Owner (gno:0x9E3eba321427941868cB4123De97DAB145C9e7CD) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FluidkeyEarnModule (matic:0x3BDb857AFe9b51d8916D80240d2ADe40D4d3f2f9) [N/A]\n +++ description: Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe's configuration hash, with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe.\n```\n\n```diff\n+ Status: CREATED\n contract Fluidkey Earn Owner (matic:0x9E3eba321427941868cB4123De97DAB145C9e7CD) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FluidkeyEarnModule (oeth:0x3BDb857AFe9b51d8916D80240d2ADe40D4d3f2f9) [N/A]\n +++ description: Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe's configuration hash, with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe.\n```\n\n```diff\n+ Status: CREATED\n contract Fluidkey Earn Owner (oeth:0x9E3eba321427941868cB4123De97DAB145C9e7CD) [GnosisSafe]\n +++ description: None\n```"
}
]
}
]
[
{
"id": "62ee02b9",
"id": "25ddfffd",
"date": "Fri, 21 Aug 2026 08:35:52 GMT",
"timestamp": 1787300652,
"description": "Initial discovery of Frankencoin, an oracle-free stablecoin protocol issuing ZCHF, minted against arbitrary collateral in auction-policed CDPs and 1:1 against whitelisted CHF stablecoins. All 18 contracts are immutable with no admin keys: ZCHF supply is controlled by 11 registered minter modules that anyone can propose and FPS pool share holders (2% of time-weighted votes) can veto during a public application period, after which a minter is irrevocable — the system's central trust assumption. All protocol income accrues to an equity reserve (FPS) that absorbs losses first; savers earn a governance-set rate directly or via the immutable svZCHF ERC4626 vault, and ZCHF expands to other chains through a rate-limited Chainlink CCIP token pool governed by the same FPS quorum.",
"isHighSeverity": false,
"changeCount": 23,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract PositionFactory (eth:0x0CDE500e6940931ED190ded77bb48640c9486392) [frankencoin/PositionFactory]\n +++ description: Stateless factory that deploys new Position contracts and ERC-1167 minimal proxies targeting the original contract of a supplied Position.\n```\n\n```diff\n+ Status: CREATED\n contract Equity (eth:0x1bA26788dfDe592fec8bcB0Eaff472a42BE341B2) [frankencoin/Equity]\n +++ description: Reserve of the Frankencoin system and its governance token (FPS): holds all ZCHF reserves and absorbs losses before ZCHF holders do. FPS is minted and redeemed permissionlessly against ZCHF at a formula price (3x underlying equity, 90-day minimum holding before redemption). Votes equal FPS balance times holding time; 2% of total votes qualifies an address (with delegates) for all veto and proposal rights in the system. There is no admin.\n```\n\n```diff\n+ Status: CREATED\n contract CCIPAdmin (eth:0x2527ec458c863073a303CF0a362Bf78aDD5dFEf8) [frankencoin/CCIPAdmin]\n +++ description: Owner and admin of the ZCHF CCIP token pool and of the ZCHF entry in Chainlink's TokenAdminRegistry. Every action requires 2% of FPS votes: pool configuration changes (adding/removing chains and remote pools) execute after a 7-day timelock, handover of the admin role after 21 days; setting rate limits and vetoing pending proposals is immediate.\n```\n\n```diff\n+ Status: CREATED\n contract Savings (eth:0x27d9AD987BdE08a0d083ef7e0e4043C857A17B38) [frankencoin/Savings]\n +++ description: Current savings module: deposited ZCHF earns a governance-set interest rate, minted against the equity reserve (3-day interest delay on deposits). Savers can opt into a referral fee of up to 25% of their interest for frontends. Rate changes are proposed by qualified FPS holders and take effect after 7 days unless replaced by a counter-proposal.\n```\n\n```diff\n+ Status: CREATED\n contract StablecoinBridgeVCHF (eth:0x3B71ba73299F925a837836160c3E1Fec74340403) [frankencoin/StablecoinBridge]\n +++ description: Mints ZCHF against a whitelisted Swiss franc stablecoin held in escrow, at a fixed 1:1 (decimal-adjusted) rate, up to a hard cap and only until its expiration (see isExpired). An expired bridge is permanently mint-disabled, but ZCHF from it can always be burned to redeem the escrowed stablecoin. A depeg or freeze of the escrowed stablecoin impairs ZCHF backing up to the cap.\n```\n\n```diff\n+ Status: CREATED\n contract SavingsV2 (eth:0x3BF301B0e2003E75A3e86AB82bD1EFF6A9dFB2aE) [frankencoin/SavingsV2]\n +++ description: Original savings module, superseded as a savings product by the current Savings module but still the system's authoritative leadrate source: MintingHubV2 positions pay this contract's rate plus their risk premium (remaining depositors earn it, minted against the equity reserve and capped by it). Rate changes are proposed by qualified FPS holders and take effect after 7 days unless replaced by a counter-proposal.\n```\n\n```diff\n+ Status: CREATED\n contract StablecoinBridgeCHFAU (eth:0x3e445ff4ddDf0ff8aE7458c9746eD80bD664F6C1) [frankencoin/StablecoinBridge]\n +++ description: Mints ZCHF against a whitelisted Swiss franc stablecoin held in escrow, at a fixed 1:1 (decimal-adjusted) rate, up to a hard cap and only until its expiration (see isExpired). An expired bridge is permanently mint-disabled, but ZCHF from it can always be burned to redeem the escrowed stablecoin. A depeg or freeze of the escrowed stablecoin impairs ZCHF backing up to the cap.\n```\n\n```diff\n+ Status: CREATED\n contract Position (eth:0x49C431454C40ecbf848096f2753B2ABC3A699a10) [frankencoin/Position]\n +++ description: Collateralized debt position whose owner can mint the configured stablecoin against a fixed ERC20 collateral, subject to a declared liquidation price and fixed minimum collateral, risk premium, challenge period, and expiration. A full Position deployment tracks the minting limit for its clone family and acts as the implementation and immutable-parameter source for ERC-1167 child positions; the configured hub conducts challenges and forced collateral sales.\n```\n\n```diff\n+ Status: CREATED\n contract LeadrateSender (eth:0x4d433780A16d425c5dB1F725A6d104233a8Ef28D) [frankencoin/LeadrateSender]\n +++ description: Permissionless helper that pushes the Savings module's current interest rate to bridged savings modules on other chains via CCIP; anyone can trigger a push by paying the CCIP fee.\n```\n\n```diff\n+ Status: CREATED\n contract FPSWrapper (eth:0x5052D3Cc819f53116641e89b96Ff4cD1EE80B182) [frankencoin/FPSWrapper]\n +++ description: Wrapper token (WFPS) for FPS. Wrapped shares cannot vote individually and can be unwrapped or redeemed for ZCHF at any time, subject to the wrapper's collective holding duration.\n```\n\n```diff\n+ Status: CREATED\n contract PositionFactory (eth:0x728310FeaCa72dc46cD5BF7d739556D5668472BA) [frankencoin/PositionFactory]\n +++ description: Stateless factory that deploys new Position contracts and ERC-1167 minimal proxies targeting the original contract of a supplied Position.\n```\n\n```diff\n+ Status: CREATED\n contract MintingHubV1 (eth:0x7546762fdb1a6d9146b33960545C3f6394265219) [frankencoin/MintingHubV1]\n +++ description: Deprecated first version of the minting hub with the same oracle-free, auction-policed design (fixed upfront fees instead of the leadrate-linked interest of V2). The official frontend no longer supports it, but it remains a registered minter forever and stays permissionlessly usable.\n```\n\n```diff\n+ Status: CREATED\n contract StablecoinBridgeXCHF (eth:0x7bbe8F18040aF0032f4C2435E7a76db6F1E346DF) [frankencoin/StablecoinBridge]\n +++ description: Mints ZCHF against a whitelisted Swiss franc stablecoin held in escrow, at a fixed 1:1 (decimal-adjusted) rate, up to a hard cap and only until its expiration (see isExpired). An expired bridge is permanently mint-disabled, but ZCHF from it can always be burned to redeem the escrowed stablecoin. A depeg or freeze of the escrowed stablecoin impairs ZCHF backing up to the cap.\n```\n\n```diff\n+ Status: CREATED\n contract AmplifiedPosition (eth:0x8746159D385f84CB550ab5aE015c0dDf6909b8f2) [frankencoin/AmplifiedPosition]\n +++ description: Position template for ZCHF USDT uniswap amplified positions.\n```\n\n```diff\n+ Status: CREATED\n contract BridgeAccounting (eth:0x88fd2ECD0B9250F203e99E80eb78b0C32B8AdB16) [frankencoin/BridgeAccounting]\n +++ description: Books profit/loss settlements from bridged Frankencoin deployments on other chains into the mainnet reserve (it is a registered minter). Accepts CCIP messages only from the ZCHF token contracts registered in the token pool.\n```\n\n```diff\n+ Status: CREATED\n contract BurnMintTokenPool (eth:0x9359cd75549DaE00Cdd8D22297BC9B13FbBe4B79) [transporter/TokenPool]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract UniswapAmplifier (eth:0xa1304E5Aaf83CDB7c2b367F50B99Bb0647ED8C58) [frankencoin/UniswapAmplifier]\n +++ description: Allows to create uniswap positions with ZCHF borrowed from the protocol on one side and USDT supplied by the user on the other. There are multiple contraints on what kind of positions can be created.\n```\n\n```diff\n+ Status: CREATED\n contract PositionRoller (eth:0xAD0107D3Da540Fd54b1931735b65110C909ea6B6) [frankencoin/PositionRoller]\n +++ description: Helper that rolls debt and collateral from one minting position into another in a single transaction. It is a registered minter but uses that right only transiently within a roll.\n```\n\n```diff\n+ Status: CREATED\n contract Frankencoin (eth:0xB58E61C3098d85632Df34EecfB899A1Ed80921cB) [frankencoin/Frankencoin]\n +++ description: The ZCHF stablecoin token. Immutable and ownerless: supply is controlled exclusively by registered 'minter' modules. Anyone can apply to add a minter by paying a fee of at least 1,000 ZCHF; it becomes active unless vetoed by FPS holders with 2% of votes during the application period (at least 14 days). Once active, a minter is irrevocable.\n```\n\n```diff\n+ Status: CREATED\n contract MintingHubV2 (eth:0xDe12B620A8a714476A97EfD14E6F7180Ca653557) [frankencoin/MintingHubV2]\n +++ description: Permissionless factory for collateralized ZCHF minting positions: anyone can open a position with any ERC20 collateral and a self-declared liquidation price for a 1,000 ZCHF fee, or clone an approved one for free. No price oracle is used; anyone can challenge an overpriced position in a collateral auction (2% challenger reward) and qualified FPS holders (2% of votes) can veto new positions during their initialization period. Positions prepay interest (leadrate plus a fixed risk premium) at minting for the term to expiration and are individually registered as minters (not listed here).\n```\n\n```diff\n+ Status: CREATED\n contract SavingsVault (eth:0xE5F130253fF137f9917C0107659A4c5262abf6b0) [frankencoin/SavingsVault]\n +++ description: ERC4626 vault (svZCHF) over the Savings module: deposited ZCHF is forwarded there and interest auto-compounds into the share price. Ownership has been renounced, so its only privileged function (activating a referral-fee skim of up to 25% of interest) is permanently disabled and the vault is fully immutable.\n```\n\n```diff\n+ Status: CREATED\n contract TransferReference (eth:0xf98c221661F51578f5E5236B189a493E2a8a1916) [frankencoin/TransferReference]\n +++ description: Convenience contract for ZCHF transfers with an attached payment reference, on Ethereum and cross-chain via CCIP. It is registered as a minter solely for the resulting unlimited allowance; its code only moves funds of the caller or of accounts that granted the caller an explicit infinite allowance.\n```\n\n```diff\n+ Status: CREATED\n contract GovernanceSender (eth:0xFD23272DfcB13Dc3Fabd8DB851fCD4827Af876EB) [frankencoin/GovernanceSender]\n +++ description: Permissionless helper that pushes FPS voting-power snapshots to bridged governance contracts on other chains via CCIP; anyone can trigger a sync by paying the CCIP fee.\n```"
}
]
}
]
gnosis+133-119
permissions+118-118
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Gnosis Bridge Multisig (Ethereum)",
"name": "Gnosis Bridge Multisig (Ethereum)",
"description": "A Multisig with 8/15 threshold. \n* Can upgrade **with no delay**\n * XDaiForeignBridge \n * ForeignAMB \n * ForeignOmnibridge \n * BridgeRouter [via: BridgeRouter ProxyAdmin]\n * XDai Bridge Validators \n * AMB Validators \n* Can interact with XDaiForeignBridge\n * change bridge limits, gas and confirmation parameters, and the optional Hashi validation manager for the xDAI bridge \n * claim tokens held by the bridge and recover legacy transfers that remain locked in the contract \n* Can interact with ForeignAMB\n * change validator and Hashi-based message verification settings, chain identifiers, gas parameters, and reentrancy policy for AMB messages \n * claim tokens accidentally held by the AMB bridge contract \n* Can interact with ForeignOmnibridge TokenFactory\n * change the token implementation used for newly deployed Omnibridge wrapped tokens \n* Can interact with ForeignOmnibridge\n * change the counterpart mediator, the AMB bridge endpoint, the wrapped token factory, gas settings, token pairs, and per-token bridge limits for Omnibridge transfers \n * fix bridge imbalances and claim unsupported tokens or assets held by the mediator or bridged token contracts \n* Can interact with BridgeRouter\n * change the DAI and USDS bridge routes and recover ETH or ERC20 tokens locked in the router \n* Can interact with WETHOmnibridgeRouter\n * claim ETH or ERC20 tokens that remain stuck in the WETH Omnibridge router \n* Can interact with XDai Bridge Validators\n * change the threshold and manage signers \n* Can interact with AMB Validators\n * change the threshold and manage signers ",
"accounts": [
{
"address": "eth:0x42F38ec5A75acCEc50054671233dfAC9C0E7A3F6",
"type": "Contract",
"isVerified": true,
"name": "0x42F3…A3F6",
"url": "https://etherscan.io/address/0x42F38ec5A75acCEc50054671233dfAC9C0E7A3F6"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x4b5F5231e2F08Ad49d79Ce5672A8339a63Cfbd43",
"type": "Contract",
"isVerified": true,
"name": "Hashi Multisig (Ethereum)",
"url": "#Hashi Multisig (Ethereum)"
},
{
"address": "eth:0xDdf2d07267EAF2cE3E13ee4319bE1F34D55ed992",
"type": "EOA",
"isVerified": true,
"name": "0xDdf2…d992",
"url": "https://etherscan.io/address/0xDdf2d07267EAF2cE3E13ee4319bE1F34D55ed992"
},
{
"address": "eth:0xf59E447E97bC03c2B0C5719e2E551F0B15b724e5",
"type": "EOA",
"isVerified": true,
"name": "0xf59E…24e5",
"url": "https://etherscan.io/address/0xf59E447E97bC03c2B0C5719e2E551F0B15b724e5"
},
{
"address": "eth:0xA07888742c18d7e658132AE0148fF205fFF46481",
"type": "EOA",
"isVerified": true,
"name": "0xA078…6481",
"url": "https://etherscan.io/address/0xA07888742c18d7e658132AE0148fF205fFF46481"
},
{
"address": "eth:0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4",
"type": "EOA",
"isVerified": true,
"name": "0x329c…3eD4",
"url": "https://etherscan.io/address/0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4"
},
{
"address": "eth:0xcF9ebF877688Ed88a7479A6e63457Fd78D4275cE",
"type": "EOA",
"isVerified": true,
"name": "0xcF9e…75cE",
"url": "https://etherscan.io/address/0xcF9ebF877688Ed88a7479A6e63457Fd78D4275cE"
},
{
"address": "eth:0x5b10cE4DDD27F57d4D432D409A5321219cbA7893",
"type": "EOA",
"isVerified": true,
"name": "0x5b10…7893",
"url": "https://etherscan.io/address/0x5b10cE4DDD27F57d4D432D409A5321219cbA7893"
},
{
"address": "eth:0xc44caeb7F0724A156806664d2361fD6f32a2d2C8",
"type": "EOA",
"isVerified": true,
"name": "0xc44c…d2C8",
"url": "https://etherscan.io/address/0xc44caeb7F0724A156806664d2361fD6f32a2d2C8"
},
{
"address": "eth:0x839395e20bbB182fa440d08F850E6c7A8f6F0780",
"type": "EOA",
"isVerified": true,
"name": "0x8393…0780",
"url": "https://etherscan.io/address/0x839395e20bbB182fa440d08F850E6c7A8f6F0780"
},
{
"address": "eth:0xB646B8b5Fe6cBc7770578B7679208337ef747ae4",
"type": "EOA",
"isVerified": true,
"name": "0xB646…7ae4",
"url": "https://etherscan.io/address/0xB646B8b5Fe6cBc7770578B7679208337ef747ae4"
},
{
"address": "eth:0x10DD75875a2a8a284529Ae7223B1aCE410d606bd",
"type": "EOA",
"isVerified": true,
"name": "0x10DD…06bd",
"url": "https://etherscan.io/address/0x10DD75875a2a8a284529Ae7223B1aCE410d606bd"
},
{
"address": "eth:0x80BA18503a1Fa16Ea22F3ef1Af23e2994EaC1d97",
"type": "EOA",
"isVerified": true,
"name": "0x80BA…1d97",
"url": "https://etherscan.io/address/0x80BA18503a1Fa16Ea22F3ef1Af23e2994EaC1d97"
},
{
"address": "eth:0xb2a33ae0E07fD2ca8DBdE9545F6ce0b3234dc4e8",
"type": "EOA",
"isVerified": true,
"name": "0xb2a3…c4e8",
"url": "https://etherscan.io/address/0xb2a33ae0E07fD2ca8DBdE9545F6ce0b3234dc4e8"
},
{
"address": "eth:0x57B11cC8F93f2cfeC4c1C5B95213f17cAD81332B",
"type": "EOA",
"isVerified": true,
"name": "0x57B1…332B",
"url": "https://etherscan.io/address/0x57B11cC8F93f2cfeC4c1C5B95213f17cAD81332B"
},
{
"address": "eth:0x544cE64C3Fc6Da72CEB2456CC4cF19E7c7972eFA",
"type": "EOA",
"isVerified": true,
"name": "0x544c…2eFA",
"url": "https://etherscan.io/address/0x544cE64C3Fc6Da72CEB2456CC4cF19E7c7972eFA"
}
],
"discoveryDrivenData": true
},
{
"id": "Hashi Multisig (Ethereum)",
"name": "Hashi Multisig (Ethereum)",
"description": "A Multisig with 2/3 threshold. \nMember of Gnosis Bridge Multisig (Ethereum).\n",
"accounts": [
{
"address": "eth:0x4b5F5231e2F08Ad49d79Ce5672A8339a63Cfbd43",
"type": "Contract",
"isVerified": true,
"name": "0x4b5F…bd43",
"url": "https://etherscan.io/address/0x4b5F5231e2F08Ad49d79Ce5672A8339a63Cfbd43"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xd722EC6853e6EbAaf8664602A37855FAe872E482",
"type": "EOA",
"isVerified": true,
"name": "0xd722…E482",
"url": "https://etherscan.io/address/0xd722EC6853e6EbAaf8664602A37855FAe872E482"
},
{
"address": "eth:0xD1aA7F557af9cC5Ba4Daf87D923d712fdAf1D709",
"type": "EOA",
"isVerified": true,
"name": "0xD1aA…D709",
"url": "https://etherscan.io/address/0xD1aA7F557af9cC5Ba4Daf87D923d712fdAf1D709"
},
{
"address": "eth:0x52F05Eff62fC36c83d840D9684daCAD3be43D8bf",
"type": "EOA",
"isVerified": true,
"name": "0x52F0…D8bf",
"url": "https://etherscan.io/address/0x52F05Eff62fC36c83d840D9684daCAD3be43D8bf"
}
],
"discoveryDrivenData": true
},
{
"id": "XDai Bridge Validators",
"name": "XDai Bridge Validators",
"description": "A Multisig with 4/7 threshold. \nValidator set contract used by the bridge to require threshold signatures before cross-chain messages can be executed.\n",
"accounts": [
{
"address": "eth:0xe1579dEbdD2DF16Ebdb9db8694391fa74EeA201E",
"type": "Contract",
"isVerified": true,
"name": "0xe157…201E",
"url": "https://etherscan.io/address/0xe1579dEbdD2DF16Ebdb9db8694391fa74EeA201E"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x1312E98995bbCc30fc63Db3cef807e20CDd33dca",
"type": "EOA",
"isVerified": true,
"name": "Safe EOA 1",
"url": "#Safe-EOA-1,-EOA-9,-EOA-11,-EOA-13-and-EOA-15"
"url": "#Safe-EOA-1,-EOA-8,-EOA-12,-EOA-13-and-EOA-16"
},
{
"address": "eth:0xAeE7C90Ef0fC461ec63c4d451B12c340642bc656",
"type": "EOA",
"isVerified": true,
"name": "EOA 13",
"url": "#Safe-EOA-1,-EOA-9,-EOA-11,-EOA-13-and-EOA-15"
},
{
"address": "eth:0xb54B5572F3C4f70fF3cc8F67C19C8cddb838FBaA",
"type": "EOA",
"isVerified": true,
"name": "EOA 14",
"url": "#EOA-8-and-EOA-14"
"name": "EOA 15",
"url": "#EOA-11-and-EOA-15"
},
{
"address": "eth:0x82b00cA9D162859f645B51967746E55bb6498DfC",
"type": "EOA",
"isVerified": true,
"name": "EOA 11",
"url": "#Safe-EOA-1,-EOA-9,-EOA-11,-EOA-13-and-EOA-15"
"name": "EOA 12",
"url": "#Safe-EOA-1,-EOA-8,-EOA-12,-EOA-13-and-EOA-16"
},
{
"address": "eth:0x2245bFAD58a6cD50e9e413084d4091C497281911",
"type": "EOA",
"isVerified": true,
"name": "EOA 9",
"url": "#Safe-EOA-1,-EOA-9,-EOA-11,-EOA-13-and-EOA-15"
"name": "EOA 8",
"url": "#Safe-EOA-1,-EOA-8,-EOA-12,-EOA-13-and-EOA-16"
},
{
"address": "eth:0xC9f0d7e76E7970590e217c57Af5d2B7d07A62c13",
"type": "EOA",
"isVerified": true,
"name": "EOA 15",
"url": "#Safe-EOA-1,-EOA-9,-EOA-11,-EOA-13-and-EOA-15"
"name": "EOA 16",
"url": "#Safe-EOA-1,-EOA-8,-EOA-12,-EOA-13-and-EOA-16"
},
{
"address": "eth:0x156c0DAAb0cD73c224a424a781866d35f0F8Fade",
"address": "eth:0xA2746D5eE860a6A9cbb79C34533313144d467CA8",
"type": "EOA",
"isVerified": true,
"name": "EOA 8",
"url": "#EOA-8-and-EOA-14"
"name": "EOA 13",
"url": "#Safe-EOA-1,-EOA-8,-EOA-12,-EOA-13-and-EOA-16"
},
{
"address": "eth:0x59D3C2829900Ae20D02Ca547082b09FD27380eA6",
"type": "EOA",
"isVerified": true,
"name": "EOA 11",
"url": "#EOA-11-and-EOA-15"
}
],
"discoveryDrivenData": true
},
{
"id": "AMB Validators",
"name": "AMB Validators",
"description": "A Multisig with 4/7 threshold. \nValidator set contract used by the bridge to require threshold signatures before cross-chain messages can be executed.\n",
"accounts": [
{
"address": "eth:0xed84a648b3c51432ad0fD1C2cD2C45677E9d4064",
"type": "Contract",
"isVerified": true,
"name": "0xed84…4064",
"url": "https://etherscan.io/address/0xed84a648b3c51432ad0fD1C2cD2C45677E9d4064"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x258667E543C913264388B33328337257aF208a8f",
"type": "EOA",
"isVerified": true,
"name": "Safe EOA 2",
"url": "#Safe-EOA-2,-EOA-10,-EOA-12,-EOA-16-and-EOA-17"
"url": "#Safe-EOA-2,-EOA-9,-EOA-10,-EOA-14-and-EOA-17"
},
{
"address": "eth:0xCC46a3873BfCaa08a6a946a308bB621535D6E6Dd",
"type": "EOA",
"isVerified": true,
"name": "EOA 16",
"url": "#Safe-EOA-2,-EOA-10,-EOA-12,-EOA-16-and-EOA-17"
},
{
"address": "eth:0xb54B5572F3C4f70fF3cc8F67C19C8cddb838FBaA",
"type": "EOA",
"isVerified": true,
"name": "EOA 14",
"url": "#EOA-8-and-EOA-14"
"name": "EOA 15",
"url": "#EOA-11-and-EOA-15"
},
{
"address": "eth:0x4A07b8AE561CC558eDD3f1836365AB8e02C52dE2",
"type": "EOA",
"isVerified": true,
"name": "EOA 10",
"url": "#Safe-EOA-2,-EOA-10,-EOA-12,-EOA-16-and-EOA-17"
"name": "EOA 9",
"url": "#Safe-EOA-2,-EOA-9,-EOA-10,-EOA-14-and-EOA-17"
},
{
"address": "eth:0xAD93BffBC65002cC75AD2d5770d3AAfFdefd8D55",
"type": "EOA",
"isVerified": true,
"name": "EOA 12",
"url": "#Safe-EOA-2,-EOA-10,-EOA-12,-EOA-16-and-EOA-17"
"name": "EOA 14",
"url": "#Safe-EOA-2,-EOA-9,-EOA-10,-EOA-14-and-EOA-17"
},
{
"address": "eth:0xE9fc29AE64c2923FeBb615cB016b77aF9492EBcE",
"type": "EOA",
"isVerified": true,
"name": "EOA 17",
"url": "#Safe-EOA-2,-EOA-10,-EOA-12,-EOA-16-and-EOA-17"
"url": "#Safe-EOA-2,-EOA-9,-EOA-10,-EOA-14-and-EOA-17"
},
{
"address": "eth:0x156c0DAAb0cD73c224a424a781866d35f0F8Fade",
"address": "eth:0x5524b7a3e2Dc024f4C9c2Ecd7FE003ee316ac624",
"type": "EOA",
"isVerified": true,
"name": "EOA 8",
"url": "#EOA-8-and-EOA-14"
"name": "EOA 10",
"url": "#Safe-EOA-2,-EOA-9,-EOA-10,-EOA-14-and-EOA-17"
},
{
"address": "eth:0x59D3C2829900Ae20D02Ca547082b09FD27380eA6",
"type": "EOA",
"isVerified": true,
"name": "EOA 11",
"url": "#EOA-11-and-EOA-15"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe-EOA-1,-EOA-9,-EOA-11,-EOA-13-and-EOA-15",
"name": "Safe EOA 1, EOA 9, EOA 11, EOA 13 and EOA 15",
"id": "Safe-EOA-1,-EOA-8,-EOA-12,-EOA-13-and-EOA-16",
"name": "Safe EOA 1, EOA 8, EOA 12, EOA 13 and EOA 16",
"accounts": [
{
"address": "eth:0x1312E98995bbCc30fc63Db3cef807e20CDd33dca",
"type": "EOA",
"isVerified": true,
"name": "0x1312…3dca",
"url": "https://etherscan.io/address/0x1312E98995bbCc30fc63Db3cef807e20CDd33dca",
"displayName": "Safe EOA 1"
},
{
"address": "eth:0x2245bFAD58a6cD50e9e413084d4091C497281911",
"type": "EOA",
"isVerified": true,
"name": "0x2245…1911",
"url": "https://etherscan.io/address/0x2245bFAD58a6cD50e9e413084d4091C497281911",
"displayName": "EOA 9"
"displayName": "EOA 8"
},
{
"address": "eth:0x82b00cA9D162859f645B51967746E55bb6498DfC",
"type": "EOA",
"isVerified": true,
"name": "0x82b0…8DfC",
"url": "https://etherscan.io/address/0x82b00cA9D162859f645B51967746E55bb6498DfC",
"displayName": "EOA 11"
"displayName": "EOA 12"
},
{
"address": "eth:0xAeE7C90Ef0fC461ec63c4d451B12c340642bc656",
"address": "eth:0xA2746D5eE860a6A9cbb79C34533313144d467CA8",
"type": "EOA",
"isVerified": true,
"name": "0xAeE7…c656",
"url": "https://etherscan.io/address/0xAeE7C90Ef0fC461ec63c4d451B12c340642bc656",
"name": "0xA274…7CA8",
"url": "https://etherscan.io/address/0xA2746D5eE860a6A9cbb79C34533313144d467CA8",
"displayName": "EOA 13"
},
{
"address": "eth:0xC9f0d7e76E7970590e217c57Af5d2B7d07A62c13",
"type": "EOA",
"isVerified": true,
"name": "0xC9f0…2c13",
"url": "https://etherscan.io/address/0xC9f0d7e76E7970590e217c57Af5d2B7d07A62c13",
"displayName": "EOA 15"
"displayName": "EOA 16"
}
],
"chain": "ethereum",
"description": "Member of XDai Bridge Validators.\n* Can interact with XDai Bridge Validators\n * can sign bridge messages between Ethereum and Gnosis ",
"discoveryDrivenData": true
},
{
"id": "EOA-8-and-EOA-14",
"name": "EOA 8 and EOA 14",
"id": "Safe-EOA-2,-EOA-9,-EOA-10,-EOA-14-and-EOA-17",
"name": "Safe EOA 2, EOA 9, EOA 10, EOA 14 and EOA 17",
"accounts": [
{
"address": "eth:0x156c0DAAb0cD73c224a424a781866d35f0F8Fade",
"type": "EOA",
"isVerified": true,
"name": "0x156c…Fade",
"url": "https://etherscan.io/address/0x156c0DAAb0cD73c224a424a781866d35f0F8Fade",
"displayName": "EOA 8"
},
{
"address": "eth:0xb54B5572F3C4f70fF3cc8F67C19C8cddb838FBaA",
"type": "EOA",
"isVerified": true,
"name": "0xb54B…FBaA",
"url": "https://etherscan.io/address/0xb54B5572F3C4f70fF3cc8F67C19C8cddb838FBaA",
"displayName": "EOA 14"
}
],
"chain": "ethereum",
"description": "Member of XDai Bridge Validators, AMB Validators.\n* Can interact with XDai Bridge Validators\n * can sign bridge messages between Ethereum and Gnosis \n* Can interact with AMB Validators\n * can sign bridge messages between Ethereum and Gnosis ",
"discoveryDrivenData": true
},
{
"id": "Safe-EOA-2,-EOA-10,-EOA-12,-EOA-16-and-EOA-17",
"name": "Safe EOA 2, EOA 10, EOA 12, EOA 16 and EOA 17",
"accounts": [
{
"address": "eth:0x258667E543C913264388B33328337257aF208a8f",
"type": "EOA",
"isVerified": true,
"name": "0x2586…8a8f",
"url": "https://etherscan.io/address/0x258667E543C913264388B33328337257aF208a8f",
"displayName": "Safe EOA 2"
},
{
"address": "eth:0x4A07b8AE561CC558eDD3f1836365AB8e02C52dE2",
"type": "EOA",
"isVerified": true,
"name": "0x4A07…2dE2",
"url": "https://etherscan.io/address/0x4A07b8AE561CC558eDD3f1836365AB8e02C52dE2",
"displayName": "EOA 9"
},
{
"address": "eth:0x5524b7a3e2Dc024f4C9c2Ecd7FE003ee316ac624",
"type": "EOA",
"isVerified": true,
"name": "0x5524…c624",
"url": "https://etherscan.io/address/0x5524b7a3e2Dc024f4C9c2Ecd7FE003ee316ac624",
"displayName": "EOA 10"
},
{
"address": "eth:0xAD93BffBC65002cC75AD2d5770d3AAfFdefd8D55",
"type": "EOA",
"isVerified": true,
"name": "0xAD93…8D55",
"url": "https://etherscan.io/address/0xAD93BffBC65002cC75AD2d5770d3AAfFdefd8D55",
"displayName": "EOA 12"
"displayName": "EOA 14"
},
{
"address": "eth:0xCC46a3873BfCaa08a6a946a308bB621535D6E6Dd",
"type": "EOA",
"isVerified": true,
"name": "0xCC46…E6Dd",
"url": "https://etherscan.io/address/0xCC46a3873BfCaa08a6a946a308bB621535D6E6Dd",
"displayName": "EOA 16"
},
{
"address": "eth:0xE9fc29AE64c2923FeBb615cB016b77aF9492EBcE",
"type": "EOA",
"isVerified": true,
"name": "0xE9fc…EBcE",
"url": "https://etherscan.io/address/0xE9fc29AE64c2923FeBb615cB016b77aF9492EBcE",
"displayName": "EOA 17"
}
],
"chain": "ethereum",
"description": "Member of AMB Validators.\n* Can interact with AMB Validators\n * can sign bridge messages between Ethereum and Gnosis ",
"discoveryDrivenData": true
},
{
"id": "EOA-11-and-EOA-15",
"name": "EOA 11 and EOA 15",
"accounts": [
{
"address": "eth:0x59D3C2829900Ae20D02Ca547082b09FD27380eA6",
"type": "EOA",
"isVerified": true,
"name": "0x59D3…0eA6",
"url": "https://etherscan.io/address/0x59D3C2829900Ae20D02Ca547082b09FD27380eA6",
"displayName": "EOA 11"
},
{
"address": "eth:0xb54B5572F3C4f70fF3cc8F67C19C8cddb838FBaA",
"type": "EOA",
"isVerified": true,
"name": "0xb54B…FBaA",
"url": "https://etherscan.io/address/0xb54B5572F3C4f70fF3cc8F67C19C8cddb838FBaA",
"displayName": "EOA 15"
}
],
"chain": "ethereum",
"description": "Member of XDai Bridge Validators, AMB Validators.\n* Can interact with XDai Bridge Validators\n * can sign bridge messages between Ethereum and Gnosis \n* Can interact with AMB Validators\n * can sign bridge messages between Ethereum and Gnosis ",
"discoveryDrivenData": true
}
]
},
"gnosis": {
"roles": [],
"actors": [
{
"id": "Gnosis Multisig (Gnosis)",
"name": "Gnosis Multisig (Gnosis)",
"description": "A Multisig with 8/15 threshold. \n* Can upgrade **with no delay**\n * SBCDepositContract \n * HomeAMB \n * HomeAMB Validators \n * HomeOmnibridge \n* Can interact with SBCDepositContract\n * pause or unpause beacon chain deposits, execute system withdrawals manually if required, and recover accidentally sent non-stake tokens \n* Can interact with HomeOmnibridge Fee Manager\n * change Omnibridge fee schedules and the list of addresses that receive distributed bridge fees \n* Can interact with HomeOmnibridge Gas Limit Manager\n * change default, selector-specific, and token-specific gas limits used by HomeOmnibridge cross-chain messages \n* Can interact with HomeAMB\n * change validator and Hashi-based message verification settings, chain identifiers, gas parameters, and reentrancy policy for AMB messages \n * claim tokens accidentally held by the AMB bridge contract \n* Can interact with HomeAMB Validators\n * change the threshold and manage signers \n* Can interact with HomeOmnibridge Forwarding Rules Manager\n * change which Omnibridge transfers are routed through the oracle-driven lane or forced into the manual lane \n* Can interact with HomeOmnibridge TokenFactory\n * change the token implementation used for newly deployed Omnibridge wrapped tokens \n* Can interact with HomeOmnibridge\n * change the counterpart mediator, the AMB bridge endpoint, token factory, fee, gas-limit, and forwarding-rules managers, token pairs, and per-token bridge limits for Omnibridge transfers \n * fix bridge imbalances and claim unsupported tokens or assets held by the mediator or bridged token contracts ",
"accounts": [
{
"address": "gno:0x7a48Dac683DA91e4faa5aB13D91AB5fd170875bd",
"type": "Contract",
"isVerified": true,
"name": "0x7a48…75bd",
"url": "https://gnosis.blockscout.com/address/0x7a48Dac683DA91e4faa5aB13D91AB5fd170875bd"
}
],
"chain": "gnosis",
"references": [],
"participants": [
{
"address": "gno:0xEF138856d0581641A57245Ee5CFfc9ceaA059623",
"type": "Contract",
"isVerified": true,
"name": "Hashi Multisig (Gnosis)",
"url": "#Hashi Multisig (Gnosis)"
},
{
"address": "gno:0xDdf2d07267EAF2cE3E13ee4319bE1F34D55ed992",
"type": "EOA",
"isVerified": true,
"name": "0xDdf2…d992",
"url": "https://gnosis.blockscout.com/address/0xDdf2d07267EAF2cE3E13ee4319bE1F34D55ed992"
},
{
"address": "gno:0xf59E447E97bC03c2B0C5719e2E551F0B15b724e5",
"type": "EOA",
"isVerified": true,
"name": "0xf59E…24e5",
"url": "https://gnosis.blockscout.com/address/0xf59E447E97bC03c2B0C5719e2E551F0B15b724e5"
},
{
"address": "gno:0xA07888742c18d7e658132AE0148fF205fFF46481",
"type": "EOA",
"isVerified": true,
"name": "0xA078…6481",
"url": "https://gnosis.blockscout.com/address/0xA07888742c18d7e658132AE0148fF205fFF46481"
},
{
"address": "gno:0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4",
"type": "EOA",
"isVerified": true,
"name": "0x329c…3eD4",
"url": "https://gnosis.blockscout.com/address/0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4"
},
{
"address": "gno:0xcF9ebF877688Ed88a7479A6e63457Fd78D4275cE",
"type": "EOA",
"isVerified": true,
"name": "0xcF9e…75cE",
"url": "https://gnosis.blockscout.com/address/0xcF9ebF877688Ed88a7479A6e63457Fd78D4275cE"
},
{
"address": "gno:0x5b10cE4DDD27F57d4D432D409A5321219cbA7893",
"type": "EOA",
"isVerified": true,
"name": "0x5b10…7893",
"url": "https://gnosis.blockscout.com/address/0x5b10cE4DDD27F57d4D432D409A5321219cbA7893"
},
{
"address": "gno:0x544cE64C3Fc6Da72CEB2456CC4cF19E7c7972eFA",
"type": "EOA",
"isVerified": true,
"name": "0x544c…2eFA",
"url": "https://gnosis.blockscout.com/address/0x544cE64C3Fc6Da72CEB2456CC4cF19E7c7972eFA"
},
{
"address": "gno:0x10DD75875a2a8a284529Ae7223B1aCE410d606bd",
"type": "EOA",
"isVerified": true,
"name": "0x10DD…06bd",
"url": "https://gnosis.blockscout.com/address/0x10DD75875a2a8a284529Ae7223B1aCE410d606bd"
},
{
"address": "gno:0xc44caeb7F0724A156806664d2361fD6f32a2d2C8",
"type": "EOA",
"isVerified": true,
"name": "0xc44c…d2C8",
"url": "https://gnosis.blockscout.com/address/0xc44caeb7F0724A156806664d2361fD6f32a2d2C8"
},
{
"address": "gno:0xB646B8b5Fe6cBc7770578B7679208337ef747ae4",
"type": "EOA",
"isVerified": true,
"name": "0xB646…7ae4",
"url": "https://gnosis.blockscout.com/address/0xB646B8b5Fe6cBc7770578B7679208337ef747ae4"
},
{
"address": "gno:0x57B11cC8F93f2cfeC4c1C5B95213f17cAD81332B",
"type": "EOA",
"isVerified": true,
"name": "0x57B1…332B",
"url": "https://gnosis.blockscout.com/address/0x57B11cC8F93f2cfeC4c1C5B95213f17cAD81332B"
},
{
"address": "gno:0x839395e20bbB182fa440d08F850E6c7A8f6F0780",
"type": "EOA",
"isVerified": true,
"name": "0x8393…0780",
"url": "https://gnosis.blockscout.com/address/0x839395e20bbB182fa440d08F850E6c7A8f6F0780"
},
{
"address": "gno:0x80BA18503a1Fa16Ea22F3ef1Af23e2994EaC1d97",
"type": "EOA",
"isVerified": true,
"name": "0x80BA…1d97",
"url": "https://gnosis.blockscout.com/address/0x80BA18503a1Fa16Ea22F3ef1Af23e2994EaC1d97"
},
{
"address": "gno:0xb2a33ae0E07fD2ca8DBdE9545F6ce0b3234dc4e8",
"type": "EOA",
"isVerified": true,
"name": "0xb2a3…c4e8",
"url": "https://gnosis.blockscout.com/address/0xb2a33ae0E07fD2ca8DBdE9545F6ce0b3234dc4e8"
}
],
"discoveryDrivenData": true
},
{
"id": "HomeAMB Validators",
"name": "HomeAMB Validators",
"description": "A Multisig with 4/7 threshold. \nValidator set contract used by the bridge to require threshold signatures before cross-chain messages can be executed.\n* Can interact with GNO token\n * mint the token, update the designated bridge contract, recover unsupported tokens accidentally sent to the contract and set the `mintingFinished` state, which disallows further minting [via: HomeAMB → HomeOmnibridge]",
"accounts": [
{
"address": "gno:0xA280feD8D7CaD9a76C8b50cA5c33c2534fFa5008",
"type": "Contract",
"isVerified": true,
"name": "0xA280…5008",
"url": "https://gnosis.blockscout.com/address/0xA280feD8D7CaD9a76C8b50cA5c33c2534fFa5008"
}
],
"chain": "gnosis",
"references": [],
"participants": [
{
"address": "gno:0x258667E543C913264388B33328337257aF208a8f",
"type": "EOA",
"isVerified": true,
"name": "Safe EOA 2",
"url": "#EOA-2,-Safe-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7"
"url": "#Safe-EOA-2,-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7"
},
{
"address": "gno:0xCC46a3873BfCaa08a6a946a308bB621535D6E6Dd",
"address": "gno:0xb54B5572F3C4f70fF3cc8F67C19C8cddb838FBaA",
"type": "EOA",
"isVerified": true,
"name": "EOA 6",
"url": "#EOA-2,-Safe-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7"
"url": "#Safe-EOA-2,-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7"
},
{
"address": "gno:0xb54B5572F3C4f70fF3cc8F67C19C8cddb838FBaA",
"type": "EOA",
"isVerified": true,
"name": "EOA 5",
"url": "#EOA-2,-Safe-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7"
},
{
"address": "gno:0x4A07b8AE561CC558eDD3f1836365AB8e02C52dE2",
"type": "EOA",
"isVerified": true,
"name": "EOA 3",
"url": "#EOA-2,-Safe-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7"
"name": "EOA 2",
"url": "#Safe-EOA-2,-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7"
},
{
"address": "gno:0xAD93BffBC65002cC75AD2d5770d3AAfFdefd8D55",
"type": "EOA",
"isVerified": true,
"name": "EOA 4",
"url": "#EOA-2,-Safe-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7"
"name": "EOA 5",
"url": "#Safe-EOA-2,-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7"
},
{
"address": "gno:0xE9fc29AE64c2923FeBb615cB016b77aF9492EBcE",
"type": "EOA",
"isVerified": true,
"name": "EOA 7",
"url": "#EOA-2,-Safe-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7"
"url": "#Safe-EOA-2,-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7"
},
{
"address": "gno:0x156c0DAAb0cD73c224a424a781866d35f0F8Fade",
"address": "gno:0x5524b7a3e2Dc024f4C9c2Ecd7FE003ee316ac624",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2,-Safe-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7"
"name": "EOA 3",
"url": "#Safe-EOA-2,-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7"
},
{
"address": "gno:0x59D3C2829900Ae20D02Ca547082b09FD27380eA6",
"type": "EOA",
"isVerified": true,
"name": "EOA 4",
"url": "#Safe-EOA-2,-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7"
}
],
"discoveryDrivenData": true
},
{
"id": "Hashi Multisig (Gnosis)",
"name": "Hashi Multisig (Gnosis)",
"description": "A Multisig with 2/3 threshold. \nMember of Gnosis Multisig (Gnosis).\n",
"accounts": [
{
"address": "gno:0xEF138856d0581641A57245Ee5CFfc9ceaA059623",
"type": "Contract",
"isVerified": true,
"name": "0xEF13…9623",
"url": "https://gnosis.blockscout.com/address/0xEF138856d0581641A57245Ee5CFfc9ceaA059623"
}
],
"chain": "gnosis",
"references": [],
"participants": [
{
"address": "gno:0xd722EC6853e6EbAaf8664602A37855FAe872E482",
"type": "EOA",
"isVerified": true,
"name": "0xd722…E482",
"url": "https://gnosis.blockscout.com/address/0xd722EC6853e6EbAaf8664602A37855FAe872E482"
},
{
"address": "gno:0xD1aA7F557af9cC5Ba4Daf87D923d712fdAf1D709",
"type": "EOA",
"isVerified": true,
"name": "0xD1aA…D709",
"url": "https://gnosis.blockscout.com/address/0xD1aA7F557af9cC5Ba4Daf87D923d712fdAf1D709"
},
{
"address": "gno:0x52F05Eff62fC36c83d840D9684daCAD3be43D8bf",
"type": "EOA",
"isVerified": true,
"name": "0x52F0…D8bf",
"url": "https://gnosis.blockscout.com/address/0x52F05Eff62fC36c83d840D9684daCAD3be43D8bf"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "gno:0x0000000000000000000000000000000000000000",
"type": "EOA",
"isVerified": true,
"name": "0x0000…0000",
"url": "https://gnosis.blockscout.com/address/0x0000000000000000000000000000000000000000",
"displayName": "EOA 1"
}
],
"chain": "gnosis",
"description": "* Can upgrade **with no delay**\n * GNO token ",
"discoveryDrivenData": true
},
{
"id": "EOA-2,-Safe-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7",
"name": "EOA 2, Safe EOA 2, EOA 3, EOA 4, EOA 5, EOA 6 and EOA 7",
"id": "Safe-EOA-2,-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6-and-EOA-7",
"name": "Safe EOA 2, EOA 2, EOA 3, EOA 4, EOA 5, EOA 6 and EOA 7",
"accounts": [
{
"address": "gno:0x156c0DAAb0cD73c224a424a781866d35f0F8Fade",
"type": "EOA",
"isVerified": true,
"name": "0x156c…Fade",
"url": "https://gnosis.blockscout.com/address/0x156c0DAAb0cD73c224a424a781866d35f0F8Fade",
"displayName": "EOA 2"
},
{
"address": "gno:0x258667E543C913264388B33328337257aF208a8f",
"type": "EOA",
"isVerified": true,
"name": "0x2586…8a8f",
"url": "https://gnosis.blockscout.com/address/0x258667E543C913264388B33328337257aF208a8f",
"displayName": "Safe EOA 2"
},
{
"address": "gno:0x4A07b8AE561CC558eDD3f1836365AB8e02C52dE2",
"type": "EOA",
"isVerified": true,
"name": "0x4A07…2dE2",
"url": "https://gnosis.blockscout.com/address/0x4A07b8AE561CC558eDD3f1836365AB8e02C52dE2",
"displayName": "EOA 2"
},
{
"address": "gno:0x5524b7a3e2Dc024f4C9c2Ecd7FE003ee316ac624",
"type": "EOA",
"isVerified": true,
"name": "0x5524…c624",
"url": "https://gnosis.blockscout.com/address/0x5524b7a3e2Dc024f4C9c2Ecd7FE003ee316ac624",
"displayName": "EOA 3"
},
{
"address": "gno:0xAD93BffBC65002cC75AD2d5770d3AAfFdefd8D55",
"address": "gno:0x59D3C2829900Ae20D02Ca547082b09FD27380eA6",
"type": "EOA",
"isVerified": true,
"name": "0xAD93…8D55",
"url": "https://gnosis.blockscout.com/address/0xAD93BffBC65002cC75AD2d5770d3AAfFdefd8D55",
"name": "0x59D3…0eA6",
"url": "https://gnosis.blockscout.com/address/0x59D3C2829900Ae20D02Ca547082b09FD27380eA6",
"displayName": "EOA 4"
},
{
"address": "gno:0xb54B5572F3C4f70fF3cc8F67C19C8cddb838FBaA",
"address": "gno:0xAD93BffBC65002cC75AD2d5770d3AAfFdefd8D55",
"type": "EOA",
"isVerified": true,
"name": "0xb54B…FBaA",
"url": "https://gnosis.blockscout.com/address/0xb54B5572F3C4f70fF3cc8F67C19C8cddb838FBaA",
"name": "0xAD93…8D55",
"url": "https://gnosis.blockscout.com/address/0xAD93BffBC65002cC75AD2d5770d3AAfFdefd8D55",
"displayName": "EOA 5"
},
{
"address": "gno:0xCC46a3873BfCaa08a6a946a308bB621535D6E6Dd",
"address": "gno:0xb54B5572F3C4f70fF3cc8F67C19C8cddb838FBaA",
"type": "EOA",
"isVerified": true,
"name": "0xCC46…E6Dd",
"url": "https://gnosis.blockscout.com/address/0xCC46a3873BfCaa08a6a946a308bB621535D6E6Dd",
"name": "0xb54B…FBaA",
"url": "https://gnosis.blockscout.com/address/0xb54B5572F3C4f70fF3cc8F67C19C8cddb838FBaA",
"displayName": "EOA 6"
},
{
"address": "gno:0xE9fc29AE64c2923FeBb615cB016b77aF9492EBcE",
"type": "EOA",
"isVerified": true,
"name": "0xE9fc…EBcE",
"url": "https://gnosis.blockscout.com/address/0xE9fc29AE64c2923FeBb615cB016b77aF9492EBcE",
"displayName": "EOA 7"
}
],
"chain": "gnosis",
"description": "Member of HomeAMB Validators.\n* Can interact with HomeAMB Validators\n * can sign bridge messages between Ethereum and Gnosis ",
"discoveryDrivenData": true
}
]
}
}
[
{
"id": "06a1d144",
"date": "Tue, 15 Sep 2026 11:32:54 GMT",
"timestamp": 1789471900,
"description": "Validator signer swaps and 7702 delegation.",
"isHighSeverity": true,
"changeCount": 12,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x57B11cC8F93f2cfeC4c1C5B95213f17cAD81332B) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n sourceHashes:\n+ [\"0x1f44812af62d28f019e30e8eb2af596fb36c7db9d34576972c0405e110a6ef45\"]\n values:\n+ {\"$implementation\":\"eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B\",\"delegationManager\":\"eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3\",\"DOMAIN_VERSION\":\"1\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"EIP7702StatelessDeleGator\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0x57B11cC8F93f2cfeC4c1C5B95213f17cAD81332B\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"entryPoint\":\"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032\",\"getDeposit\":0,\"getDomainHash\":\"0x38d1f93af4f5e2dfafd980746296a0d3cf287e61c748fc95f684b0ac2164a2ff\",\"getNonce\":0,\"NAME\":\"EIP7702StatelessDeleGator\",\"PACKED_USER_OP_TYPEHASH\":\"0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18\",\"VERSION\":\"1.3.0\"}\n }\n```\n\n```diff\n contract XDai Bridge Validators (eth:0xe1579dEbdD2DF16Ebdb9db8694391fa74EeA201E) [gnosis/BridgeValidators] {\n +++ description: Validator set contract used by the bridge to require threshold signatures before cross-chain messages can be executed.\n+++ description: Array of the signers in the validator multisig\n values.$members.1:\n- \"eth:0xAeE7C90Ef0fC461ec63c4d451B12c340642bc656\"\n+++ description: Array of the signers in the validator multisig\n values.$members.5:\n+ \"eth:0xA2746D5eE860a6A9cbb79C34533313144d467CA8\"\n+++ description: Array of the signers in the validator multisig\n values.$members.6:\n- \"eth:0x156c0DAAb0cD73c224a424a781866d35f0F8Fade\"\n+ \"eth:0x59D3C2829900Ae20D02Ca547082b09FD27380eA6\"\n }\n```\n\n```diff\n contract AMB Validators (eth:0xed84a648b3c51432ad0fD1C2cD2C45677E9d4064) [gnosis/BridgeValidators] {\n +++ description: Validator set contract used by the bridge to require threshold signatures before cross-chain messages can be executed.\n+++ description: Array of the signers in the validator multisig\n values.$members.1:\n- \"eth:0xCC46a3873BfCaa08a6a946a308bB621535D6E6Dd\"\n+++ description: Array of the signers in the validator multisig\n values.$members.5:\n+ \"eth:0x5524b7a3e2Dc024f4C9c2Ecd7FE003ee316ac624\"\n+++ description: Array of the signers in the validator multisig\n values.$members.6:\n- \"eth:0x156c0DAAb0cD73c224a424a781866d35f0F8Fade\"\n+ \"eth:0x59D3C2829900Ae20D02Ca547082b09FD27380eA6\"\n }\n```\n\n```diff\n contract HomeAMB Validators (gno:0xA280feD8D7CaD9a76C8b50cA5c33c2534fFa5008) [gnosis/BridgeValidators] {\n +++ description: Validator set contract used by the bridge to require threshold signatures before cross-chain messages can be executed.\n+++ description: Array of the signers in the validator multisig\n values.$members.1:\n- \"gno:0xCC46a3873BfCaa08a6a946a308bB621535D6E6Dd\"\n+++ description: Array of the signers in the validator multisig\n values.$members.5:\n+ \"gno:0x5524b7a3e2Dc024f4C9c2Ecd7FE003ee316ac624\"\n+++ description: Array of the signers in the validator multisig\n values.$members.6:\n- \"gno:0x156c0DAAb0cD73c224a424a781866d35f0F8Fade\"\n+ \"gno:0x59D3C2829900Ae20D02Ca547082b09FD27380eA6\"\n }\n```"
}
]
},
{
"id": "f0e1ad81",
"date": "Thu, 23 Jul 2026 13:55:55 GMT",
"timestamp": 1784814886,
"description": "Four signers were rotated in each of the three 4-of-7 bridge validator sets.",
"isHighSeverity": false,
"changeCount": 24,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract XDai Bridge Validators (eth:0xe1579dEbdD2DF16Ebdb9db8694391fa74EeA201E) [gnosis/BridgeValidators] {\n +++ description: Validator set contract used by the bridge to require threshold signatures before cross-chain messages can be executed.\n+++ description: Array of the signers in the validator multisig\n values.$members.0:\n- \"eth:0x4D1c96B9A49C4469A0b720a22b74b034EDdFe051\"\n+++ description: Array of the signers in the validator multisig\n values.$members.1:\n- \"eth:0xc073C8E5ED9Aa11CF6776C69b3e13b259Ba9F506\"\n+++ description: Array of the signers in the validator multisig\n values.$members.3:\n- \"eth:0x97630E2aE609D4104aBdA91F3066C556403182dd\"\n+++ description: Array of the signers in the validator multisig\n values.$members.4:\n- \"eth:0x7117F73aFBDec3221bDD50DdCbf73204b3998302\"\n+++ description: Array of the signers in the validator multisig\n values.$members.3:\n+ \"eth:0x82b00cA9D162859f645B51967746E55bb6498DfC\"\n+++ description: Array of the signers in the validator multisig\n values.$members.4:\n+ \"eth:0x2245bFAD58a6cD50e9e413084d4091C497281911\"\n+++ description: Array of the signers in the validator multisig\n values.$members.5:\n+ \"eth:0xC9f0d7e76E7970590e217c57Af5d2B7d07A62c13\"\n+++ description: Array of the signers in the validator multisig\n values.$members.6:\n+ \"eth:0x156c0DAAb0cD73c224a424a781866d35f0F8Fade\"\n }\n```\n\n```diff\n contract AMB Validators (eth:0xed84a648b3c51432ad0fD1C2cD2C45677E9d4064) [gnosis/BridgeValidators] {\n +++ description: Validator set contract used by the bridge to require threshold signatures before cross-chain messages can be executed.\n+++ description: Array of the signers in the validator multisig\n values.$members.0:\n- \"eth:0x105CD22eD3D089Bf5589C59b452f9dE0796Ca52d\"\n+++ description: Array of the signers in the validator multisig\n values.$members.1:\n- \"eth:0x459A3bd49F1ff109bc90b76125533699AaAAf9A6\"\n+++ description: Array of the signers in the validator multisig\n values.$members.3:\n- \"eth:0xbDc141c8D2343f33F40Cb9edD601CcF460CD0dDe\"\n+++ description: Array of the signers in the validator multisig\n values.$members.4:\n- \"eth:0x7117F73aFBDec3221bDD50DdCbf73204b3998302\"\n+++ description: Array of the signers in the validator multisig\n values.$members.3:\n+ \"eth:0x4A07b8AE561CC558eDD3f1836365AB8e02C52dE2\"\n+++ description: Array of the signers in the validator multisig\n values.$members.4:\n+ \"eth:0xAD93BffBC65002cC75AD2d5770d3AAfFdefd8D55\"\n+++ description: Array of the signers in the validator multisig\n values.$members.5:\n+ \"eth:0xE9fc29AE64c2923FeBb615cB016b77aF9492EBcE\"\n+++ description: Array of the signers in the validator multisig\n values.$members.6:\n+ \"eth:0x156c0DAAb0cD73c224a424a781866d35f0F8Fade\"\n }\n```\n\n```diff\n contract HomeAMB Validators (gno:0xA280feD8D7CaD9a76C8b50cA5c33c2534fFa5008) [gnosis/BridgeValidators] {\n +++ description: Validator set contract used by the bridge to require threshold signatures before cross-chain messages can be executed.\n+++ description: Array of the signers in the validator multisig\n values.$members.0:\n- \"gno:0x459A3bd49F1ff109bc90b76125533699AaAAf9A6\"\n+++ description: Array of the signers in the validator multisig\n values.$members.1:\n- \"gno:0x105CD22eD3D089Bf5589C59b452f9dE0796Ca52d\"\n+++ description: Array of the signers in the validator multisig\n values.$members.3:\n- \"gno:0xbDc141c8D2343f33F40Cb9edD601CcF460CD0dDe\"\n+++ description: Array of the signers in the validator multisig\n values.$members.4:\n- \"gno:0x7117F73aFBDec3221bDD50DdCbf73204b3998302\"\n+++ description: Array of the signers in the validator multisig\n values.$members.3:\n+ \"gno:0x4A07b8AE561CC558eDD3f1836365AB8e02C52dE2\"\n+++ description: Array of the signers in the validator multisig\n values.$members.4:\n+ \"gno:0xAD93BffBC65002cC75AD2d5770d3AAfFdefd8D55\"\n+++ description: Array of the signers in the validator multisig\n values.$members.5:\n+ \"gno:0xE9fc29AE64c2923FeBb615cB016b77aF9492EBcE\"\n+++ description: Array of the signers in the validator multisig\n values.$members.6:\n+ \"gno:0x156c0DAAb0cD73c224a424a781866d35f0F8Fade\"\n }\n```"
}
]
},
{
"id": "498aa79e",
"date": "Thu, 25 Jun 2026 12:51:18 GMT",
"timestamp": 1782391789,
"description": "Swap one validator signer.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract XDai Bridge Validators (eth:0xe1579dEbdD2DF16Ebdb9db8694391fa74EeA201E) [gnosis/BridgeValidators] {\n +++ description: Validator set contract used by the bridge to require threshold signatures before cross-chain messages can be executed.\n+++ description: Array of the signers in the validator multisig\n values.$members.4:\n- \"eth:0x6236925FF8Aa09f29f1609a9BcD54Af20e4be6B4\"\n+++ description: Array of the signers in the validator multisig\n values.$members.6:\n+ \"eth:0xb54B5572F3C4f70fF3cc8F67C19C8cddb838FBaA\"\n }\n```\n\n```diff\n contract AMB Validators (eth:0xed84a648b3c51432ad0fD1C2cD2C45677E9d4064) [gnosis/BridgeValidators] {\n +++ description: Validator set contract used by the bridge to require threshold signatures before cross-chain messages can be executed.\n+++ description: Array of the signers in the validator multisig\n values.$members.4:\n- \"eth:0x6236925FF8Aa09f29f1609a9BcD54Af20e4be6B4\"\n+++ description: Array of the signers in the validator multisig\n values.$members.6:\n+ \"eth:0xb54B5572F3C4f70fF3cc8F67C19C8cddb838FBaA\"\n }\n```\n\n```diff\n contract HomeAMB Validators (gno:0xA280feD8D7CaD9a76C8b50cA5c33c2534fFa5008) [gnosis/BridgeValidators] {\n +++ description: Validator set contract used by the bridge to require threshold signatures before cross-chain messages can be executed.\n+++ description: Array of the signers in the validator multisig\n values.$members.4:\n- \"gno:0x6236925FF8Aa09f29f1609a9BcD54Af20e4be6B4\"\n+++ description: Array of the signers in the validator multisig\n values.$members.6:\n+ \"gno:0xb54B5572F3C4f70fF3cc8F67C19C8cddb838FBaA\"\n }\n```"
}
]
},
{
"id": "9e64f9c9",
"date": "Wed, 06 May 2026 08:58:11 GMT",
"timestamp": 1778057820,
"description": "re-add entire gnosis disco incl bridge, consensus and Hashi.",
"isHighSeverity": false,
"changeCount": 24,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract Gnosis Bridge Multisig (Ethereum) (eth:0x42F38ec5A75acCEc50054671233dfAC9C0E7A3F6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract XDaiForeignBridge (eth:0x4aa42145Aa6Ebf72e164C9bBC74fbD3788045016)\n +++ description: Ethereum-side ERC20-to-native bridge used to lock DAI or USDS on Ethereum and authorize xDAI minting on Gnosis. Message execution is validated by a dedicated validator set and can additionally be gated by Hashi.\n```\n\n```diff\n+ Status: CREATED\n contract Hashi Multisig (Ethereum) (eth:0x4b5F5231e2F08Ad49d79Ce5672A8339a63Cfbd43)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ForeignAMB (eth:0x4C36d2919e407f0Cc2Ee3c993ccF8ac26d9CE64e)\n +++ description: Ethereum-side Arbitrary Message Bridge endpoint that verifies validator signatures before relaying cross-chain calls to Gnosis. Hashi can be enabled as an additional verification layer.\n```\n\n```diff\n+ Status: CREATED\n contract ForeignOmnibridge TokenFactory (eth:0x71d5ba4e37de72415F685490B684538Aae8f0424)\n +++ description: Factory used by Omnibridge to deploy wrapped tokens representing assets native to the other chain.\n```\n\n```diff\n+ Status: CREATED\n EOA (eth:0x839395e20bbB182fa440d08F850E6c7A8f6F0780)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ForeignOmnibridge (eth:0x88ad09518695c6c3712AC10a214bE5109a655671)\n +++ description: Ethereum-side Omnibridge mediator used for arbitrary token transfers between Ethereum and Gnosis via the AMB bridge.\n```\n\n```diff\n+ Status: CREATED\n contract BridgeRouter (eth:0x9a873656c19Efecbfb4f9FAb5B7acdeAb466a0B0)\n +++ description: Entry router for bridging between Ethereum and Gnosis. It routes DAI and USDS through the legacy xDAI bridge, ETH through the WETH Omnibridge router, and other ERC20 tokens through Omnibridge.\n```\n\n```diff\n+ Status: CREATED\n contract WETHOmnibridgeRouter (eth:0xa6439Ca0FCbA1d0F80df0bE6A17220feD9c9038a)\n +++ description: Router that wraps native ETH into WETH before sending it through Omnibridge and unwraps it again on Gnosis when bridge messages are executed.\n```\n\n```diff\n+ Status: CREATED\n contract BridgeRouter ProxyAdmin (eth:0xD7e65A32bEd4ce8cc57Ec188F2bBb8016dc4b1cd)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract XDai Bridge Validators (eth:0xe1579dEbdD2DF16Ebdb9db8694391fa74EeA201E)\n +++ description: Validator set contract used by the bridge to require threshold signatures before cross-chain messages can be executed.\n```\n\n```diff\n+ Status: CREATED\n contract AMB Validators (eth:0xed84a648b3c51432ad0fD1C2cD2C45677E9d4064)\n +++ description: Validator set contract used by the bridge to require threshold signatures before cross-chain messages can be executed.\n```\n\n```diff\n+ Status: CREATED\n contract SBCDepositContract (gno:0x0B98057eA310F4d31F2a452B414647007d1645d9)\n +++ description: Gnosis Beacon Chain deposit contract escrowing all validator-staked GNO. Differs from the similar contract on Ethereum by being upgradable, allowing critical permissioned function access and using the non-gastoken GNO as its staking token.\n```\n\n```diff\n+ Status: CREATED\n contract HomeOmnibridge Fee Manager (gno:0x5dbC897aEf6B18394D845A922BF107FA98E3AC55)\n +++ description: Fee manager used by HomeOmnibridge to calculate and distribute bridge fees to a configured reward address list.\n```\n\n```diff\n+ Status: CREATED\n contract HomeOmnibridge Gas Limit Manager (gno:0x68A3674028a785A8BCE19bA81B9ab7c9942BA3ED)\n +++ description: Module used by HomeOmnibridge to choose default, selector-specific, and token-specific gas limits for cross-chain Omnibridge message execution.\n```\n\n```diff\n+ Status: CREATED\n contract HomeAMB (gno:0x75Df5AF045d91108662D8080fD1FEFAd6aA0bb59)\n +++ description: Gnosis-side Arbitrary Message Bridge endpoint that verifies validator signatures before relaying cross-chain calls to Ethereum. Hashi can be enabled as an additional verification layer.\n```\n\n```diff\n+ Status: CREATED\n contract Omnibridge Fee Distributor Safe (gno:0x77bcb57ba7037e39063f1567ce734452bbD7a5F0)\n +++ description: Safe that currently receives Omnibridge fees distributed by the HomeOmnibridge fee manager.\n```\n\n```diff\n+ Status: CREATED\n contract Gnosis Multisig (Gnosis) (gno:0x7a48Dac683DA91e4faa5aB13D91AB5fd170875bd)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GNO token (gno:0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb)\n +++ description: Immutable GNO token smart contract contract, administered from the Ethereum side by the Gnosis Bridge contract.\n```\n\n```diff\n+ Status: CREATED\n contract HomeAMB Validators (gno:0xA280feD8D7CaD9a76C8b50cA5c33c2534fFa5008)\n +++ description: Validator set contract used by the bridge to require threshold signatures before cross-chain messages can be executed.\n```\n\n```diff\n+ Status: CREATED\n contract HomeOmnibridge Forwarding Rules Manager (gno:0xd4D8c07097F9b87EcC4C1a838C4b71DBebcd2286)\n +++ description: Module used by HomeOmnibridge to decide whether specific tokens, senders, or receivers must use the oracle-driven lane or the manual lane for bridge requests.\n```\n\n```diff\n+ Status: CREATED\n contract HomeOmnibridge TokenFactory (gno:0xEAAE83ac10f975a6456f4C4E48c45Ea2d8e1b5d2)\n +++ description: Factory used by Omnibridge to deploy wrapped tokens representing assets native to the other chain.\n```\n\n```diff\n+ Status: CREATED\n contract Hashi Multisig (Gnosis) (gno:0xEF138856d0581641A57245Ee5CFfc9ceaA059623)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract HomeOmnibridge (gno:0xf6A78083ca3e2a662D6dd1703c939c8aCE2e268d)\n +++ description: Gnosis-side Omnibridge mediator used for arbitrary token transfers between Gnosis and Ethereum via the AMB bridge.\n```"
}
]
}
]
[
{
"id": "d9ca4945",
"date": "Tue, 15 Sep 2026 12:10:43 GMT",
"timestamp": 1789473742,
"description": "The Curated Module v1 -> v2 validator consolidation started: 22 source/target operator pairs were allowed through EasyTrack, each naming the node operator address permitted to submit that pair's consolidation batches to the ConsolidationBus. Config change: submitters are no longer followed into discovery.",
"isHighSeverity": false,
"changeCount": 22,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ConsolidationMigrator (eth:0x9Dc70b5A4f4F5E4AF9058C983D560564F031f1D7) [lido/ConsolidationMigrator] {\n +++ description: Coordinates the one-time migration of eligible Curated Module v1 validators into Curated Module v2 through the delayed ConsolidationBus pipeline.\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.0:\n+ {\"sourceOperatorId\":4,\"targetOperatorId\":19,\"submitter\":\"eth:0x987Cc5111389a1f58BC7f678C95f485631205Ec3\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.1:\n+ {\"sourceOperatorId\":29,\"targetOperatorId\":0,\"submitter\":\"eth:0xcd51df5142156BD92E7A9494Dd2b9362f5078D64\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.2:\n+ {\"sourceOperatorId\":20,\"targetOperatorId\":29,\"submitter\":\"eth:0xEd95f777FDF439f2bea0B26ed4e37b95a851d131\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.3:\n+ {\"sourceOperatorId\":18,\"targetOperatorId\":12,\"submitter\":\"eth:0x6d1d325bE40726Ef8c88F009b62d2135d9b38b11\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.4:\n+ {\"sourceOperatorId\":22,\"targetOperatorId\":22,\"submitter\":\"eth:0x765c6a8f20c842E8C826B0D9425015784F982aFc\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.5:\n+ {\"sourceOperatorId\":14,\"targetOperatorId\":18,\"submitter\":\"eth:0xd9faE181C6BD5b4CD361b0F08926226a3af274Db\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.6:\n+ {\"sourceOperatorId\":38,\"targetOperatorId\":34,\"submitter\":\"eth:0xcA6817DAb36850D58375A10c78703CE49d41D25a\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.7:\n+ {\"sourceOperatorId\":24,\"targetOperatorId\":9,\"submitter\":\"eth:0x8845D7F2Bbfe82249c3B95e378A6eD039Dd953F5\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.8:\n+ {\"sourceOperatorId\":16,\"targetOperatorId\":2,\"submitter\":\"eth:0x1EC3Cbe8fb1D8019092500CcA2111C158a35bC82\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.9:\n+ {\"sourceOperatorId\":34,\"targetOperatorId\":10,\"submitter\":\"eth:0x944849824A88ffeA23eF7e53b8A6793D88CE7581\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.10:\n+ {\"sourceOperatorId\":34,\"targetOperatorId\":11,\"submitter\":\"eth:0x944849824A88ffeA23eF7e53b8A6793D88CE7581\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.11:\n+ {\"sourceOperatorId\":13,\"targetOperatorId\":16,\"submitter\":\"eth:0xa9995734C3e182aC5FfeFC2a399fb92F971BB1A6\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.12:\n+ {\"sourceOperatorId\":25,\"targetOperatorId\":8,\"submitter\":\"eth:0xC6AACba3a2dF56169aaA93c2947BF7Cea346fDA5\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.13:\n+ {\"sourceOperatorId\":6,\"targetOperatorId\":31,\"submitter\":\"eth:0x904A289145b1FE0B672682db895bAde2EB186126\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.14:\n+ {\"sourceOperatorId\":6,\"targetOperatorId\":32,\"submitter\":\"eth:0x904A289145b1FE0B672682db895bAde2EB186126\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.15:\n+ {\"sourceOperatorId\":23,\"targetOperatorId\":42,\"submitter\":\"eth:0x98B2D0988c4f69303be834C9d0b5DdacD8257880\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.16:\n+ {\"sourceOperatorId\":26,\"targetOperatorId\":36,\"submitter\":\"eth:0x29d5a9917A82Dbb77e3362128C425d3a63eE8E6F\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.17:\n+ {\"sourceOperatorId\":15,\"targetOperatorId\":17,\"submitter\":\"eth:0x5A934D6822a372CFe221C8D2bB02B6DfCd683578\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.18:\n+ {\"sourceOperatorId\":21,\"targetOperatorId\":6,\"submitter\":\"eth:0xF45C77EadD434612fCD93db978B3E36B0D58eC99\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.19:\n+ {\"sourceOperatorId\":30,\"targetOperatorId\":27,\"submitter\":\"eth:0x5a8B929EDBf3CE44526465DD2087EC7EFB59A561\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.20:\n+ {\"sourceOperatorId\":30,\"targetOperatorId\":28,\"submitter\":\"eth:0x5a8B929EDBf3CE44526465DD2087EC7EFB59A561\"}\n+++ description: Currently allowed source and target operator pairs and their dynamically assigned consolidation submitters.\n values.allowedPairs.21:\n+ {\"sourceOperatorId\":10,\"targetOperatorId\":44,\"submitter\":\"eth:0x1d8A932E727331a5e4EAB41b565aFDA9A100476B\"}\n }\n```"
}
]
},
{
"id": "d6e186c1",
"date": "Fri, 04 Sep 2026 15:07:58 GMT",
"timestamp": 1788534406,
"description": "Name Lido committee multisigs and the tiebreaker subcommittees after the Lido multisig registry; show the CircuitBreaker, Finance, DepositSecurityModule and TokenManager permission aggregators as actors in their own right; scope the Agent TRANSFER_ROLE description to ETH and ERC-20",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Liquid staked Ether 2.0 Token (eth:0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84) [lido/stETH] {\n +++ description: The rebasing stETH token and Lido protocol accounting entrypoint. It accepts stake, accounts for consensus- and execution-layer balances, mints and burns shares, and applies oracle reports. Version 3 adds external stake-backed shares and balance-based validator accounting.\n values.getFeeDistribution.treasuryFeeBasisPoints:\n- 3793\n+ 3783\n values.getFeeDistribution.operatorsFeeBasisPoints:\n- 6206\n+ 6216\n }\n```"
}
]
},
{
"id": "1bc5ae6a",
"date": "Tue, 25 Aug 2026 08:54:24 GMT",
"timestamp": 1787647851,
"description": "Fee adjustment.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Liquid staked Ether 2.0 Token (eth:0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84) [lido/stETH] {\n +++ description: The rebasing stETH token and Lido protocol accounting entrypoint. It accepts stake, accounts for consensus- and execution-layer balances, mints and burns shares, and applies oracle reports. Version 3 adds external stake-backed shares and balance-based validator accounting.\n values.getFeeDistribution.treasuryFeeBasisPoints:\n- 3783\n+ 3793\n values.getFeeDistribution.operatorsFeeBasisPoints:\n- 6216\n+ 6206\n }\n```\n\n```diff\n EOA (eth:0xddD80BC94975C10A2f613511F80bd860FcB76818) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n sourceHashes:\n+ [\"0x1f44812af62d28f019e30e8eb2af596fb36c7db9d34576972c0405e110a6ef45\"]\n values:\n+ {\"$implementation\":\"eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B\",\"delegationManager\":\"eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3\",\"DOMAIN_VERSION\":\"1\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"EIP7702StatelessDeleGator\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0xddD80BC94975C10A2f613511F80bd860FcB76818\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"entryPoint\":\"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032\",\"getDeposit\":0,\"getDomainHash\":\"0xadb55a1ae85f692b559ec1e9eb19d290078ad89f05860ae2056753b396978fa2\",\"getNonce\":0,\"NAME\":\"EIP7702StatelessDeleGator\",\"PACKED_USER_OP_TYPEHASH\":\"0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18\",\"VERSION\":\"1.3.0\"}\n }\n```"
}
]
},
{
"id": "c684b8a0",
"date": "Thu, 20 Aug 2026 12:02:26 GMT",
"timestamp": 1787227248,
"description": "Regenerated after fixing the `accessControl` discovery handler.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Liquid staked Ether 2.0 Token (eth:0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84) [lido/stETH] {\n +++ description: The rebasing stETH token and Lido protocol accounting entrypoint. It accepts stake, accounts for consensus- and execution-layer balances, mints and burns shares, and applies oracle reports. Version 3 adds external stake-backed shares and balance-based validator accounting.\n values.getFeeDistribution.treasuryFeeBasisPoints:\n- 3793\n+ 3783\n values.getFeeDistribution.operatorsFeeBasisPoints:\n- 6206\n+ 6216\n }\n```"
}
]
},
{
"id": "d45106c6",
"date": "Mon, 17 Aug 2026 10:06:36 GMT",
"timestamp": 1786960746,
"description": "Wiring for the Lido DAO buyback program's revenue accounting:\n\n- The `LidoLocator` implementation was upgraded only to swap the immutable `postTokenRebaseReceiver` to a redeployed `TokenRateNotifier`.\n- The new `TokenRateNotifier` has two targets: the pre-existing `OpStackTokenRatePusher` and the new `StakingRevenueSource`, which accrues the DAO treasury's fee share of each stETH rebase and converts it into a cumulative USD figure for the buyback program.\n- `StakingRevenueSource` values stETH via the new `OracleRouter`, which reads prices from Chainlink's canonical Feed Registry. The router's admin is the Aragon `Voting` app and its manager is the DAO's `TreasuryManagementCommittee` 4/7 multisig; both can configure feed routes, staleness limits, and activation flags.",
"isHighSeverity": true,
"changeCount": 19,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract TokenRateNotifier (eth:0x25e35855783bec3E49355a29e110f02Ed8b05ba9) [N/A]\n +++ description: None\n```\n\n```diff\n contract Voting (eth:0x2e59A20f205bB85a89C53f1936454680651E618e) [lido/Voting] {\n +++ description: Lido DAO's Aragon token voting application. LDO holders vote on executable DAO scripts, with configurable support, quorum, vote duration, and an objection phase.\n receivedPermissions.8:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x79ef3a538200Fe4981D67E7e886bfb36D4Cb5a31\",\"description\":\"appoint the manager and emergency operator of the OracleRouter and configure all token price feed routes, staleness limits and activation flags.\",\"role\":\".ADMIN\"}\n }\n```\n\n```diff\n contract Lido Dao Agent (eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c) [lido/LidoDaoAgent] {\n +++ description: The Lido DAO's Aragon execution and treasury agent. It can transfer assets, execute arbitrary calls or scripts, and validate signatures according to granular ACL permissions.\n directlyReceivedPermissions.26:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xbe05d12Fd10919F1881125006523452F6aFF791b\",\"description\":\"add or remove token-rate observers and transfer or renounce ownership.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n contract LidoLocator (eth:0xC1d0b3DE6792Bf6b4b37EccdcC24e45978Cfd2Eb) [lido/LidoLocator] {\n +++ description: Canonical registry of the active Lido core, oracle, staking, withdrawal, top-up, consolidation, and StakingVault subsystem contract addresses.\n values.$implementation:\n- \"eth:0x0360002bf51DCae1c0267aE0AFDaBacAF7De686b\"\n+ \"eth:0xF2Ffb952e129a63F0614Ff87126E1d4a494A2313\"\n values.$pastUpgrades.11:\n+ [\"2026-08-14T13:06:35.000Z\",\"0x5a7868439de1003dc5f3d7ecf99826410c17883794bcd38ff75dd0e0bcce57c4\",[\"eth:0xF2Ffb952e129a63F0614Ff87126E1d4a494A2313\"]]\n values.$upgradeCount:\n- 11\n+ 12\n values.oracleReportComponents.4:\n- \"eth:0x25e35855783bec3E49355a29e110f02Ed8b05ba9\"\n+ \"eth:0xbe05d12Fd10919F1881125006523452F6aFF791b\"\n values.postTokenRebaseReceiver:\n- \"eth:0x25e35855783bec3E49355a29e110f02Ed8b05ba9\"\n+ \"eth:0xbe05d12Fd10919F1881125006523452F6aFF791b\"\n values.proxy__getImplementation:\n- \"eth:0x0360002bf51DCae1c0267aE0AFDaBacAF7De686b\"\n+ \"eth:0xF2Ffb952e129a63F0614Ff87126E1d4a494A2313\"\n implementationNames.eth:0x0360002bf51DCae1c0267aE0AFDaBacAF7De686b:\n- \"LidoLocator\"\n implementationNames.eth:0xF2Ffb952e129a63F0614Ff87126E1d4a494A2313:\n+ \"LidoLocator\"\n }\n```\n\n```diff\n contract EmergencyProtectedTimelock (eth:0xCE0425301C85c5Ea2A0873A2dEe44d78E02D2316) [lido/EmergencyProtectedTimelock] {\n +++ description: Timelock used by Dual Governance. Governance submits and schedules batches, anyone may execute a ready batch, and time-bounded emergency committees can activate emergency mode and execute already submitted proposals without the ordinary schedule delay.\n receivedPermissions.28:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xbe05d12Fd10919F1881125006523452F6aFF791b\",\"description\":\"add or remove token-rate observers and transfer or renounce ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\"},{\"address\":\"eth:0x23E0B465633FF5178808F4A75186E2F2F9537021\"}]}\n }\n```\n\n```diff\n+ Status: CREATED\n reference FeedRegistry (eth:0x47Fb2585D2C56Fe188D0E6ec628a38b74fCeeeDf)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract StakingRevenueSource (eth:0x6220212a33a87Ed7Cc386B67eB2c393974F28C38) [lido/StakingRevenueSource]\n +++ description: Tracks Lido DAO staking revenue for the buyback program: as a TokenRateNotifier observer it accrues the treasury fee share of each stETH rebase and converts it into a monotonic cumulative USD figure at the OracleRouter spot price.\n```\n\n```diff\n+ Status: CREATED\n contract OracleRouter (eth:0x79ef3a538200Fe4981D67E7e886bfb36D4Cb5a31) [lido/OracleRouter]\n +++ description: Price router that reads token prices from the Chainlink Feed Registry, either directly in USD or via an ETH/USD bridge feed for ETH-quoted tokens, and reports them normalized to 18 decimals.\n```\n\n```diff\n+ Status: CREATED\n reference Chainlink_ETH_USD_Aggregator (eth:0x7d4E742018fb52E48b08BE73d041C18B21de6Fb5)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract TreasuryManagementCommittee (eth:0xa02FC823cCE0D016bD7e17ac684c9abAb2d6D647) [GnosisSafe]\n +++ description: Multisig of the Lido DAO Treasury Management Committee.\n```\n\n```diff\n+ Status: CREATED\n contract TokenRateNotifier (eth:0xbe05d12Fd10919F1881125006523452F6aFF791b) [lido/TokenRateNotifier]\n +++ description: Notifies registered observer contracts after each stETH rebase (oracle report). Observers either just push the current token rate or additionally receive the full rebase report payload.\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract OpStackTokenRatePusher (eth:0xd54c1c6413caac3477AC14b2a80D5398E3c32FfE) [lido/OpStackTokenRatePusher]\n +++ description: Pushes the current wstETH token rate to the token rate oracle on Optimism via the canonical OP Stack messenger whenever a rebase is reported.\n```"
}
]
},
{
"id": "ad668e4d",
"date": "Wed, 29 Jul 2026 11:42:27 GMT",
"timestamp": 1785325193,
"description": "The Community Staking Module's stake share limit increased from 8.5% to 9%, and its priority-exit threshold increased from 10.2% to 10.8%. The module can receive a larger share of Lido stake before reaching its allocation cap, while its exits become prioritized at the higher threshold.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract StakingRouter (eth:0xFdDf38947aFB03C621C71b06C9C70bce73f12999) [lido/StakingRouter] {\n +++ description: Coordinates Lido staking modules, allocates deposits and top-ups, tracks validator balances and exit states, and distributes staking rewards. Version 3 uses validator balances instead of validator counts and supports EIP-7251 compounding validators.\n values.getStakingModuleStateConfig.2.4:\n- 1020\n+ 1080\n values.getStakingModuleStateConfig.2.3:\n- 850\n+ 900\n }\n```"
}
]
},
{
"id": "76a58862",
"date": "Mon, 27 Jul 2026 15:11:46 GMT",
"timestamp": 1785159796,
"description": "Lido v3.0.2 activates Staking Router v3 together with Community Staking\nModule v3 and Curated Module v2. The upgrade adds EIP-7251 support for\nvalidator consolidations and balance top-ups, changes protocol accounting and\nexit limits to use validator balance weights, and extends oracle sanity checks\nfor the new balance flows.\n\nThe release also deploys the stVault system built around VaultHub,\nOperatorGrid, VaultFactory, Dashboard, CoreAccounting, and LazyOracle. It adds\nsupporting contracts for predeposit proofs, EIP-7002 triggerable withdrawals,\nexit penalties, consolidation migration, and the associated governance and\npermission wiring.",
"isHighSeverity": false,
"changeCount": 108,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract DepositContract (eth:0x00000000219ab540356cBB839Cbe05303d7705Fa) [global/DepositContract]\n +++ description: Ethereum Beacon Chain deposit contract.\n```\n\n```diff\n+ Status: CREATED\n contract ExitPenalties (eth:0x004aFb7DAA7dEA20EbAaB75c9F4892C879FaCCe0) [lido/ExitPenalties]\n +++ description: Records delayed-exit, triggerable-withdrawal, and poor-performance penalties for a permissionless staking module.\n```\n\n```diff\n+ Status: CREATED\n contract VaultFactory (eth:0x02Ca7772FF14a9F6c1a08aF385aA96bb1b34175A) [lido/VaultFactory]\n +++ description: Permissionless factory for StakingVaults and their Dashboard management contracts. It deploys beacon proxies, initializes their code-defined authorities, and optionally connects the vault to VaultHub.\n```\n\n```diff\n+ Status: CREATED\n contract StakingVault (eth:0x06A56487494aa080deC7Bf69128EdA9225784553) [lido/StakingVault]\n +++ description: An isolated staking position that holds ETH for validators with 0x02 withdrawal credentials. The owner controls funds and validator operations, the depositor performs Beacon Chain deposits, and the node operator can force validator exits. Vaults normally use a beacon implementation but can irreversibly pin their current implementation.\n```\n\n```diff\n+ Status: CREATED\n contract ExitPenalties (eth:0x06cd61045f958A209a0f8D746e103eCc625f4193) [lido/ExitPenalties]\n +++ description: Records delayed-exit, triggerable-withdrawal, and poor-performance penalties for a permissionless staking module.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorsExitBusOracle (eth:0x0De4Ea0184c2ad0BacA7183356Aea5B8d5Bf5c6e) [lido/ValidatorsExitBusOracle]\n +++ description: Receives committee-consensus lists of validators that staking modules must exit and emits the exit requests. SRv3 accounts for the validators' effective-balance weights and key indices when applying per-report and replenishing exit limits.\n```\n\n```diff\n+ Status: CREATED\n contract OracleReportSanityChecker (eth:0x147f8d3cf3004FAf9Bf94E88B54b6C06De507be9) [lido/OracleReportSanityChecker]\n +++ description: Validates AccountingOracle report values against configurable safety limits. The version 3 checker covers validator balance flows, consolidations, external pending balances, triggerable exits, and EIP-7251 balance weights.\n```\n\n```diff\n+ Status: CREATED\n contract Escrow (eth:0x165813A31446a98c84E20Dda8C101BB3C8228e1c) [lido/Escrow]\n +++ description: Dual Governance escrow in which holders lock stETH, wstETH or unstETH to build veto support. It can be irreversibly converted into a Rage Quit escrow that withdraws the locked position as ETH.\n```\n\n```diff\n+ Status: CREATED\n contract ConsolidationGateway (eth:0x17be979344f2c2cC806229a532D92f8742C10462) [lido/ConsolidationGateway]\n +++ description: Validates validator ownership proofs and submits EIP-7251 consolidation requests through the protocol consolidation-request predeploy. It rate-limits the amount consolidated and preserves its ETH balance across requests.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x18A1065c81b0Cc356F1b1C843ddd5E14e4AefffF) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract VaultHub (eth:0x1d201BE093d847f6446530Efb0E8Fb426d176709) [lido/VaultHub]\n +++ description: The central registry and lifecycle manager for stVaults connected to Lido. It enforces collateral and risk parameters, tracks vault reports and liabilities, mints and burns stETH shares, settles fees, rebalances unhealthy vaults, and manages bad debt.\n```\n\n```diff\n+ Status: CREATED\n contract CuratedGate (eth:0x207798e6fD1aa7Ee8a63782A64c959cD6727b78C) [lido/CuratedGate]\n +++ description: Merkle-gated onboarding contract for a curated Community Staking Module cohort. An eligible address consumes its proof to create a node operator with this gate's configured bond curve and metadata group.\n```\n\n```diff\n+ Status: CREATED\n contract Executor (eth:0x23E0B465633FF5178808F4A75186E2F2F9537021) [lido/Executor]\n +++ description: External-call executor used by the Dual Governance timelock. Its owner can make it call any target with arbitrary calldata and ETH.\n```\n\n```diff\n+ Status: CREATED\n contract Core Accounting (eth:0x23ED611be0e1a820978875C0122F92260804cdDf) [lido/CoreAccounting]\n +++ description: Calculates and applies a complete Lido oracle report: it reconciles validator balances, smooths the rebase, collects vault balances, finalizes withdrawals, burns shares, distributes module rewards, and updates stETH accounting.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x2570e0b22AD904501dfB0d49575991ACB801dD91) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract TokenRateNotifier (eth:0x25e35855783bec3E49355a29e110f02Ed8b05ba9) [lido/TokenRateNotifier]\n +++ description: Pushes the current stETH token rate to registered observer contracts after rebases.\n```\n\n```diff\n+ Status: CREATED\n contract VaultsAdapter (eth:0x28F9Ac198C4E0FA6A9Ad2c2f97CB38F1A3120f27) [lido/VaultsAdapter]\n +++ description: EasyTrack adapter for stVault administration. The EVMScriptExecutor may change vault fees and jail status, liability targets, socialize bad debt, and force validator exits; a separate trusted caller controls the maximum exit fee and ETH recovery.\n```\n\n```diff\n+ Status: CREATED\n contract Dashboard (eth:0x294825c2764c7D412dc32d87E2242c4f1D989AF3) [lido/Dashboard]\n +++ description: The standard role-based management interface for a StakingVault. It owns the underlying vault, routes funding, withdrawals, stETH minting and burning through VaultHub, controls validator operations, and accounts for the node operator fee.\n```\n\n```diff\n+ Status: CREATED\n contract Voting (eth:0x2e59A20f205bB85a89C53f1936454680651E618e) [lido/Voting]\n +++ description: Lido DAO's Aragon token voting application. LDO holders vote on executable DAO scripts, with configurable support, quorum, vote duration, and an objection phase.\n```\n\n```diff\n+ Status: CREATED\n contract Accounting (eth:0x2F91e3A8C5d6593bf4F8403fCfeCcd62dF59f6F6) [lido/Accounting]\n +++ description: Manages node-operator bonds for a permissionless staking module. It accepts ETH, stETH and wstETH bonds, applies bond curves, locks or penalizes bond, and lets eligible node-operator addresses claim rewards after the module's fee distribution.\n```\n\n```diff\n+ Status: CREATED\n contract FeeDistributor (eth:0x367d23c756599c20DCc8D6943F4976E8F88D60d7) [lido/FeeDistributor]\n +++ description: Receives a staking module's stETH fee shares and distributes them to node operators according to a Merkle tree submitted by its FeeOracle. Claims are accounted in stETH shares.\n```\n\n```diff\n+ Status: CREATED\n contract Execution Layer Rewards Vault (eth:0x388C818CA8B9251b393131C08a736A67ccB19297) [lido/LidoExecutionLayerRewardsVault]\n +++ description: Holds execution-layer validator rewards until stETH accounting collects them during an oracle report.\n```\n\n```diff\n+ Status: CREATED\n contract CuratedGate (eth:0x3BbBb175f7F07954DE00052b20E1c5572223F24D) [lido/CuratedGate]\n +++ description: Merkle-gated onboarding contract for a curated Community Staking Module cohort. An eligible address consumes its proof to create a node operator with this gate's configured bond curve and metadata group.\n```\n\n```diff\n+ Status: CREATED\n contract TiebreakerSubCommittee (eth:0x3D3ba54D54bbFF40F2Dfa2A8e27bD4dE3dab2951) [lido/TiebreakerSubCommittee]\n +++ description: A tiebreaker subcommittee whose members reach quorum on a proposal before forwarding it to the top-level tiebreaker committee.\n```\n\n```diff\n+ Status: CREATED\n contract Lido Dao Agent (eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c) [lido/LidoDaoAgent]\n +++ description: The Lido DAO's Aragon execution and treasury agent. It can transfer assets, execute arbitrary calls or scripts, and validate signatures according to granular ACL permissions.\n```\n\n```diff\n+ Status: CREATED\n contract StakingVault (eth:0x3eda1e756Ba9aC0217Ac8fc5db4C5E9a8486d9c4) [lido/StakingVault]\n +++ description: An isolated staking position that holds ETH for validators with 0x02 withdrawal credentials. The owner controls funds and validator operations, the depositor performs Beacon Chain deposits, and the node operator can force validator exits. Vaults normally use a beacon implementation but can irreversibly pin their current implementation.\n```\n\n```diff\n+ Status: CREATED\n contract TopUpGateway (eth:0x3FC2C71579D80790Aaa3fc7Be8B66ac39dC57374) [lido/TopUpGateway]\n +++ description: Validates consensus-layer proofs and submits EIP-7251 validator top-ups for staking modules. It limits top-up batch size, proof age, and call frequency.\n```\n\n```diff\n+ Status: CREATED\n contract FeeOracle (eth:0x4D4074628678Bd302921c20573EEa1ed38DdF7FB) [lido/FeeOracle]\n +++ description: Receives committee-consensus reports containing a staking module's reward-distribution Merkle root and forwards them to FeeDistributor and ValidatorStrikes.\n```\n\n```diff\n+ Status: CREATED\n contract Accounting (eth:0x4d72BFF1BeaC69925F8Bd12526a39BAAb069e5Da) [lido/Accounting]\n +++ description: Manages node-operator bonds for a permissionless staking module. It accepts ETH, stETH and wstETH bonds, applies bond curves, locks or penalizes bond, and lets eligible node-operator addresses claim rewards after the module's fee distribution.\n```\n\n```diff\n+ Status: CREATED\n contract NodeOperatorsRegistry (eth:0x55032650b14df07b85bF18A3a3eC8E0Af2e028d5) [lido/NodeOperatorsRegistry]\n +++ description: Legacy permissioned staking module for curated node operators. It stores validator keys, receives deposits from the StakingRouter, tracks exited and stuck validators, and distributes module rewards.\n```\n\n```diff\n+ Status: CREATED\n contract TimelockedGovernance (eth:0x553337946F2FAb8911774b20025fa776B76a7CcE) [lido/TimelockedGovernance]\n +++ description: Emergency governance adapter. Its configured governance may submit and cancel proposals in the EmergencyProtectedTimelock; scheduling is permissionless once the submission delay has elapsed.\n```\n\n```diff\n+ Status: CREATED\n contract Lido DAO Token (eth:0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32) [lido/MiniMeToken]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract CallsScript (eth:0x5cEb19e1890f677c3676d5ecDF7c501eBA01A054) [lido/CallsScript]\n +++ description: Petrified Aragon CallsScript executor library used by the Lido DAO and EasyTrack to decode and perform a batch of external calls.\n```\n\n```diff\n+ Status: CREATED\n contract LazyOracle (eth:0x5DB427080200c235F2Ae8Cd17A7be87921f7AD6c) [lido/LazyOracle]\n +++ description: Verifies cryptographic oracle reports for individual stVaults and forwards accepted total-value, fee, and liability updates to VaultHub. Reports outside configured rate, reward, or quarantine bounds are rejected or quarantined.\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeableBeacon (eth:0x5FbE8cEf9CCc56ad245736D3C5bAf82ad54Ca789) [global/UpgradeableBeacon]\n +++ description: A beacon with an upgradeable implementation currently set as eth:0x06A56487494aa080deC7Bf69128EdA9225784553. Beacon proxy contracts pointing to this beacon will all use its implementation.\n```\n\n```diff\n+ Status: CREATED\n contract CircuitBreaker (eth:0x6019CB557978296BA3C08a7B73225C0975DFB2F7) [lido/CircuitBreaker]\n +++ description: Emergency pause coordinator. The admin assigns one heartbeat-gated pauser to each registered protocol contract; a live pauser can trigger one time-bounded pause before its assignment is consumed.\n```\n\n```diff\n+ Status: CREATED\n contract CuratedGate (eth:0x6093EFA6B5E2FF3be54d1c895c9deA932805c49F) [lido/CuratedGate]\n +++ description: Merkle-gated onboarding contract for a curated Community Staking Module cohort. An eligible address consumes its proof to create a node operator with this gate's configured bond curve and metadata group.\n```\n\n```diff\n+ Status: CREATED\n contract Ejector (eth:0x610B517D380f287c239C93F8eF6FfBd567AA4bA5) [lido/Ejector]\n +++ description: Submits triggerable full-withdrawal requests for validators. Node operators may voluntarily eject their own validators, while ValidatorStrikes can eject validators for poor performance.\n```\n\n```diff\n+ Status: CREATED\n contract StakingVault (eth:0x62e0D92cf7B8752b5292B9BCbbacE4cFa1633428) [lido/StakingVault]\n +++ description: An isolated staking position that holds ETH for validators with 0x02 withdrawal credentials. The owner controls funds and validator operations, the depositor performs Beacon Chain deposits, and the node operator can force validator exits. Vaults normally use a beacon implementation but can irreversibly pin their current implementation.\n```\n\n```diff\n+ Status: CREATED\n contract HashConsensus (eth:0x71093efF8D8599b5fA340D665Ad60fA7C80688e4) [lido/HashConsensus]\n +++ description: Collects report hashes from an enumerable oracle committee and forwards a report to its processor once quorum agrees. It defines report frames, quorum, fast-lane members, and the report processor.\n```\n\n```diff\n+ Status: CREATED\n contract Lido Multisig 1 (eth:0x73b047fe6337183A454c5217241D780a932777bD) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract CuratedGate (eth:0x773933F9db8964A17d62fb808f2EC7A2de4247CC) [lido/CuratedGate]\n +++ description: Merkle-gated onboarding contract for a curated Community Staking Module cohort. An eligible address consumes its proof to create a node operator with this gate's configured bond curve and metadata group.\n```\n\n```diff\n+ Status: CREATED\n contract ResealManager (eth:0x7914b5a1539b97Bd0bbd155757F25FD79A522d24) [lido/ResealManager]\n +++ description: Adapter that lets the governance configured in the EmergencyProtectedTimelock indefinitely extend an existing pause or resume a supported sealable contract.\n```\n\n```diff\n+ Status: CREATED\n contract Wrapped liquid staked Ether 2.0 Token (eth:0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0) [lido/wstETH]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract HashConsensus (eth:0x7FaDB6358950c5fAA66Cb5EB8eE5147De3df355a) [lido/HashConsensus]\n +++ description: Collects report hashes from an enumerable oracle committee and forwards a report to its processor once quorum agrees. It defines report frames, quorum, fast-lane members, and the report processor.\n```\n\n```diff\n+ Status: CREATED\n contract AccountingOracle (eth:0x852deD011285fe67063a08005c71a85690503Cee) [lido/AccountingOracle]\n +++ description: Receives committee-consensus reports of Lido's Beacon Chain balances, validator state, withdrawals, and staking-module accounting data, then drives the stETH accounting rebase and related protocol updates.\n```\n\n```diff\n+ Status: CREATED\n contract EVMScriptRegistry (eth:0x853cc0D5917f49B57B8e9F89e491F5E18919093A) [lido/EVMScriptRegistry]\n +++ description: Aragon registry of EVM script executors used by Lido DAO applications.\n```\n\n```diff\n+ Status: CREATED\n contract CuratedGate (eth:0x86A8d4E0db5938D21d98047544668FCCB1A9ADc8) [lido/CuratedGate]\n +++ description: Merkle-gated onboarding contract for a curated Community Staking Module cohort. An eligible address consumes its proof to create a node operator with this gate's configured bond curve and metadata group.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (eth:0x8772E3a2D86B9347A2688f9bc1808A6d8917760C) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract WithdrawalQueueERC721 (eth:0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1) [lido/WithdrawalQueueERC721]\n +++ description: Queues stETH and wstETH withdrawal requests as transferable NFTs. Oracle reports can enter bunker mode and finalize batches by supplying ETH and a maximum share rate, after which NFT owners claim ETH.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x8B7854488Fde088d686Ea672B6ba1A5242515f45) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract CuratedGate (eth:0x8c002c6eE10cf8adb78D1F9EB2e134FdaF8A7C1a) [lido/CuratedGate]\n +++ description: Merkle-gated onboarding contract for a curated Community Staking Module cohort. An eligible address consumes its proof to create a node operator with this gate's configured bond curve and metadata group.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x8ed4dfd3A610CCF1FB45e797bf5D8e0f93084F22) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FeeOracle (eth:0x8EeFCdbD984c30E472BcbF545783D051CB5114e5) [lido/FeeOracle]\n +++ description: Receives committee-consensus reports containing a staking module's reward-distribution Merkle root and forwards them to FeeDistributor and ValidatorStrikes.\n```\n\n```diff\n+ Status: CREATED\n contract EIP712StETH (eth:0x8F73e4C2A6D852bb4ab2A45E6a9CF5715b3228B7) [lido/EIP712StETH]\n +++ description: Stateless helper that builds the stETH EIP-712 domain separator and typed-data hashes.\n```\n\n```diff\n+ Status: CREATED\n contract HashConsensus (eth:0x902D64c93F6595339aA46105627a085591051aFb) [lido/HashConsensus]\n +++ description: Collects report hashes from an enumerable oracle committee and forwards a report to its processor once quorum agrees. It defines report frames, quorum, fast-lane members, and the report processor.\n```\n\n```diff\n+ Status: CREATED\n contract MiniMeTokenFactory (eth:0x909d05F384D0663eD4BE59863815aB43b4f347Ec) [lido/MiniMeTokenFactory]\n +++ description: Immutable factory used by LDO's MiniMe token implementation to create snapshot-enabled token clones.\n```\n\n```diff\n+ Status: CREATED\n contract Lido DAO ACL (eth:0x9895F0F17cc1d1891b6f18ee0b483B6f221b37Bb) [lido/ACL]\n +++ description: The shared Aragon ACL that stores Lido DAO permission grants, optional permission parameters, and the manager allowed to grant or revoke each app role.\n```\n\n```diff\n+ Status: CREATED\n contract ParametersRegistry (eth:0x9D28ad303C90DF524BA960d7a2DAC56DcC31e428) [lido/ParametersRegistry]\n +++ description: Stores configurable Community Staking Module parameters, including bond curves, operator rewards, penalties, key limits, queue policy, performance thresholds, and validator-exit rules.\n```\n\n```diff\n+ Status: CREATED\n contract ConsolidationMigrator (eth:0x9Dc70b5A4f4F5E4AF9058C983D560564F031f1D7) [lido/ConsolidationMigrator]\n +++ description: Coordinates the one-time migration of eligible Curated Module v1 validators into Curated Module v2 through the delayed ConsolidationBus pipeline.\n```\n\n```diff\n+ Status: CREATED\n contract VettedGate (eth:0xa12760721A72A7199aB38059DA6690b9Cd4ed7B8) [lido/VettedGate]\n +++ description: Merkle-gated node-operator onboarding contract. Eligible addresses can create an operator using the configured bond curve, or an existing operator owner can consume a proof to claim that curve.\n```\n\n```diff\n+ Status: CREATED\n contract ImmutableDualGovernanceConfigProvider (eth:0xa1692Af6FDfdD1030E4E9c4Bc429986FA64CB5EF) [lido/ImmutableDualGovernanceConfigProvider]\n +++ description: Immutable Dual Governance timing and veto-threshold configuration. Replacing the provider in DualGovernance is the only way to change these parameters.\n```\n\n```diff\n+ Status: CREATED\n contract MetaRegistry (eth:0xA64b339eebD3dC3De848298B6a140955932901d8) [lido/MetaRegistry]\n +++ description: Stores metadata that groups permissionless staking-module node operators, describes their operators, and assigns bond-curve weights.\n```\n\n```diff\n+ Status: CREATED\n contract wstETH Referral Staker (eth:0xa88f0329C2c4ce51ba3fc619BBf44efE7120Dd0d) [lido/WstETHReferralStaker]\n +++ description: Permissionless convenience contract that stakes supplied ETH in Lido with a caller-selected referral, wraps the resulting stETH, and returns wstETH to the caller.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorStrikes (eth:0xaa328816027F2D32B9F56d190BC9Fa4A5C07637f) [lido/ValidatorStrikes]\n +++ description: Stores the oracle-provided Merkle root of validator performance strikes. Proven strike data can cause a poor-performing validator to be ejected and penalized.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorConsolidationRequests (eth:0xaC4Aae7123248684C405A4b0038C1560EC7fE018) [lido/ValidatorConsolidationRequests]\n +++ description: Read-only stVault helper that validates a Dashboard's ownership of a connected StakingVault and builds the EIP-7251 consolidation-request calldata and fee-exemption call for its source and target validators.\n```\n\n```diff\n+ Status: CREATED\n contract Liquid staked Ether 2.0 Token (eth:0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84) [lido/stETH]\n +++ description: The rebasing stETH token and Lido protocol accounting entrypoint. It accepts stake, accounts for consensus- and execution-layer balances, mints and burns shares, and applies oracle reports. Version 3 adds external stake-backed shares and balance-based validator accounting.\n```\n\n```diff\n+ Status: CREATED\n contract NodeOperatorsRegistry (eth:0xaE7B191A31f627b4eB1d4DaC64eaB9976995b433) [lido/NodeOperatorsRegistry]\n +++ description: Legacy permissioned staking module for curated node operators. It stores validator keys, receives deposits from the StakingRouter, tracks exited and stuck validators, and distributes module rewards.\n```\n\n```diff\n+ Status: CREATED\n contract VettedGate (eth:0xB314D4A76C457c93150d308787939063F4Cc67E0) [lido/VettedGate]\n +++ description: Merkle-gated node-operator onboarding contract. Eligible addresses can create an operator using the configured bond curve, or an existing operator owner can consume a proof to claim that curve.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionlessGate (eth:0xb8cd8F059Ad7a5dB8CAfDe34aAb007317F7156C8) [lido/PermissionlessGate]\n +++ description: Permissionless Community Staking Module onboarding contract. Any address can create a node operator using its fixed bond curve by depositing ETH, stETH or wstETH.\n```\n\n```diff\n+ Status: CREATED\n contract Lido DAO Kernel (eth:0xb8FFC3Cd6e7Cf5a098A1c92F48009765B24088Dc) [lido/Kernel]\n +++ description: The Lido DAO's Aragon Kernel. It registers DAO applications and their implementation bases and points them to the shared ACL.\n```\n\n```diff\n+ Status: CREATED\n contract WithdrawalVault (eth:0xB9D7934878B5FB9610B3fE8A5e441e8fad7E293f) [lido/WithdrawalVault]\n +++ description: Holds consensus-layer withdrawals and pays protocol predeploy fees. It lets stETH collect withdrawn ETH and lets the designated gateways submit EIP-7002 withdrawal and EIP-7251 consolidation requests.\n```\n\n```diff\n+ Status: CREATED\n contract Finance (eth:0xB9E5CBB9CA5b0d659238807E84D0176930753d86) [lido/Finance]\n +++ description: Lido DAO's Aragon Finance application. ACL roles create and execute one-time or recurring treasury payments and change their budgets, recipients, amounts and accounting period.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorExitDelayVerifier (eth:0xbDb567672c867DB533119C2dcD4FB9d8b44EC82f) [lido/ValidatorExitDelayVerifier]\n +++ description: Permissionless EIP-4788 proof verifier that detects validators which remained active after a ValidatorExitBus exit request and reports their exit delay to the StakingRouter.\n```\n\n```diff\n+ Status: CREATED\n contract TiebreakerSubCommittee (eth:0xBF048f2111497B6Df5E062811f5fC422804D4baE) [lido/TiebreakerSubCommittee]\n +++ description: A tiebreaker subcommittee whose members reach quorum on a proposal before forwarding it to the top-level tiebreaker committee.\n```\n\n```diff\n+ Status: CREATED\n contract OracleDaemonConfig (eth:0xbf05A929c3D7885a6aeAd833a992dA6E5ac23b09) [lido/OracleDaemonConfig]\n +++ description: Stores key-value configuration consumed by Lido's off-chain oracle daemon.\n```\n\n```diff\n+ Status: CREATED\n contract LidoLocator (eth:0xC1d0b3DE6792Bf6b4b37EccdcC24e45978Cfd2Eb) [lido/LidoLocator]\n +++ description: Canonical registry of the active Lido core, oracle, staking, withdrawal, top-up, consolidation, and StakingVault subsystem contract addresses.\n```\n\n```diff\n+ Status: CREATED\n contract DualGovernance (eth:0xC1db28B3301331277e307FDCfF8DE28242A4486E) [lido/DualGovernance]\n +++ description: Lido Dual Governance state machine. Registered proposers submit calls through an associated executor, while stETH, wstETH and unstETH holders can lock assets in an escrow to delay or stop governance execution and enter Rage Quit.\n```\n\n```diff\n+ Status: CREATED\n contract Community Staking Module Verifier (eth:0xC392F457960f1B13Ebaf1aa6C065479dD507E1E3) [lido/CSVerifier]\n +++ description: Permissionless beacon-state proof verifier for a Community Staking Module. Valid proofs report validator balances, withdrawals and slashing to the connected module.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (eth:0xC52fC3081123073078698F1EAc2f1Dc7Bd71880f) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OperatorGrid (eth:0xC69685E89Cefc327b43B7234AC646451B27c544d) [lido/OperatorGrid]\n +++ description: Registry of stVault node-operator groups and risk tiers. It defines per-tier share limits, reserve ratios, forced-rebalance thresholds and fees, coordinates two-party tier changes, and can jail vaults.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0xC7792b3F2B399bB0EdF53fECDceCeB97FBEB18AF) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EmergencyProtectedTimelock (eth:0xCE0425301C85c5Ea2A0873A2dEe44d78E02D2316) [lido/EmergencyProtectedTimelock]\n +++ description: Timelock used by Dual Governance. Governance submits and schedules batches, anyone may execute a ready batch, and time-bounded emergency committees can activate emergency mode and execute already submitted proposals without the ordinary schedule delay.\n```\n\n```diff\n+ Status: CREATED\n contract StakingVault (eth:0xd402937b3Ff3c187f727C1146a9E846275E9F711) [lido/StakingVault]\n +++ description: An isolated staking position that holds ETH for validators with 0x02 withdrawal credentials. The owner controls funds and validator operations, the depositor performs Beacon Chain deposits, and the node operator can force validator exits. Vaults normally use a beacon implementation but can irreversibly pin their current implementation.\n```\n\n```diff\n+ Status: CREATED\n contract HashConsensus (eth:0xD624B08C83bAECF0807Dd2c6880C3154a5F0B288) [lido/HashConsensus]\n +++ description: Collects report hashes from an enumerable oracle committee and forwards a report to its processor once quorum agrees. It defines report frames, quorum, fast-lane members, and the report processor.\n```\n\n```diff\n+ Status: CREATED\n contract ConsolidationBus (eth:0xd907CE33B4Be423823d1CFFe80BD147E8b8554C8) [lido/ConsolidationBus]\n +++ description: Queues validator consolidation batches and, after an execution delay, forwards proven EIP-7251 requests to ConsolidationGateway.\n```\n\n```diff\n+ Status: CREATED\n contract FeeDistributor (eth:0xD99CC66fEC647E68294C6477B40fC7E0F6F618D0) [lido/FeeDistributor]\n +++ description: Receives a staking module's stETH fee shares and distributes them to node operators according to a Merkle tree submitted by its FeeOracle. Claims are accounted in stETH shares.\n```\n\n```diff\n+ Status: CREATED\n contract CuratedModule (eth:0xDa5F930cE326EB5205085D66c72A4E79d60cB8C1) [lido/CuratedModule]\n +++ description: The permissioned Curated Staking Module. It manages approved node operators and validator keys, accepts deposits and top-ups from the StakingRouter, and processes validator lifecycle reports and penalties.\n```\n\n```diff\n+ Status: CREATED\n contract CSModule (eth:0xdA7dE2ECdDfccC6c3AF10108Db212ACBBf9EA83F) [lido/CSModule]\n +++ description: Lido's permissionless Community Staking Module. It manages node operators and validator keys, accepts router deposits and top-ups, processes validator exits, and applies bond-backed penalties.\n```\n\n```diff\n+ Status: CREATED\n contract TiebreakerSubCommittee (eth:0xDBfa0B8A15a503f25224fcA5F84a3853230A715C) [lido/TiebreakerSubCommittee]\n +++ description: A tiebreaker subcommittee whose members reach quorum on a proposal before forwarding it to the top-level tiebreaker committee.\n```\n\n```diff\n+ Status: CREATED\n contract TriggerableWithdrawalsGateway (eth:0xDC00116a0D3E064427dA2600449cfD2566B3037B) [lido/TriggerableWithdrawalsGateway]\n +++ description: The permissioned entrypoint for full EIP-7002 validator withdrawals. It charges the current request fee, applies a replenishing global exit limit, forwards requests to WithdrawalVault, and notifies StakingRouter.\n```\n\n```diff\n+ Status: CREATED\n contract Ejector (eth:0xe181A377A2d2BDE9A83f1474BC3DB7A412de091E) [lido/Ejector]\n +++ description: Submits triggerable full-withdrawal requests for validators. Node operators may voluntarily eject their own validators, while ValidatorStrikes can eject validators for poor performance.\n```\n\n```diff\n+ Status: CREATED\n contract StakingVault (eth:0xE2cC063DEc5685718Bd57aAC6AEE9941b25b7c37) [lido/StakingVault]\n +++ description: An isolated staking position that holds ETH for validators with 0x02 withdrawal credentials. The owner controls funds and validator operations, the depositor performs Beacon Chain deposits, and the node operator can force validator exits. Vaults normally use a beacon implementation but can irreversibly pin their current implementation.\n```\n\n```diff\n+ Status: CREATED\n contract Burner (eth:0xE76c52750019b80B43E36DF30bf4060EB73F573a) [lido/Burner]\n +++ description: Escrows stETH shares requested for cover or non-cover burning and burns them during an oracle report. Excess stETH can be recovered into the Lido protocol during migration.\n```\n\n```diff\n+ Status: CREATED\n contract CuratedGate (eth:0xeF273Ca4A21Ba7B414Ae3C9f9b443038cb133F72) [lido/CuratedGate]\n +++ description: Merkle-gated onboarding contract for a curated Community Staking Module cohort. An eligible address consumes its proof to create a node operator with this gate's configured bond curve and metadata group.\n```\n\n```diff\n+ Status: CREATED\n contract EasyTrack (eth:0xF0211b7660680B49De1A7E9f25C65660F0a13Fea) [lido/EasyTrack]\n +++ description: Optimistic Lido DAO motion system. Approved factories restrict the target and selector of each motion; LDO holders can object, and an unobstructed motion is executed through the EVMScriptExecutor after its delay.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorStrikes (eth:0xf4618370a1fBf46905B16C10817c8CFaD924D6db) [lido/ValidatorStrikes]\n +++ description: Stores the oracle-provided Merkle root of validator performance strikes. Proven strike data can cause a poor-performing validator to be ejected and penalized.\n```\n\n```diff\n+ Status: CREATED\n contract PredepositGuarantee (eth:0xF4bF42c6D6A0E38825785048124DBAD6c9eaaac3) [lido/PredepositGuarantee]\n +++ description: Protects StakingVault deposits by proving validator withdrawal credentials and requiring an initial predeposit before the remaining validator deposit is sent.\n```\n\n```diff\n+ Status: CREATED\n contract DepositSecurityModule (eth:0xF573E9E3de1f86B085417ab294f56E7920B4e9Be) [lido/DepositSecurityModule]\n +++ description: Guardian-based circuit breaker for legacy staking-module deposits. Guardians can collectively pause deposits if a malicious or stale deposit is observed, while the owner configures guardians and resumes deposits.\n```\n\n```diff\n+ Status: CREATED\n contract TiebreakerCoreCommittee (eth:0xf65614d73952Be91ce0aE7Dd9cFf25Ba15bEE2f5) [lido/TiebreakerCoreCommittee]\n +++ description: Top-level Dual Governance tiebreaker committee. Its members reach quorum to schedule a delayed governance proposal or resume a paused sealable contract when Dual Governance is tied.\n```\n\n```diff\n+ Status: CREATED\n contract TokenManager (eth:0xf73a1260d222f447210581DDf212D915c09a3249) [lido/TokenManager]\n +++ description: Aragon TokenManager for LDO. Its ACL roles can issue supply, mint or burn LDO, assign vested balances, and revoke vesting.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0xf8Bfa395744Cb25fa4368Ffe2344Dc35546092d9) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MEV Boost Relay Allowed List (eth:0xF95f069F9AD107938F6ba802a3da87892298610E) [lido/MEVBoostRelayAllowedList]\n +++ description: Registry of MEV-Boost relay endpoints supported by Lido node operators. The list distinguishes mandatory relays from optional relays and is consumed offchain.\n```\n\n```diff\n+ Status: CREATED\n contract Community Staking Module Verifier (eth:0xfce7aB839e55de77730716D05b3553e45ab3A5Ba) [lido/CSVerifier]\n +++ description: Permissionless beacon-state proof verifier for a Community Staking Module. Valid proofs report validator balances, withdrawals and slashing to the connected module.\n```\n\n```diff\n+ Status: CREATED\n contract StakingRouter (eth:0xFdDf38947aFB03C621C71b06C9C70bce73f12999) [lido/StakingRouter]\n +++ description: Coordinates Lido staking modules, allocates deposits and top-ups, tracks validator balances and exit states, and distributes staking rewards. Version 3 uses validator balances instead of validator counts and supports EIP-7251 compounding validators.\n```\n\n```diff\n+ Status: CREATED\n contract EVMScriptExecutor (eth:0xFE5986E06210aC1eCC1aDCafc0cc7f8D63B3F977) [lido/EVMScriptExecutor]\n +++ description: EasyTrack execution adapter. It executes the Aragon CallsScript produced by an approved EasyTrack motion, making downstream calls from this contract's address.\n```\n\n```diff\n+ Status: CREATED\n contract ParametersRegistry (eth:0xffC1C5d59CeAC6F6c27E701F04a70cb50474607C) [lido/ParametersRegistry]\n +++ description: Stores configurable Community Staking Module parameters, including bond curves, operator rewards, penalties, key limits, queue policy, performance thresholds, and validator-exit rules.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0xFFe21561251c49AdccFad065C94Fb4931dF49081) [GnosisSafe]\n +++ description: None\n```"
}
]
}
]
{
"dataAvailability": [
{
"name": "All data required for proofs is published on chain",
"description": "All the data that is used to construct the system state is published on chain in the form of blobs. This ensures that it will be available for enough time.",
"references": [],
"risks": []
}
],
"exitMechanisms": [
{
"name": "Regular exit",
"description": "The user initiates the withdrawal by submitting a regular transaction on this chain. When the block containing that transaction is finalized the funds become available for withdrawal on L1. Finally the user submits an L1 transaction to claim the funds. This transaction requires a merkle proof.",
"risks": [],
"references": []
}
],
"forceTransactions": {
"name": "Users can enqueue transactions",
"description": "Users can submit a forced inclusion directly to `MainnetInbox` on L1 by publishing a blob containing one L2 block manifest and calling `saveForcedInclusion()`.\nRequests are stored in a FIFO queue and cost a dynamic fee that starts at 0.001 ETH. The fee increases linearly with the queue size and doubles when 50 requests are pending.\nAfter 9m 36s, a request is due. Every subsequent proposal must process the due requests at the head of the queue, up to ten per proposal, before the proposer's own derivation source. This prevents an active proposer from advancing the chain while selectively skipping a due request.\nHowever, `propose()` still unconditionally checks `PreconfWhitelist`. The configured 1d 1h 36m permissionless inclusion threshold is not used, so users and other unpermissioned actors cannot process the queue themselves. If all whitelisted proposers stop, the queue and the whole chain stop progressing.",
"risks": [
{
"category": "Users can be censored if",
"text": "the operator is offline or refuses to process the queue."
}
],
"references": [
{
"title": "MainnetInbox.sol - Etherscan source code, saveForcedInclusion function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"title": "MainnetInbox.sol - Etherscan source code, propose function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
}
]
},
"operator": {
"name": "The system uses whitelist-based sequencing and proving",
"description": "The system uses a whitelist-based sequencing mechanism to allow for fast preconfirmations on the L2. On the L1, batch proposing is permissioned through the `PreconfWhitelist` contract, which currently has 2 active operators registered.\nFor each epoch, `PreconfWhitelist` selects a single active operator that can propose to MainnetInbox. There is no fallback proposer path, and non-selected operators cannot propose for the current epoch.\nProving is controlled separately by `ProverWhitelist`, which currently has 2 whitelisted provers.\nWhile the prover whitelist is non-empty, non-whitelisted actors cannot submit proofs. MainnetInbox currently sets minBond=0 and livenessBond=0.\nProving a proposal range requires exactly two proofs and at least one of them must be a ZK proof. Accepted combinations are SGX (Geth or Reth) plus SP1 or RISC0, or SP1 plus RISC0.",
"description": "The system uses a whitelist-based sequencing mechanism to allow for fast preconfirmations on the L2. On the L1, batch proposing is permissioned through the `PreconfWhitelist` contract, which currently has 1 active operators registered.\nFor each epoch, `PreconfWhitelist` selects a single active operator that can propose to MainnetInbox. There is no fallback proposer path, and non-selected operators cannot propose for the current epoch.\nProving is controlled separately by `ProverWhitelist`, which currently has 2 whitelisted provers.\nWhile the prover whitelist is non-empty, non-whitelisted actors cannot submit proofs. MainnetInbox currently sets minBond=0 and livenessBond=0.\nProving a proposal range requires exactly two proofs and at least one of them must be a ZK proof. Accepted combinations are SGX (Geth or Reth) plus SP1 or RISC0, or SP1 plus RISC0.",
"references": [
{
"title": "MainnetInbox.sol - Etherscan source code, propose function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"title": "MainnetInbox.sol - Etherscan source code, prove function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"title": "PreconfWhitelist.sol - Etherscan source code",
"url": "https://etherscan.io/address/0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149#code"
},
{
"title": "ProverWhitelist.sol - Etherscan source code",
"url": "https://etherscan.io/address/0xEa798547d97e345395dA071a0D7ED8144CD612Ae#code"
}
],
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
]
},
"stateValidation": {
"categories": [
{
"title": "Validity proofs",
"description": "Taiko uses a multi-proof system to validate state transitions. Exactly two proofs are required from four available verifiers: SGX (Geth), SGX (Reth), SP1, and RISC0. At least one proof must come from SP1 or RISC0: accepted combinations are either SGX verifier plus either ZK verifier, or SP1 plus RISC0. An SGX-only pair is not accepted. New proposals target a proof submission cadence of 4h. Proving is currently centralized behind ProverWhitelist with 2 whitelisted provers. While the whitelist is non-empty, non-whitelisted actors cannot submit proofs, and the configured permissionless proving delay is not used to open proving. MainnetInbox currently sets minBond=0 and livenessBond=0.",
"references": [
{
"title": "MainnetInbox.sol - Etherscan source code, getConfig function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"title": "MainnetInbox.sol - Etherscan source code, prove function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"title": "ProverWhitelist.sol - Etherscan source code",
"url": "https://etherscan.io/address/0xEa798547d97e345395dA071a0D7ED8144CD612Ae#code"
},
{
"title": "ZkRequiredVerifier.sol - Etherscan source code",
"url": "https://etherscan.io/address/0x7284aaC05555Ae6559bdAd8B4221eC9584254Eec#code"
}
],
"risks": []
}
]
},
"upgradesAndGovernance": {
"content": "Taiko Alethia has a governance structure relying primarily on a 7/9 Security Council, checked by a token DAO that is limited to veto permissions. The closed operator whitelists are managed by the 4/6 Taiko Multisig and related EOAs. Governance proposals (both paths) hold all important upgrade and config permissions in the system.\n# Standard proposals\nA threshold of 5 approving Security Council members is required to forward a Standard proposal to the OptimisticTokenVotingPlugin contract. It can be vetoed by 10% of votable TAIKO tokens during a 10d public veto period. If not vetoed, a further 7d timelock applies before the proposal can be executed.\n# Emergency proposals\nEmergency proposals are encrypted at proposal time and can only be read by Security Council members. If approved by 7 Security Council members, they can be immediately decrypted and executed.\n\n# Proof system and operators\nThe proof system currently does not require zk proofs to validate state transitions and state can be finalized with SGX proofs only. The optional zk verifier contracts can be upgraded by Multisigs. Operator roles (sequencer, proposer) are closed and the whitelist is managed by the Taiko Multisig and related EOAs.",
"governanceInfo": {
"securityCouncil": {
"Composition": "**5/9 standard · 7/9 emergency** — 9-member signer set shared by custom Aragon OSx standard and emergency multisig plugins. Members were appointed by the Taiko team rather than elected and include Taiko Labs employees. Members can appoint EOA agents to act for them.",
"Members public": "**Mapped** — Taiko publishes a [member wallet-to-entity mapping](https://github.com/taikoxyz/dao-ui-mono/blob/main/packages/ui/src/data/security-council-profiles.json). The 9 current onchain members are Aragon, Chainbound, Drew Van der Werff, Gattaca, Taiko Labs, Halborn, L2BEAT, Nethermind, and Toni Wahrstätter. Each member wallet is mapped to its voting agent onchain.",
"Charter": "**No public charter** — the [DAO values](https://dao-docs.taiko.xyz/understanding-the-dao/taiko-dao-values/) define the council’s security mission and principles, while the [proposal guidelines](https://dao-docs.taiko.xyz/understanding-the-dao/proposal-guidelines/) restrict emergency proposals to protocol-security and integrity matters. Council selection, terms, conflicts, and accountability are not defined in a public charter.",
"Can bypass DAO?": "**Yes, for emergencies** — 7 Security Council approvals execute an encrypted proposal immediately, with no TAIKO-holder veto or delay. Standard proposals require 5 approvals and remain vetoable. The council controls most core upgrades but no longer has permissions over Treasury funds.",
"DAO can override SC?": "**No** — 10% of eligible TAIKO can block a standard proposal but never an emergency one. Token holders cannot create proposals, approve payloads, remove council members, or block emergency proposals; changing the signer list requires another council-approved proposal."
},
"upgrades": {
"Normal upgrade path": "Security Council member creates a public executable payload → 5 council approvals → **10d token-holder veto period** → if less than 10% of eligible TAIKO vetoes, **7d timelock** → permissionless execution of the approved onchain actions.",
"Emergency upgrade path": "**7 Security Council approvals, instant** — proposal metadata and actions stay encrypted while approvals are collected. A council member decrypts the payload, which is integrity-checked against the approved ciphertext and executed without a token-holder veto or timelock; its contents become public upon execution or expiry.",
"Exit window": "**17d standard · 0 emergency** — the standard path provides 10d of public vetoing followed by a 7d timelock. Emergency proposals bypass both."
},
"tokenGovernance": {
"Governance token": "`TAIKO` on Ethereum — 1,000,000,000 total supply, all minted at initialization; the current implementation has no further mint function. One delegated TAIKO equals one veto vote, snapshotted when the proposal is created. The Foundation treasury, DAO controller, canonical ERC20 vault, and zero address are excluded from eligible supply.",
"Voting venue": "[Taiko DAO](https://dao.taiko.xyz/) for onchain vetoes; proposals and temperature checks are discussed on the [Taiko forum](https://community.taiko.xyz/c/formal-governance-proposals-including-temperature-checks-drafts-and-proposals-for-on-chain-voting/9).",
"Proposal threshold": "**No TAIKO threshold** — only a Security Council member can create an onchain proposal. Community members can submit forum proposals, but a council member must sponsor the idea and supply the executable payload.",
"Quorum": "**No approval quorum; 10% veto threshold.** Standard proposals pass optimistically unless at least 10% of eligible TAIKO at the proposal snapshot vetoes. Unused and undelegated eligible tokens still count in the denominator.",
"Execution model": "**Council-gated optimistic veto + permissionless execution.** The Security Council approves the exact onchain actions. Token holders can only veto; if the threshold is not reached and the 7d timelock expires, anyone can call `execute()`. Emergency proposals skip the veto and delay."
}
}
}
}
permissions+30-38
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SignerList (Security Council)",
"name": "SignerList (Security Council)",
"description": "A Multisig with 7/9 threshold. \nA signer list for storing multisig members and their agents, stores the addresses of the Multisigs that use this signer list. Each signer delegates their permissions to their agent address that they can configure here.\n* Can upgrade **with 7d delay**\n * AutomataDcapV3Attestation [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * Taiko Token [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * MainnetInbox [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * TaikoDAOController [via: DAO with 7d delay (emergency proposals bypass the delay)]\n * AutomataDcapV3Attestation [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * DefaultResolver [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * MainnetERC20Vault [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * DAO [via: DAO with 7d delay (emergency proposals bypass the delay)]\n * SignalService [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * MainnetBridge [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * ProverWhitelist [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * TaikoDAOController [via: DAO with 7d delay (emergency proposals bypass the delay)]\n * PreconfWhitelist [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with TaikoRisc0Verifier\n * manage trusted RISC Zero image IDs **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with SignerList (Security Council)\n * add/remove members from the Security Council and change its minimum size **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with AutomataDcapV3Attestation\n * manage trusted SGX measurements, revoked certificate serial numbers, TCB info, QE identity, and local report checks **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with EmergencyMultisig\n * manage critical settings (e.g. threshold and multisig settings) for the emergency proposal governance path **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with SecureSgxVerifier\n * add SGX instances without DCAP attestation and delete registered instances **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with MainnetInbox\n * pause and unpause the rollup system, activate the inbox, and execute the one-time state recovery path **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with TaikoSP1Verifier\n * manage trusted SP1 program verification keys **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with AutomataDcapV3Attestation\n * manage trusted SGX measurements, revoked certificate serial numbers, TCB info, QE identity, and local report checks **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with DefaultResolver\n * update the contract address registered for any chainId-name pair **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with OptimisticTokenVotingPlugin\n * manage critical settings (e.g. thresholds, delays and proposal acceptance criteria) for all governance proposals **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with MainnetERC20Vault\n * pause and unpause token bridge flows and change the bridged token implementation for a canonical token after the migration delay **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with DAO\n * define all permissions of the central DAO smart contract **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with SecureSgxVerifier\n * add SGX instances without DCAP attestation and delete registered instances **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with SignalService\n * pause and unpause signal proof verification **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with MainnetBridge\n * pause and unpause bridge message flows and execute one-time bridge recovery initializers **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with Multisig\n * manage critical settings (e.g. threshold and multisig settings) for the standard proposal governance path **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with ProverWhitelist\n * manage the prover whitelist **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with PreconfWhitelist\n * pause/unpause, add or remove operators, and manage ejecter roles **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]",
"accounts": [
{
"address": "eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2",
"type": "Contract",
"isVerified": true,
"name": "0x0F95…79c2",
"url": "https://etherscan.io/address/0x0F95E6968EC1B28c794CF1aD99609431de5179c2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xCf76A87E24FE2054DCF02a5f65eAc0F24A34c439",
"type": "EOA",
"isVerified": true,
"name": "0xCf76…c439",
"url": "https://etherscan.io/address/0xCf76A87E24FE2054DCF02a5f65eAc0F24A34c439"
},
{
"address": "eth:0x93533a3511E9b0d5c17b1CBD0e1737781DEf61a6",
"type": "EOA",
"isVerified": true,
"name": "Toni Wahrstätter Agent",
"url": "#Toni-Wahrstätter-Agent"
},
{
"address": "eth:0x884c3e8235788ae52C2106E847e30BD84F2FBCb8",
"type": "EOA",
"isVerified": true,
"name": "L2BEAT Agent",
"url": "https://etherscan.io/address/0x884c3e8235788ae52C2106E847e30BD84F2FBCb8"
},
{
"address": "eth:0x22aD66bcEaeff83e1461772Fa85CbeB01f0915f4",
"type": "EOA",
"isVerified": true,
"name": "Chainbound Agent",
"url": "https://etherscan.io/address/0x22aD66bcEaeff83e1461772Fa85CbeB01f0915f4"
},
{
"address": "eth:0x4236f57E9dBc238878EFac4AeF0A16D4dD06DC1A",
"type": "EOA",
"isVerified": true,
"name": "Nethermind Agent",
"url": "https://etherscan.io/address/0x4236f57E9dBc238878EFac4AeF0A16D4dD06DC1A"
},
{
"address": "eth:0x824Dce8d292a393DAb5FFdeb788DC1086257f678",
"type": "EOA",
"isVerified": true,
"name": "Aragon Agent",
"url": "https://etherscan.io/address/0x824Dce8d292a393DAb5FFdeb788DC1086257f678"
},
{
"address": "eth:0x18B4f2afe456Dc89bddE9710476dCfC62D01d656",
"type": "EOA",
"isVerified": true,
"name": "Drew Van der Werff Agent",
"url": "https://etherscan.io/address/0x18B4f2afe456Dc89bddE9710476dCfC62D01d656"
},
{
"address": "eth:0x1d955983044548E03DAA583B36A37cA4bdE6F556",
"type": "EOA",
"isVerified": true,
"name": "Halborn Agent",
"url": "#Halborn-Agent"
},
{
"address": "eth:0xc4414B079bC4A013916B3dc241555F6f505c1619",
"type": "EOA",
"isVerified": true,
"name": "Gattaca Agent",
"url": "#Gattaca-Agent"
}
],
"discoveryDrivenData": true
},
{
"id": "Taiko Multisig",
"name": "Taiko Multisig",
"description": "A Multisig with 4/6 threshold. \n* Can interact with SecureSgxVerifier\n * register SGX instances after DCAP attestation verification \n* Can interact with SecureSgxVerifier\n * register SGX instances after DCAP attestation verification \n* Can interact with SignalService\n * pause and unpause signal proof verification \n* Can interact with QuotaManager\n * update token withdrawal quotas and the quota refill period \n* Can interact with MainnetBridge\n * pause and unpause bridge message flows and fund the bridge through direct ETH transfers \n* Can interact with ProverWhitelist\n * manage the prover whitelist \n* Can interact with PreconfWhitelist\n * manage the ejecter role ",
"accounts": [
{
"address": "eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F",
"type": "Contract",
"isVerified": true,
"name": "0x9CBe…9C7F",
"url": "https://etherscan.io/address/0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xFa92ff698D57f7B875570D9F59501812B843CD44",
"type": "EOA",
"isVerified": true,
"name": "0xFa92…CD44",
"url": "https://etherscan.io/address/0xFa92ff698D57f7B875570D9F59501812B843CD44"
},
{
"address": "eth:0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a",
"type": "EOA",
"isVerified": true,
"name": "0xDC4e…8a0a",
"url": "https://etherscan.io/address/0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a"
},
{
"address": "eth:0x0aED2375549D1115e180bd0caea829C429Ea50B3",
"type": "EOA",
"isVerified": true,
"name": "0x0aED…50B3",
"url": "https://etherscan.io/address/0x0aED2375549D1115e180bd0caea829C429Ea50B3"
},
{
"address": "eth:0xCf76A87E24FE2054DCF02a5f65eAc0F24A34c439",
"type": "EOA",
"isVerified": true,
"name": "0xCf76…c439",
"url": "https://etherscan.io/address/0xCf76A87E24FE2054DCF02a5f65eAc0F24A34c439"
},
{
"address": "eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "#Safe"
},
{
"address": "eth:0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1",
"type": "EOA",
"isVerified": true,
"name": "0x3b1D…d5F1",
"url": "https://etherscan.io/address/0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1"
}
],
"discoveryDrivenData": true
},
{
"id": "MainnetERC20Vault",
"name": "MainnetERC20Vault",
"accounts": [
{
"address": "eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab",
"type": "Contract",
"isVerified": true,
"name": "0x9962…15Ab",
"url": "https://etherscan.io/address/0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab"
}
],
"chain": "ethereum",
"description": "Shared vault for Taiko chains for bridged ERC20 tokens. Pausing stops token sends, message-triggered releases, and recalls. Released or minted tokens are subject to the configured quota manager.\n* Can interact with QuotaManager\n * consume ERC20 withdrawal quota when tokens leave the vault ",
"discoveryDrivenData": true
},
{
"id": "MainnetBridge",
"name": "MainnetBridge",
"accounts": [
{
"address": "eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC",
"type": "Contract",
"isVerified": true,
"name": "0xd602…d8EC",
"url": "https://etherscan.io/address/0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC"
}
],
"chain": "ethereum",
"description": "Shared bridge escrow for Taiko chains for bridged ETH and arbitrary bridge messages. Pausing stops sending, processing, recalling, retrying, and failing messages. ETH released from the bridge is subject to the configured quota manager.\n* Can interact with QuotaManager\n * consume ETH withdrawal quota when ETH leaves the bridge ",
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 3/5 threshold. \n* Can interact with TimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles **with 3d delay** [via: TimelockController with 3d delay]\n * propose transactions \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierRouter\n * add/remove verifiers and the selectors they are mapped to **with 3d delay** [via: TimelockController with 3d delay]\n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"accounts": [
{
"address": "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609",
"type": "Contract",
"isVerified": true,
"name": "0x2E5b…2609",
"url": "https://etherscan.io/address/0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E",
"type": "EOA",
"isVerified": true,
"name": "0x10B0…6A0E",
"url": "https://etherscan.io/address/0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E"
},
{
"address": "eth:0x751708D6341b36c0C258754fc2DbF96074f5BdC7",
"type": "EOA",
"isVerified": true,
"name": "0x7517…BdC7",
"url": "https://etherscan.io/address/0x751708D6341b36c0C258754fc2DbF96074f5BdC7"
},
{
"address": "eth:0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4",
"type": "EOA",
"isVerified": true,
"name": "0xbF58…73a4",
"url": "https://etherscan.io/address/0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4"
},
{
"address": "eth:0xd5D43445d0227a47cA2eACCb9392352746eD9926",
"type": "EOA",
"isVerified": true,
"name": "0xd5D4…9926",
"url": "https://etherscan.io/address/0xd5D43445d0227a47cA2eACCb9392352746eD9926"
},
{
"address": "eth:0xDA8e7102681f9652FB8a10b70949CF7F260e0A01",
"type": "EOA",
"isVerified": true,
"name": "0xDA8e…0A01",
"url": "https://etherscan.io/address/0xDA8e7102681f9652FB8a10b70949CF7F260e0A01"
}
],
"discoveryDrivenData": true
},
{
"id": "SP1VerifierGatewayMultisig",
"name": "SP1VerifierGatewayMultisig",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGateway\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "eth:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://etherscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://etherscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "eth:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://etherscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "eth:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://etherscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "Taiko Foundation Treasury Multisig",
"name": "Taiko Foundation Treasury Multisig",
"description": "A Multisig with 3/5 threshold. ",
"accounts": [
{
"address": "eth:0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da",
"type": "Contract",
"isVerified": true,
"name": "0x363e…B3Da",
"url": "https://etherscan.io/address/0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xA1D62c7df45847089cfB052396Abe4cDa7879d25",
"type": "EOA",
"isVerified": true,
"name": "0xA1D6…9d25",
"url": "https://etherscan.io/address/0xA1D62c7df45847089cfB052396Abe4cDa7879d25"
},
{
"address": "eth:0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a",
"type": "EOA",
"isVerified": true,
"name": "0xDC4e…8a0a",
"url": "https://etherscan.io/address/0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a"
},
{
"address": "eth:0x7A5299927F93ffCf33cf381CB0C03C2486b9299A",
"type": "EOA",
"isVerified": true,
"name": "0x7A52…299A",
"url": "https://etherscan.io/address/0x7A5299927F93ffCf33cf381CB0C03C2486b9299A"
},
{
"address": "eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "#Safe"
},
{
"address": "eth:0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1",
"type": "EOA",
"isVerified": true,
"name": "0x3b1D…d5F1",
"url": "https://etherscan.io/address/0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 1/2 threshold. \nMember of Taiko Foundation Treasury Multisig, Taiko Multisig, Gustavo Gonzalez Taiko.\n",
"accounts": [
{
"address": "eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10",
"type": "Contract",
"isVerified": true,
"name": "0xF28C…8C10",
"url": "https://etherscan.io/address/0xF28C8D6b44361255FA7C116d09ccD5F914398C10"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x4757D97449acA795510b9f3152C6a9019A3545c3",
"type": "EOA",
"isVerified": true,
"name": "0x4757…45c3",
"url": "https://etherscan.io/address/0x4757D97449acA795510b9f3152C6a9019A3545c3"
},
{
"address": "eth:0x7057A707621Fadd422f84DE94A9dF7c4F1AC595C",
"type": "EOA",
"isVerified": true,
"name": "0x7057…595C",
"url": "https://etherscan.io/address/0x7057A707621Fadd422f84DE94A9dF7c4F1AC595C"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1-and-EOA-5",
"name": "EOA 1 and EOA 5",
"id": "EOA-1-and-EOA-4",
"name": "EOA 1 and EOA 4",
"accounts": [
{
"address": "eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438",
"type": "EOA",
"isVerified": true,
"name": "0x0F02…0438",
"url": "https://etherscan.io/address/0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438",
"displayName": "EOA 1"
},
{
"address": "eth:0x45D4403351Bc34283CE6450D91c099f40D06dA4e",
"type": "EOA",
"isVerified": true,
"name": "0x45D4…dA4e",
"url": "https://etherscan.io/address/0x45D4403351Bc34283CE6450D91c099f40D06dA4e",
"displayName": "EOA 5"
"displayName": "EOA 4"
}
],
"chain": "ethereum",
"description": "* Can interact with PreconfWhitelist\n * add operators after a two-epoch activation delay and remove existing operators immediately ",
"discoveryDrivenData": true
},
{
"id": "Halborn-Agent",
"name": "Halborn Agent",
"accounts": [
{
"address": "eth:0x1d955983044548E03DAA583B36A37cA4bdE6F556",
"type": "EOA",
"isVerified": true,
"name": "0x1d95…F556",
"url": "https://etherscan.io/address/0x1d955983044548E03DAA583B36A37cA4bdE6F556",
"displayName": "Halborn Agent"
}
],
"chain": "ethereum",
"description": "Member of Halborn, SignerList (Security Council).\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Halborn]",
"discoveryDrivenData": true
},
{
"id": "EOA-2-and-EOA-6",
"name": "EOA 2 and EOA 6",
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0x35376dD47C061Bc3b8c8e8d61987019e7ED58f06",
"address": "eth:0x39cc8f0FEb8DFBa96674098a80eC304879576E6D",
"type": "EOA",
"isVerified": true,
"name": "0x3537…8f06",
"url": "https://etherscan.io/address/0x35376dD47C061Bc3b8c8e8d61987019e7ED58f06",
"name": "0x39cc…6E6D",
"url": "https://etherscan.io/address/0x39cc8f0FEb8DFBa96674098a80eC304879576E6D",
"displayName": "EOA 2"
},
{
"address": "eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990",
"type": "EOA",
"isVerified": true,
"name": "0x5F62…9990",
"url": "https://etherscan.io/address/0x5F62d006C10C009ff50C878Cd6157aC861C99990",
"displayName": "EOA 6"
}
],
"chain": "ethereum",
"description": "* Can interact with PreconfWhitelist\n * eligible to propose batches on L1; only the selected current-epoch operator can successfully propose ",
"description": "Member of Gattaca.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Gattaca]",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0x39cc8f0FEb8DFBa96674098a80eC304879576E6D",
"address": "eth:0x3D4997AAC0834BEb5ede861c424807Aa3F29b5bB",
"type": "EOA",
"isVerified": true,
"name": "0x39cc…6E6D",
"url": "https://etherscan.io/address/0x39cc8f0FEb8DFBa96674098a80eC304879576E6D",
"name": "0x3D49…b5bB",
"url": "https://etherscan.io/address/0x3D4997AAC0834BEb5ede861c424807Aa3F29b5bB",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "Member of Gattaca.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Gattaca]",
"description": "Member of L2BEAT.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: L2BEAT]",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"id": "EOA-5",
"name": "EOA 5",
"accounts": [
{
"address": "eth:0x3D4997AAC0834BEb5ede861c424807Aa3F29b5bB",
"address": "eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990",
"type": "EOA",
"isVerified": true,
"name": "0x3D49…b5bB",
"url": "https://etherscan.io/address/0x3D4997AAC0834BEb5ede861c424807Aa3F29b5bB",
"displayName": "EOA 4"
"name": "0x5F62…9990",
"url": "https://etherscan.io/address/0x5F62d006C10C009ff50C878Cd6157aC861C99990",
"displayName": "EOA 5"
}
],
"chain": "ethereum",
"description": "Member of L2BEAT.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: L2BEAT]",
"description": "* Can interact with PreconfWhitelist\n * eligible to propose batches on L1; only the selected current-epoch operator can successfully propose ",
"discoveryDrivenData": true
},
{
"id": "Toni-Wahrstätter-Agent",
"name": "Toni Wahrstätter Agent",
"accounts": [
{
"address": "eth:0x93533a3511E9b0d5c17b1CBD0e1737781DEf61a6",
"type": "EOA",
"isVerified": true,
"name": "0x9353…61a6",
"url": "https://etherscan.io/address/0x93533a3511E9b0d5c17b1CBD0e1737781DEf61a6",
"displayName": "Toni Wahrstätter Agent"
}
],
"chain": "ethereum",
"description": "Member of SignerList (Security Council), Toni Wahrstätter.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Toni Wahrstätter]",
"discoveryDrivenData": true
},
{
"id": "EOA-7-and-EOA-9",
"name": "EOA 7 and EOA 9",
"id": "EOA-6-and-EOA-8",
"name": "EOA 6 and EOA 8",
"accounts": [
{
"address": "eth:0xBFD60Cb2313B848a2FC088d3bc1ab6BF498E1DD1",
"type": "EOA",
"isVerified": true,
"name": "0xBFD6…1DD1",
"url": "https://etherscan.io/address/0xBFD60Cb2313B848a2FC088d3bc1ab6BF498E1DD1",
"displayName": "EOA 7"
"displayName": "EOA 6"
},
{
"address": "eth:0xDFbD5490462963Cc242471913B53b034B209B32c",
"type": "EOA",
"isVerified": true,
"name": "0xDFbD…B32c",
"url": "https://etherscan.io/address/0xDFbD5490462963Cc242471913B53b034B209B32c",
"displayName": "EOA 9"
"displayName": "EOA 8"
}
],
"chain": "ethereum",
"description": "Member of Halborn.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Halborn]",
"discoveryDrivenData": true
},
{
"id": "Gattaca-Agent",
"name": "Gattaca Agent",
"accounts": [
{
"address": "eth:0xc4414B079bC4A013916B3dc241555F6f505c1619",
"type": "EOA",
"isVerified": true,
"name": "0xc441…1619",
"url": "https://etherscan.io/address/0xc4414B079bC4A013916B3dc241555F6f505c1619",
"displayName": "Gattaca Agent"
}
],
"chain": "ethereum",
"description": "Member of SignerList (Security Council), Gattaca.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Gattaca]",
"discoveryDrivenData": true
},
{
"id": "EOA-8",
"name": "EOA 8",
"id": "EOA-7",
"name": "EOA 7",
"accounts": [
{
"address": "eth:0xd0d756A346105511bc59726c82c7Fd2e3Fe69e3F",
"type": "EOA",
"isVerified": true,
"name": "0xd0d7…9e3F",
"url": "https://etherscan.io/address/0xd0d756A346105511bc59726c82c7Fd2e3Fe69e3F",
"displayName": "EOA 8"
"displayName": "EOA 7"
}
],
"chain": "ethereum",
"description": "Member of Toni Wahrstätter.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Toni Wahrstätter]",
"discoveryDrivenData": true
},
{
"id": "EOA-10",
"name": "EOA 10",
"id": "EOA-9",
"name": "EOA 9",
"accounts": [
{
"address": "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"type": "EOA",
"isVerified": true,
"name": "0xF616…d412",
"url": "https://etherscan.io/address/0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"displayName": "EOA 10"
"displayName": "EOA 9"
}
],
"chain": "ethereum",
"description": "* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"discoveryDrivenData": true
}
]
}
}
contracts+2-2
{
"addresses": {
"ethereum": [
{
"name": "TaikoRisc0Verifier",
"isVerified": true,
"address": "eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Gating router contract to verify batches using RISC Zero.\n* Roles:\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 3.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a098988600d87650Fb061FfAff08B97149Fa84D#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.0.3).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF#code"
},
{
"name": "MainnetInbox",
"isVerified": true,
"address": "eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x5253D4C91e80b880DdB54B78E74082Abe066F6b9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1772642207,
"transactionHash": "0x7576f1179250453948b37648a748aaade28c40b33e358fa0cbe21be6b0368601",
"implementations": [
"eth:0x0680c84378FA6A7D2F46ADa5A70637Fa2A938d42"
]
},
{
"timestamp": 1782120275,
"transactionHash": "0x2fb71b83b8971dd7bbc174f72ea5d37f57bf20277c406b0d679062b20c348e1d",
"implementations": [
"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098"
]
},
{
"timestamp": 1782739115,
"transactionHash": "0xae7122add731c935d54d726ebe542e7d4f9f7321e3bdf4ec794309f813d981f7",
"implementations": [
"eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01"
]
},
{
"timestamp": 1785761183,
"transactionHash": "0x64875b5b84b41b520551854696c0ce408fb3e0aa2ede604cc95a5919b6140ea7",
"implementations": [
"eth:0x5253D4C91e80b880DdB54B78E74082Abe066F6b9"
]
}
],
"description": "The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. Users can enqueue forced inclusions by publishing an L1 blob. Once an inclusion is due, subsequent proposals must process it, but proposing remains restricted by the configured proposer checker. If the configured prover whitelist is non-empty, proofs from non-whitelisted provers revert.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"name": "ZkRequiredVerifier",
"isVerified": true,
"address": "eth:0x7284aaC05555Ae6559bdAd8B4221eC9584254Eec",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable verifier policy contract for Taiko mainnet. Every accepted proof contains exactly two ordered sub-proofs and at least one must be a ZK proof. Accepted pairs are SGX-GETH or SGX-RETH with RISC0-RETH or SP1-RETH, and RISC0-RETH with SP1-RETH. The SGX-GETH plus SGX-RETH pair is not accepted.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7284aaC05555Ae6559bdAd8B4221eC9584254Eec#code"
},
{
"name": "TaikoSP1Verifier",
"isVerified": true,
"address": "eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Gating router contract to verify batches using SP1.\n* Roles:\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x73A0Db393ef87ce781ac7957bE10D6628432100F#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9#code"
},
{
"name": "ProverWhitelist",
"isVerified": true,
"address": "eth:0xEa798547d97e345395dA071a0D7ED8144CD612Ae",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xebb393746A4Eee84Ad14EDFf3764c3F839D1034b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1772641607,
"transactionHash": "0x9ae9f5d95306d569099fbf42c0aa730a6b6e84e18f35e5f1a1374025597762d5",
"implementations": [
"eth:0xebb393746A4Eee84Ad14EDFf3764c3F839D1034b"
]
}
],
"description": "Defines the prover whitelist queried by the inbox before accepting proofs. If the inbox is configured with this contract and the whitelist is non-empty, only whitelisted provers can prove proposals.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)\n * **proverManager**: Taiko Multisig",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEa798547d97e345395dA071a0D7ED8144CD612Ae#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs. This older implementation exposes control-root and selector constants but does not expose a VERSION getter.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C#code"
},
{
"name": "QuotaManager",
"isVerified": true,
"address": "eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Defines withdrawal quotas for ETH and ERC20 releases from the shared bridge. A token quota of zero means unlimited withdrawals for that token.\n* Roles:\n * **bridge**: MainnetBridge\n * **erc20Vault**: MainnetERC20Vault\n * **owner**: Taiko Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC#code"
},
{
"name": "TaikoDAOController",
"isVerified": true,
"address": "eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261"
],
"implementations": [
"eth:0x4347df63bdC82b8835fC9FF47bC5a71a12cC0f06"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748146475,
"transactionHash": "0x5da0579fa85d4712efb3d66c95ee884d73259ede79760d25f685e4c3c3c4c0c1",
"implementations": [
"eth:0x4347df63bdC82b8835fC9FF47bC5a71a12cC0f06"
]
}
],
"description": "Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n* Roles:\n * **admin**: DAO; ultimately SignerList (Security Council)\n * **owner**: DAO",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a#code"
},
{
"name": "DAO",
"isVerified": true,
"address": "eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x52Af16664155608b845BE18aa29620EbF6eA2D3a"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746111707,
"transactionHash": "0x8acf74d966e6eb99972a4a73382cf42aa918d4715eaf4b587d1007f24edf5208",
"implementations": [
"eth:0x52Af16664155608b845BE18aa29620EbF6eA2D3a"
]
}
],
"description": "The main contract and entrypoint of the Aragon-based DAO governance framework. Fine-grained DAO permissions, proposals, voting and thresholds are configured here.\n* Roles:\n * **currentSignerListPermissions**: SignerList (Security Council) (emergency proposals bypass the delay)\n * **daoPermissions**: DAO; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9CDf589C941ee81D75F34d3755671d614f7cf261#code"
},
{
"name": "TaikoDAOController",
"isVerified": true,
"address": "eth:0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261"
],
"implementations": [
"eth:0xd1934807041B168f383870A0d8F565aDe2DF9D7D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746942803,
"transactionHash": "0x8328e607699f67108c9b259225d5316a079ad52e648e6188c3fce7bf99abec38",
"implementations": [
"eth:0xd1934807041B168f383870A0d8F565aDe2DF9D7D"
]
}
],
"description": "Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n* Roles:\n * **admin**: DAO; ultimately SignerList (Security Council)\n * **owner**: DAO",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3#code"
},
{
"name": "TimelockController",
"isVerified": true,
"address": "eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 3d.\n* Roles:\n * **canceller**: Safe\n * **defaultAdmin**: TimelockController; ultimately Safe\n * **executor**: Safe\n * **proposer**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0b144E07A0826182B6b59788c34b32Bfa86Fb711#code"
},
{
"name": "AutomataDcapV3Attestation",
"isVerified": true,
"address": "eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x5e46443bd131eB6d4c6Fb4849bAD29af9596dd72"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747268759,
"transactionHash": "0x3b734f101aeef12dbbef6a43abae4176ac967c5ab8ea0194c6d890dafd6573ad",
"implementations": [
"eth:0x5e46443bd131eB6d4c6Fb4849bAD29af9596dd72"
]
}
],
"description": "Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261#code"
},
{
"name": "Taiko Token",
"isVerified": true,
"address": "eth:0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x5C96Ff5B7F61b9E3436Ef04DA1377C8388dfC106"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714033799,
"transactionHash": "0x4f7a1c6ad21fbfeaecab40ea36a3845bf67e22d7770d8a259d62b995cb93cb34",
"implementations": [
"eth:0x9ae1a067F9655DD0511390e3d70Bb25933AE61eb"
]
},
{
"timestamp": 1715406371,
"transactionHash": "0x7d82794932540ed9edd259e58f6ef8ae21a49beada7f0224638f888f7149c01c",
"implementations": [
"eth:0xea53c0f4b129Cf3f3FBA896F9f23ca18246e9B3c"
]
},
{
"timestamp": 1716969803,
"transactionHash": "0x56402f9fd928be890fbd29829b817faffc0780b85e83300a29962c969808cae2",
"implementations": [
"eth:0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F"
]
},
{
"timestamp": 1717732931,
"transactionHash": "0x0bbf7d1258c646f41a02a92a55825b1ebfd3659577d0f2b57b462f8895e23a04",
"implementations": [
"eth:0x55833dA2962c2330ccCF043ff8037e6D2939bCF6"
]
},
{
"timestamp": 1719904547,
"transactionHash": "0xc9f468d33d8d55911e4e5b5c301ed244a5f81ab0f389d2b4f398eb5b89d417ef",
"implementations": [
"eth:0xcfe803378D79d1180EbF030455040EA6513869dF"
]
},
{
"timestamp": 1747097243,
"transactionHash": "0xdb7d5de46738ad3f676db47b61772db531f9858b7a01e8c3b5aee49fa74cac95",
"implementations": [
"eth:0x87C752b0F70cAa237Edd7571B0845470A37DE040"
]
},
{
"timestamp": 1747285931,
"transactionHash": "0x986fc2c7ae945cdd358b2f2ae54364b350026f965f5861ed470f78e145f12626",
"implementations": [
"eth:0x5C96Ff5B7F61b9E3436Ef04DA1377C8388dfC106"
]
}
],
"description": "ERC20 contract implementing the TAIKO token. It defines a list of addresses designated as non-voting.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x1efDd13f831ceeEa14940806705A53D3211CD698",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1efDd13f831ceeEa14940806705A53D3211CD698#code"
},
{
"name": "EmergencyMultisig",
"isVerified": true,
"address": "eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x437E450452E8Bc142bd5317199296EcB187c514b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746111707,
"transactionHash": "0x8acf74d966e6eb99972a4a73382cf42aa918d4715eaf4b587d1007f24edf5208",
"implementations": [
"eth:0x437E450452E8Bc142bd5317199296EcB187c514b"
]
}
],
"description": "Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n* Roles:\n * **dao**: DAO; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd#code"
},
{
"name": "SecureSgxVerifier",
"isVerified": true,
"address": "eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SGX proven blocks. Registered SGX instances can sign accepted proofs until their instance expiry.\n* Roles:\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)\n * **registrar**: Taiko Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: EOA 10",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: EOA 9",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7#code"
},
{
"name": "RiscZeroSetVerifier",
"isVerified": true,
"address": "eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Set verifier contract for RISC Zero proofs (version 0.9.0). It allows verifying a whole set of proofs identified with a Merkle root at once, afterwards each individual proof could be efficiently verified just by checking Merkle inclusion against the verified root.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x68dC2cB4e61774873971c499D9b239ec5Ac540E3#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroSetVerifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x844D5f01161E3559d36f23d0Aa9E9620949aF782#code"
},
{
"name": "AutomataDcapV3Attestation",
"isVerified": true,
"address": "eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x5f73f0AdC7dAA6134Fe751C4a78d524f9384e0B5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714550639,
"transactionHash": "0x207dec76298211a2d988b0de3e9a3f8da0edb4524a011e72f28200be08edd4c6",
"implementations": [
"eth:0xEE8FC1dbb8D345f5bF35dFb939C6f9EdC5fCDAFc"
]
},
{
"timestamp": 1715408795,
"transactionHash": "0x416560cd96dc75ccffebe889e8d1ab3e08b33f814dc4a2bf7c6f9555071d1f6f",
"implementations": [
"eth:0xde1b1FBe7D721af4A56651272ef91A59B7303323"
]
},
{
"timestamp": 1715787263,
"transactionHash": "0x46a6d47c15505a1259c64d1e09353680e525b2706dd9e095e15019dda7c1b295",
"implementations": [
"eth:0x5f73f0AdC7dAA6134Fe751C4a78d524f9384e0B5"
]
}
],
"description": "Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8d7C954960a36a7596d7eA4945dDf891967ca8A3#code"
},
{
"name": "RiscZeroVerifierRouter",
"isVerified": true,
"address": "eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (TimelockController).\n* Roles:\n * **owner**: TimelockController; ultimately Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319#code"
},
{
"name": "DefaultResolver",
"isVerified": true,
"address": "eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xFca4F0Ab7B95EEf2e3A60EF2Bc0c42DdAA62E66D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747268711,
"transactionHash": "0xe402a650eb9f8443ae3fb86d2ef4bc6105140c85774c56a3932fe097ea6f6c19",
"implementations": [
"eth:0xFca4F0Ab7B95EEf2e3A60EF2Bc0c42DdAA62E66D"
]
}
],
"description": "Maps chainId-name pairs to contract addresses. Bridge and vault contracts resolve their counterparties through this registry, so changes in this mapping effectively act as contract upgrades. The pause function is intentionally disabled in this implementation.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8Efa01564425692d0a0838DC10E300BD310Cb43e#code"
},
{
"name": "OptimisticTokenVotingPlugin",
"isVerified": true,
"address": "eth:0x989E348275b659d36f8751ea1c10D146211650BE",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x5B0Da2FB08754a5dDf32e28887D2F5437485f085"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746111707,
"transactionHash": "0x8acf74d966e6eb99972a4a73382cf42aa918d4715eaf4b587d1007f24edf5208",
"implementations": [
"eth:0x5B0Da2FB08754a5dDf32e28887D2F5437485f085"
]
}
],
"description": "An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n* Roles:\n * **dao**: DAO; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x989E348275b659d36f8751ea1c10D146211650BE#code"
},
{
"name": "SecureSgxVerifier",
"isVerified": true,
"address": "eth:0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SGX proven blocks. Registered SGX instances can sign accepted proofs until their instance expiry.\n* Roles:\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)\n * **registrar**: Taiko Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8#code"
},
{
"name": "SignalService",
"isVerified": true,
"address": "eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x1A06832992785766a105838C95c1E13a0045AC85"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714550603,
"transactionHash": "0x0898d14da2f38d677085073d2decfb7ca32902406df2e7a84f6615d9c92d4516",
"implementations": [
"eth:0xE1d91bAE44B70bD66e8b688B8421fD62dcC33c72"
]
},
{
"timestamp": 1715408795,
"transactionHash": "0x416560cd96dc75ccffebe889e8d1ab3e08b33f814dc4a2bf7c6f9555071d1f6f",
"implementations": [
"eth:0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d"
]
},
{
"timestamp": 1717663871,
"transactionHash": "0x8de1631a25b337c1e702f9ce9d9ab8a3b626922441855e959b2d79dae40bd131",
"implementations": [
"eth:0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb"
]
},
{
"timestamp": 1717749635,
"transactionHash": "0xdb5e926c96d112ce1389da77a927fba6c7d04a711839b9e14777530ebcf83914",
"implementations": [
"eth:0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d"
]
},
{
"timestamp": 1721140223,
"transactionHash": "0x7d584f0a645cad61e634f64ffaf7e1bbfb92749878eb25b39ce0e5cf698897c7",
"implementations": [
"eth:0xDF8642a1FBFc2014de27E8E87283D6f3eEF315DF"
]
},
{
"timestamp": 1730452835,
"transactionHash": "0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd",
"implementations": [
"eth:0x45fed11Ba70D4217545F18E27DDAF7D76Ff499f3"
]
},
{
"timestamp": 1747298447,
"transactionHash": "0x97789b6668d0a287b1f57bb6c8e23cce62308fb887139faeb0f06b77855995fd",
"implementations": [
"eth:0x0783Ee019C9b0f918A741469bD488A88827b3617"
]
},
{
"timestamp": 1747578311,
"transactionHash": "0x0ae99d24b294622e3d3868c8dca911a5936231ce1f97254ec0c6a6f65f7aa81c",
"implementations": [
"eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c"
]
},
{
"timestamp": 1774964687,
"transactionHash": "0xb132692b255fb1ff670b37d162af03de5151fa1e77811bf009ba276e4a9a2f36",
"implementations": [
"eth:0x6a4B15E4b0296B2ECE03Ee9Ed74E4A3E3ECA68D6"
]
},
{
"timestamp": 1777562051,
"transactionHash": "0xfcd6ca82025b847a3508db2d3c82327a19e3c4afda867acae8c09da147667036",
"implementations": [
"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752"
]
},
{
"timestamp": 1782739115,
"transactionHash": "0xae7122add731c935d54d726ebe542e7d4f9f7321e3bdf4ec794309f813d981f7",
"implementations": [
"eth:0x1A06832992785766a105838C95c1E13a0045AC85"
]
}
],
"description": "Facilitates secure cross-chain message passing by storing signals and state-root checkpoints. Bridge escrows and other applications use it to prove that a specific L1<->L2 signal or checkpointed state transition occurred via Merkle proofs. Pausing disables signal proof verification.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)\n * **pauser**: Taiko Multisig",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9e0a24964e5397B566c1ed39258e21aB5E35C77C#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9F9994Eb4Cb5200198FEfb470f8b50301662e696#code"
},
{
"name": "Multisig",
"isVerified": true,
"address": "eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x8510d389236d7213eE9B9C38CAaBc0aD24853C25"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746111707,
"transactionHash": "0x8acf74d966e6eb99972a4a73382cf42aa918d4715eaf4b587d1007f24edf5208",
"implementations": [
"eth:0x8510d389236d7213eE9B9C38CAaBc0aD24853C25"
]
}
],
"description": "Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n* Roles:\n * **dao**: DAO; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7dA1C25E915438720692bC55eb3a7170cA90321#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1#code"
},
{
"name": "PreconfWhitelist",
"isVerified": true,
"address": "eth:0xFD019460881e6EeC632258222393d5821029b2ac",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753275179,
"transactionHash": "0x2d127d401f9d22fd4c4f8c14773f2e98e9a3e87837f78bb1d2881a8fcb91cd59",
"implementations": [
"eth:0x86f0AeFA26A1447bbE62bd2bE1D30ff3353B88fB"
]
},
{
"timestamp": 1754913371,
"transactionHash": "0x1000b14e86d8db17931f65e877e2eb13cb3990d0a129eee1aff21ce6ba96d2cf",
"implementations": [
"eth:0x44eC275996BD69361EF062ed488882a58256CF11"
]
},
{
"timestamp": 1756244927,
"transactionHash": "0x27f89b30a14fdf2c6adb42c5722f4ac403eefde7d26f6a64bdfd4a86458a0c00",
"implementations": [
"eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc"
]
},
{
"timestamp": 1774964687,
"transactionHash": "0xb132692b255fb1ff670b37d162af03de5151fa1e77811bf009ba276e4a9a2f36",
"implementations": [
"eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149"
]
}
],
"description": "Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n* Roles:\n * **_ejectorManager**: Taiko Multisig\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **ejecters**: EOA 1, EOA 5\n * **operatorMapping**: EOA 2, EOA 6\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"description": "Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n* Roles:\n * **_ejectorManager**: Taiko Multisig\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **ejecters**: EOA 1, EOA 4\n * **operatorMapping**: EOA 5\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFD019460881e6EeC632258222393d5821029b2ac#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"isVerified": true,
"address": "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v6.1.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
}
]
},
"escrows": [
{
"address": "0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC",
"sinceTimestamp": 1714550603,
"tokens": [
"ETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab",
"sinceTimestamp": 1714550603,
"tokens": "*",
"chain": "ethereum",
"chainId": 1
}
],
"programHashes": [
{
"title": "Proposal program of Raiko2 v0.6.0",
"description": "Proves a Taiko Shasta proposal state transition with Raiko2.",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.6.0/guests/sp1/src/shasta_proposal.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.6.0\n```\nCommit hash should be `a9e88a4bd9e38383d601685d74e9d977531c909f`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all --force\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask -- build-guest all --force\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.6.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.6.0-guest-digests.json`, find the entry with `object_name: \"sp1_shasta_proposal\"` and `digest_source: \"vk_bn254\"`. Its `digest` field should match this program hash.\n\nReferences: [Raiko2 v0.6.0 release](https://github.com/taikoxyz/raiko2/releases/tag/v0.6.0) and [Taiko Proposal0019 Unzen hardfork bundle](https://github.com/taikoxyz/taiko-mono/blob/9bd8e263065be0c553e41c6d4a82f978bdce80ed/packages/protocol/script/layer1/proposals/Proposal0019.md) from [taiko-mono#21935](https://github.com/taikoxyz/taiko-mono/pull/21935).\n",
"hash": "0x00ad090221a8fa0f09e1be7a53feb67be010f01310d4b2314a69d10152ee1ce0"
},
{
"title": "Proposal program of Raiko2 v0.6.0",
"description": "Proves a Taiko Shasta proposal state transition with Raiko2.",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.6.0/guests/sp1/src/shasta_proposal.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.6.0\n```\nCommit hash should be `a9e88a4bd9e38383d601685d74e9d977531c909f`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all --force\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask -- build-guest all --force\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.6.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.6.0-guest-digests.json`, find the entry with `object_name: \"sp1_shasta_proposal\"` and `digest_source: \"vk_hash_bytes\"`. Its `digest` field should match this program hash.\n\nReferences: [Raiko2 v0.6.0 release](https://github.com/taikoxyz/raiko2/releases/tag/v0.6.0) and [Taiko Proposal0019 Unzen hardfork bundle](https://github.com/taikoxyz/taiko-mono/blob/9bd8e263065be0c553e41c6d4a82f978bdce80ed/packages/protocol/script/layer1/proposals/Proposal0019.md) from [taiko-mono#21935](https://github.com/taikoxyz/taiko-mono/pull/21935).\n",
"hash": "0x568481106a3e83c23c37cf4a3feb67be008780984352c8c514d3a20252ee1ce0"
},
{
"title": "Aggregation program of Raiko2 v0.6.0",
"description": "Aggregates Raiko2 proofs for multiple Taiko Shasta proposals.",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.6.0/guests/sp1/src/shasta_aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.6.0\n```\nCommit hash should be `a9e88a4bd9e38383d601685d74e9d977531c909f`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all --force\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask -- build-guest all --force\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.6.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.6.0-guest-digests.json`, find the entry with `object_name: \"sp1_shasta_aggregation\"` and `digest_source: \"vk_bn254\"`. Its `digest` field should match this program hash.\n\nReferences: [Raiko2 v0.6.0 release](https://github.com/taikoxyz/raiko2/releases/tag/v0.6.0) and [Taiko Proposal0019 Unzen hardfork bundle](https://github.com/taikoxyz/taiko-mono/blob/9bd8e263065be0c553e41c6d4a82f978bdce80ed/packages/protocol/script/layer1/proposals/Proposal0019.md) from [taiko-mono#21935](https://github.com/taikoxyz/taiko-mono/pull/21935).\n",
"hash": "0x000b11691352e55fcf64f62620cefaa700161600093f2751032fe71ea912264d"
},
{
"title": "Aggregation program of Raiko2 v0.6.0",
"description": "Aggregates Raiko2 proofs for multiple Taiko Shasta proposals.",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.6.0/guests/sp1/src/shasta_aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.6.0\n```\nCommit hash should be `a9e88a4bd9e38383d601685d74e9d977531c909f`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all --force\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask -- build-guest all --force\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.6.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.6.0-guest-digests.json`, find the entry with `object_name: \"sp1_shasta_aggregation\"` and `digest_source: \"vk_hash_bytes\"`. Its `digest` field should match this program hash.\n\nReferences: [Raiko2 v0.6.0 release](https://github.com/taikoxyz/raiko2/releases/tag/v0.6.0) and [Taiko Proposal0019 Unzen hardfork bundle](https://github.com/taikoxyz/taiko-mono/blob/9bd8e263065be0c553e41c6d4a82f978bdce80ed/packages/protocol/script/layer1/proposals/Proposal0019.md) from [taiko-mono#21935](https://github.com/taikoxyz/taiko-mono/pull/21935).\n",
"hash": "0x0588b48954b957f36c9ec4c40cefaa7000b0b00024fc9d44065fce3d2912264d"
},
{
"title": "Proposal program of Raiko2 v0.6.0",
"description": "Proves a Taiko Shasta proposal state transition with Raiko2.",
"proverSystemProject": "risc0",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.6.0/guests/risc0/src/shasta_proposal.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.6.0\n```\nCommit hash should be `a9e88a4bd9e38383d601685d74e9d977531c909f`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all --force\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask -- build-guest all --force\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.6.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.6.0-guest-digests.json`, find the entry with `object_name: \"risc0_shasta_proposal\"` and `digest_source: \"image_id\"`. Its `digest` field should match this program hash.\n\nReferences: [Raiko2 v0.6.0 release](https://github.com/taikoxyz/raiko2/releases/tag/v0.6.0) and [Taiko Proposal0019 Unzen hardfork bundle](https://github.com/taikoxyz/taiko-mono/blob/9bd8e263065be0c553e41c6d4a82f978bdce80ed/packages/protocol/script/layer1/proposals/Proposal0019.md) from [taiko-mono#21935](https://github.com/taikoxyz/taiko-mono/pull/21935).\n",
"hash": "0x5a818b4c7dc80e9ba85d55492c20c263c67238724e3982f76d15a158e501210b"
},
{
"title": "Aggregation program of Raiko2 v0.6.0",
"description": "Aggregates Raiko2 proofs for multiple Taiko Shasta proposals.",
"proverSystemProject": "risc0",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.6.0/guests/risc0/src/shasta_aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.6.0\n```\nCommit hash should be `a9e88a4bd9e38383d601685d74e9d977531c909f`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all --force\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask -- build-guest all --force\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.6.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.6.0-guest-digests.json`, find the entry with `object_name: \"risc0_shasta_aggregation\"` and `digest_source: \"image_id\"`. Its `digest` field should match this program hash.\n\nReferences: [Raiko2 v0.6.0 release](https://github.com/taikoxyz/raiko2/releases/tag/v0.6.0) and [Taiko Proposal0019 Unzen hardfork bundle](https://github.com/taikoxyz/taiko-mono/blob/9bd8e263065be0c553e41c6d4a82f978bdce80ed/packages/protocol/script/layer1/proposals/Proposal0019.md) from [taiko-mono#21935](https://github.com/taikoxyz/taiko-mono/pull/21935).\n",
"hash": "0x9cfcc1b34a98853c3c5873a4d456726e528246f7f03a4ea35f27c2543aa6e7f0"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": [
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97",
"eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF",
"eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C"
]
}
[
{
"id": "80ffa89e",
"date": "Tue, 15 Sep 2026 11:27:38 GMT",
"timestamp": 1789471567,
"description": "Operator changes.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.1:\n- \"eth:0x35376dD47C061Bc3b8c8e8d61987019e7ED58f06\"\n }\n```"
}
]
},
{
"id": "611ec5cc",
"date": "Tue, 01 Sep 2026 12:14:34 GMT",
"timestamp": 1788264785,
"description": "SC proposal moving to veto phase.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SignerList (Security Council) (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) [taiko/SignerList] {\n +++ description: A signer list for storing multisig members and their agents, stores the addresses of the Multisigs that use this signer list. Each signer delegates their permissions to their agent address that they can configure here.\n values.$members.0:\n- \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n+ \"eth:0xCf76A87E24FE2054DCF02a5f65eAc0F24A34c439\"\n }\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 38\n+ 39\n values.proposalIds.38:\n+ \"608479335948875503511285097395089134668700712998\"\n }\n```\n\n```diff\n contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n+ \"eth:0xFa92ff698D57f7B875570D9F59501812B843CD44\"\n }\n```"
}
]
},
{
"id": "7e3ed3be",
"date": "Thu, 27 Aug 2026 12:07:50 GMT",
"timestamp": 1787832377,
"description": "Add proposal that reduces the Security Council to a 4/5 multisig. The resulting Council is not a valid Security Council after the L2BEAT criteria: https://medium.com/l2beat/stages-update-security-council-requirements-4c79cea8ef52, https://forum.l2beat.com/t/stage-1-requirements-update-security-council-walkaway-test/412 .\n\nfull review of the proposal: https://gist.github.com/sekuba/b19aa30b123d7247280e96f5a49e5c15 .",
"isHighSeverity": true,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 37\n+ 38\n values.proposalIds.37:\n+ \"608325339122031231284005618251537221674155900965\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) [taiko/Multisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n+++ description: total standard proposal count.\n+++ severity: HIGH\n values.proposalCount:\n- 23\n+ 24\n }\n```"
}
]
},
{
"id": "3d4e11d3",
"date": "Tue, 25 Aug 2026 08:45:40 GMT",
"timestamp": 1787647451,
"description": "Proposal 22: https://gist.github.com/sekuba/e325f390dbe8a73ebc53c1ad95e6c48d bringing proving efficiency.\n\nProghashes are reproduced.",
"isHighSeverity": true,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) [taiko/Multisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n+++ description: total standard proposal count.\n+++ severity: HIGH\n values.proposalCount:\n- 22\n+ 23\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.1:\n- \"eth:0x2267C7246523191b8bf7615B86b3bdEE612b7D9E\"\n+ \"eth:0x35376dD47C061Bc3b8c8e8d61987019e7ED58f06\"\n }\n```"
}
]
},
{
"id": "7cf3aab6",
"date": "Mon, 17 Aug 2026 08:31:35 GMT",
"timestamp": 1786955407,
"description": "Multisig changes.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Taiko Foundation Treasury Multisig (eth:0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xA1D62c7df45847089cfB052396Abe4cDa7879d25\"\n values.$members.1:\n+ \"eth:0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a\"\n values.$members.0:\n- \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n+ \"eth:0x7A5299927F93ffCf33cf381CB0C03C2486b9299A\"\n values.$threshold:\n- 2\n+ 3\n values.multisigThreshold:\n- \"2 of 3 (67%)\"\n+ \"3 of 5 (60%)\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.2:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```"
}
]
},
{
"id": "7b630871",
"date": "Tue, 04 Aug 2026 10:17:48 GMT",
"timestamp": 1785837430,
"description": "This is the onchain deployment of the [Unzen upgrade](https://dao.taiko.xyz/plugins/community-proposals/#/proposals/36), which will be activated on Aug 6.\n\nMainnetInbox diff: https://disco.l2beat.com/diff/eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01/eth:0x5253D4C91e80b880DdB54B78E74082Abe066F6b9\n- adds back forced txs\n- no self-proposal though\n\nZK verifier diff: https://disco.l2beat.com/diff/eth:0x71808449A6217898d602c1a392D95b931Ac5d878/eth:0x7284aaC05555Ae6559bdAd8B4221eC9584254Eec\n- ZK proof always required: Taiko is a Stage 0 validity rollup\n\nadd TEE and ZK program hashes for the new Unzen programs (ZK is reproduced [here](https://gist.github.com/sekuba/754362718c457edaba93d71dc073b91e))\n\nL2BEAT SC member safe moves to 1/1 (single signer: sekuba).",
"isHighSeverity": true,
"changeCount": 33,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoRisc0Verifier (eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b) [taiko/Risc0Verifier] {\n +++ description: Gating router contract to verify batches using RISC Zero.\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.0:\n- \"0xa38d1fac63aa6a553fdb6fea01fdc96534564c31de916aaafe5f5a1dd3bb908b\"\n+ \"0x5a818b4c7dc80e9ba85d55492c20c263c67238724e3982f76d15a158e501210b\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.1:\n- \"0x868b5154ae01a9a045051da2d7ba2e21d4132c7ec096da343fa24149407fefef\"\n+ \"0x9cfcc1b34a98853c3c5873a4d456726e528246f7f03a4ea35f27c2543aa6e7f0\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261) [taiko/AutomataDcapV3Attestation] {\n +++ description: Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.0:\n- \"0xbefb2c7ec44cefe57f4ff0ca815a8b8f15e05631bf3abe36cbc12d28f778fa36\"\n+ \"0x2d2216efbe9d8e80ba24b86606ccd5ce9faf11033d31ad9e5d3c5c89965c8a57\"\n }\n```\n\n```diff\n EOA (eth:0x3D4997AAC0834BEb5ede861c424807Aa3F29b5bB) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2\",\"description\":\"configure an agent address that represents this entity in the Security Council\",\"role\":\".multisigSigners\",\"via\":[{\"address\":\"eth:0xf1cF63589A1e012F9124182c9eAa36B5333e5f06\"}]}]\n }\n```\n\n```diff\n contract MainnetInbox (eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f) [taiko/MainnetInbox] {\n +++ description: The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. Users can enqueue forced inclusions by publishing an L1 blob. Once an inclusion is due, subsequent proposals must process it, but proposing remains restricted by the configured proposer checker. If the configured prover whitelist is non-empty, proofs from non-whitelisted provers revert.\n template:\n- \"taiko/MainnetInboxRestricted\"\n+ \"taiko/MainnetInbox\"\n sourceHashes.1:\n- \"0xd6d3af78f692a4c928f8e1b046eca6884ed0d15d120df586c3509c802795d433\"\n+ \"0xa0a8e3ebc196ae2703fc2c0dc5bc16012644bbcd103c34bf6241389ccadc0fd0\"\n description:\n- \"The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. Forced inclusion submission and processing are disabled in this implementation. Proposals must come from the configured proposer checker, and if the configured prover whitelist is non-empty, proofs from non-whitelisted provers revert; the configured permissionless proving delay is not used to open proving.\"\n+ \"The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. Users can enqueue forced inclusions by publishing an L1 blob. Once an inclusion is due, subsequent proposals must process it, but proposing remains restricted by the configured proposer checker. If the configured prover whitelist is non-empty, proofs from non-whitelisted provers revert.\"\n values.$implementation:\n- \"eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01\"\n+ \"eth:0x5253D4C91e80b880DdB54B78E74082Abe066F6b9\"\n values.$pastUpgrades.3:\n+ [\"2026-08-03T12:46:23.000Z\",\"0x64875b5b84b41b520551854696c0ce408fb3e0aa2ede604cc95a5919b6140ea7\",[\"eth:0x5253D4C91e80b880DdB54B78E74082Abe066F6b9\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.getConfig.proofVerifier:\n- \"eth:0x71808449A6217898d602c1a392D95b931Ac5d878\"\n+ \"eth:0x7284aaC05555Ae6559bdAd8B4221eC9584254Eec\"\n+++ severity: HIGH\n values.getCurrentForcedInclusionFee:\n- 1020000\n+ 1000000\n values.impl:\n- \"eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01\"\n+ \"eth:0x5253D4C91e80b880DdB54B78E74082Abe066F6b9\"\n values.noForce:\n- [true]\n fieldMeta.noForce:\n- {\"severity\":\"HIGH\",\"description\":\"Forced inclusions are disabled in this implementation: saveForcedInclusion() always reverts and propose() only accepts zero forced inclusions.\"}\n implementationNames.eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01:\n- \"MainnetInbox\"\n implementationNames.eth:0x5253D4C91e80b880DdB54B78E74082Abe066F6b9:\n+ \"MainnetInbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetVerifier (eth:0x71808449A6217898d602c1a392D95b931Ac5d878) [taiko/MainnetVerifier]\n +++ description: Immutable verifier policy contract for Taiko mainnet. Each accepted proof must contain exactly two ordered sub-proofs: either SGX-GETH plus SGX-RETH/RISC0-RETH/SP1-RETH, or SGX-RETH plus SGX-GETH/RISC0-RETH/SP1-RETH. It routes each sub-proof to the corresponding downstream verifier.\n```\n\n```diff\n contract TaikoSP1Verifier (eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F) [taiko/SP1Verifier] {\n +++ description: Gating router contract to verify batches using SP1.\n+++ description: Taiko-specific SP1 program verification keys trusted by this verifier gateway. Only proofs for these programs can be successfully verified.\n+++ severity: HIGH\n values.trustedPrograms.0:\n- \"0x007594632ec31fae9d44799b97316fcbcaa3ff6b5db268c7a5d8025b3bbb487e\"\n+ \"0x00ad090221a8fa0f09e1be7a53feb67be010f01310d4b2314a69d10152ee1ce0\"\n+++ description: Taiko-specific SP1 program verification keys trusted by this verifier gateway. Only proofs for these programs can be successfully verified.\n+++ severity: HIGH\n values.trustedPrograms.1:\n- \"0x3aca319730c7eba7288f33727316fcbc551ffb5a76c9a31e4bb004b63bbb487e\"\n+ \"0x568481106a3e83c23c37cf4a3feb67be008780984352c8c514d3a20252ee1ce0\"\n+++ description: Taiko-specific SP1 program verification keys trusted by this verifier gateway. Only proofs for these programs can be successfully verified.\n+++ severity: HIGH\n values.trustedPrograms.2:\n- \"0x00e91cb391c22d6fd015e4c6041dbbe6efb2d8be6d4046eec28f12acba5a17bc\"\n+ \"0x000b11691352e55fcf64f62620cefaa700161600093f2751032fe71ea912264d\"\n+++ description: Taiko-specific SP1 program verification keys trusted by this verifier gateway. Only proofs for these programs can be successfully verified.\n+++ severity: HIGH\n values.trustedPrograms.3:\n- \"0x748e59c8708b5bf402bc98c041dbbe6e7d96c5f335011bbb051e25593a5a17bc\"\n+ \"0x0588b48954b957f36c9ec4c40cefaa7000b0b00024fc9d44065fce3d2912264d\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) [taiko/AutomataDcapV3Attestation] {\n +++ description: Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.0:\n- \"0xdccd8f30ea4a137ddfa63d743e3aa7c7a8e80585912d19c4b66f7d8d6098bec4\"\n+ \"0x90c79e65d6d0f83d658ff96cd0ef1204438f20b406c93cf1d4fafa0cff29842e\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.1:\n- \"0x92dd96a170d1ffb998afa210b3ef8af8c408ab76c4717e0eb8076d4a5da4e740\"\n+ \"0x041cadb0541bf8249c368482172d218608f3693975b65f74beb2ed6f0044f951\"\n }\n```\n\n```diff\n contract Gustavo Gonzalez Taiko (eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n+ \"eth:0xCf76A87E24FE2054DCF02a5f65eAc0F24A34c439\"\n }\n```\n\n```diff\n contract L2BEAT (eth:0xf1cF63589A1e012F9124182c9eAa36B5333e5f06) [GnosisSafe] {\n +++ description: None\n values.$members.1:\n- \"eth:0x6dcB04fCC1c597DAFad86e2886bE463d53CaFAdf\"\n values.$threshold:\n- 2\n+ 1\n values.multisigThreshold:\n- \"2 of 2 (100%)\"\n+ \"1 of 1 (100%)\"\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2\",\"description\":\"configure an agent address that represents this entity in the Security Council\",\"role\":\".multisigSigners\"}]\n directlyReceivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2\",\"description\":\"configure an agent address that represents this entity in the Security Council\",\"role\":\".multisigSigners\"}]\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.0:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.operatorMapping.2:\n- \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n+ \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract ZkRequiredVerifier (eth:0x7284aaC05555Ae6559bdAd8B4221eC9584254Eec) [taiko/ZkRequiredVerifier]\n +++ description: Immutable verifier policy contract for Taiko mainnet. Every accepted proof contains exactly two ordered sub-proofs and at least one must be a ZK proof. Accepted pairs are SGX-GETH or SGX-RETH with RISC0-RETH or SP1-RETH, and RISC0-RETH with SP1-RETH. The SGX-GETH plus SGX-RETH pair is not accepted.\n```"
}
]
},
{
"id": "ab779976",
"date": "Wed, 29 Jul 2026 11:40:03 GMT",
"timestamp": 1785325120,
"description": "Operator rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.1:\n- \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.operatorMapping.2:\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n }\n```"
}
]
},
{
"id": "bce3eb0a",
"date": "Thu, 23 Jul 2026 13:54:23 GMT",
"timestamp": 1784814782,
"description": "A third preconfirmation operator was added to the whitelist.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.2:\n+ \"eth:0x2267C7246523191b8bf7615B86b3bdEE612b7D9E\"\n }\n```"
}
]
},
{
"id": "c441b055",
"date": "Fri, 17 Jul 2026 07:47:14 GMT",
"timestamp": 1784274333,
"description": "One Security Council agent is changed. The [Unzen upgrade proposal](https://dao.taiko.xyz/plugins/community-proposals/#/proposals/36) moves into the optimistic public phase.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SignerList (Security Council) (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) [taiko/SignerList] {\n +++ description: A signer list for storing multisig members and their agents, stores the addresses of the Multisigs that use this signer list. Each signer delegates their permissions to their agent address that they can configure here.\n values.$members.4:\n- \"eth:0xbC40317A69CB1D1aF2CBcfE32C8B7a6840Dc287a\"\n+ \"eth:0x4236f57E9dBc238878EFac4AeF0A16D4dD06DC1A\"\n }\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 36\n+ 37\n values.proposalIds.36:\n+ \"607065748551507217783827454409519139164457533476\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) [taiko/Multisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n+++ description: total standard proposal count.\n+++ severity: HIGH\n values.proposalCount:\n- 21\n+ 22\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.2:\n- \"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\"\n }\n```"
}
]
},
{
"id": "061d0317",
"date": "Wed, 08 Jul 2026 11:24:06 GMT",
"timestamp": 1783509666,
"description": "Quota changes 150K -> 250K per day for stables (USDT and USDC).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract QuotaManager (eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC) [taiko/QuotaManager] {\n +++ description: Defines withdrawal quotas for ETH and ERC20 releases from the shared bridge. A token quota of zero means unlimited withdrawals for that token.\n values.tokenQuotas.3.quota:\n- \"150,000\"\n+ \"250,000\"\n values.tokenQuotas.4.quota:\n- \"150,000\"\n+ \"250,000\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.2:\n+ \"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\"\n }\n```"
}
]
},
{
"id": "08727af4",
"date": "Thu, 02 Jul 2026 08:00:24 GMT",
"timestamp": 1782979130,
"description": "Bridges unpaused. Taiko is live again, without forced transactions or proposer fallback.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SignerList (Security Council) (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) [taiko/SignerList] {\n +++ description: A signer list for storing multisig members and their agents, stores the addresses of the Multisigs that use this signer list. Each signer delegates their permissions to their agent address that they can configure here.\n values.$members.4:\n- \"eth:0x4236f57E9dBc238878EFac4AeF0A16D4dD06DC1A\"\n+ \"eth:0xbC40317A69CB1D1aF2CBcfE32C8B7a6840Dc287a\"\n }\n```\n\n```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) [taiko/EmergencyMultisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: total count of encrypted emergency proposals created.\n+++ severity: HIGH\n values.proposalCount:\n- 34\n+ 35\n }\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 35\n+ 36\n values.proposalIds.35:\n+ \"606707631305171219093581685850458871248271179811\"\n }\n```\n\n```diff\n contract MainnetERC20Vault (eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) [taiko/SharedERC20Vault] {\n +++ description: Shared vault for Taiko chains for bridged ERC20 tokens. Pausing stops token sends, message-triggered releases, and recalls. Released or minted tokens are subject to the configured quota manager.\n+++ severity: HIGH\n values.paused:\n- true\n+ false\n }\n```\n\n```diff\n contract MainnetBridge (eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) [taiko/TaikoBridge] {\n +++ description: Shared bridge escrow for Taiko chains for bridged ETH and arbitrary bridge messages. Pausing stops sending, processing, recalling, retrying, and failing messages. ETH released from the bridge is subject to the configured quota manager.\n+++ severity: HIGH\n values.paused:\n- true\n+ false\n }\n```"
}
]
},
{
"id": "d73e8809",
"date": "Tue, 30 Jun 2026 14:13:09 GMT",
"timestamp": 1782824701,
"description": "MainnetInbox is upgraded to the restricted implementation with forced inclusions disabled; proposals are gated by PreconfWhitelist with no fallback proposer path, proving routes through MainnetVerifier, and bridge/vault releases are governed by QuotaManager.\n\ndiffs:\n- over all contracts: unrelated formatting changes and hardcoding of addresses instead of using the resolver\n- signalService: https://disco.l2beat.com/diff/eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752/eth:0x1A06832992785766a105838C95c1E13a0045AC85 adds immutable pauser/unpause and `VERSION` invalidates all old cache + checkpoints\n- MainnetBridge: https://disco.l2beat.com/diff/eth:0x2705B12a971dA766A3f9321a743d61ceAD67dA2F/eth:0x1c94D798CFA08F396E5BA9F81697289c53273381 quota changes and init3 sets three message hashes (0x9972, 0xf299, 0xea26) to DONE (currently RETRYABLE)\n- MainnetERC20Vault: https://disco.l2beat.com/diff/eth:0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63/eth:0x024253C6FDC27d3161aFd43fb0241411A28dDc3c quota changes\n- MainnetInbox: https://disco.l2beat.com/diff/eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098/eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01 (init2/rollback to `_lastFinalizedProposalId = 18051`, `lastFinalizedBlockHash = 0x64c2ada556b6862d2c8796e0f709c454fede9d03908711a9f04d9f9f9dcce470`, disable forced inclusion)\n- MainnetVerifier: https://disco.l2beat.com/diff/eth:0x9cAa4948381590900FCdd8a4F06EB24138eD665d/eth:0x71808449A6217898d602c1a392D95b931Ac5d878 pointers changes only\n- sgxgeth: https://disco.l2beat.com/diff/eth:0x08568Df252ecf37D6C3eFD24f6ca3688118697F1/eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee add registrar `0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F` (whitelisted `registerInstance` caller), add `SGX_FORBIDDEN_ATTRIBUTE_MASK` to blacklist debug mode\n- sgxreth: https://disco.l2beat.com/diff/eth:0x08568Df252ecf37D6C3eFD24f6ca3688118697F1/eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee same as above\n- sp1RethVerifier: https://disco.l2beat.com/diff/eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6/eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F no source diff, but removes all trusted vkeys and adds four new ones\n- risc0RethVerifier: all image ids removed, added two new ones (`0xa38d1fac63aa6a553fdb6fea01fdc96534564c31de916aaafe5f5a1dd3bb908b`,`0x868b5154ae01a9a045051da2d7ba2e21d4132c7ec096da343fa24149407fefef`)\n- dcap 0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261(geth): `mrSigners = ['0x48fa5bbad91d274735d238715913c8712a7505bb6d0dd832764bedb46d587013']`, `mrEnclaves = ['0xbefb2c7ec44cefe57f4ff0ca815a8b8f15e05631bf3abe36cbc12d28f778fa36']\n- dcap 0x8d7C954960a36a7596d7eA4945dDf891967ca8A3(reth): `mrSigners = ['0x48fa5bbad91d274735d238715913c8712a7505bb6d0dd832764bedb46d587013']`, `mrEnclaves = ['0xdccd8f30ea4a137ddfa63d743e3aa7c7a8e80585912d19c4b66f7d8d6098bec4', '0x92dd96a170d1ffb998afa210b3ef8af8c408ab76c4717e0eb8076d4a5da4e740']\n- all other enclaves and the old signer are removed\n\nProgram hashes source used: taikoxyz/raiko2 v0.5.1, commit b08f4c57cd69a0f8dc1316a21f4ce4b08eddbebe. Regenerated values match exactly:\n```\n risc0 aggregation image_id 0x868b5154ae01a9a045051da2d7ba2e21d4132c7ec096da343fa24149407fefef\n risc0 proposal image_id 0xa38d1fac63aa6a553fdb6fea01fdc96534564c31de916aaafe5f5a1dd3bb908b\n sp1 aggregation vk_bn254 0x00e91cb391c22d6fd015e4c6041dbbe6efb2d8be6d4046eec28f12acba5a17bc\n sp1 aggregation vk_hash_bytes 0x748e59c8708b5bf402bc98c041dbbe6e7d96c5f335011bbb051e25593a5a17bc\n sp1 proposal vk_bn254 0x007594632ec31fae9d44799b97316fcbcaa3ff6b5db268c7a5d8025b3bbb487e\n sp1 proposal vk_hash_bytes 0x3aca319730c7eba7288f33727316fcbc551ffb5a76c9a31e4bb004b63bbb487e\n```",
"isHighSeverity": true,
"changeCount": 125,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoRisc0Verifier (eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b) [taiko/Risc0Verifier] {\n +++ description: Gating router contract to verify batches using RISC Zero.\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.0:\n- \"0x779c032b91d0730ef13b26eafa47b32df7ebdaa4ed766d587fe905530afa2544\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.1:\n- \"0x26abb0237d10e891443e2a76bd3c1f6704c1ad03c07cb2165f4afcfc64b3cee7\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.2:\n- \"0x46efe5e0c74976548ee6856789fbfb4929b8f2f9118a119c57ced6e1062e727b\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.3:\n- \"0xdfbce2039ad8b78b236b5a9dceba5d8cee0d9e4638fc8f1fe11a0b2d8bfa039e\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.4:\n- \"0xbee1be4cbe2bdf9b0034a1ab6572061a76019e73189ff96322e58ab229b75f92\"\n+ \"0xa38d1fac63aa6a553fdb6fea01fdc96534564c31de916aaafe5f5a1dd3bb908b\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.5:\n- \"0xcecc85819e15d173c2991577727525b136e820728f7aaaede612f1281cac2249\"\n+ \"0x868b5154ae01a9a045051da2d7ba2e21d4132c7ec096da343fa24149407fefef\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SgxVerifier (eth:0x08568Df252ecf37D6C3eFD24f6ca3688118697F1) [taiko/SgxVerifier]\n +++ description: Verifier contract for SGX proven blocks. Registered SGX instances can sign accepted proofs until their instance expiry.\n```\n\n```diff\n contract SignerList (Security Council) (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) [taiko/SignerList] {\n +++ description: A signer list for storing multisig members and their agents, stores the addresses of the Multisigs that use this signer list. Each signer delegates their permissions to their agent address that they can configure here.\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x08568Df252ecf37D6C3eFD24f6ca3688118697F1\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.4:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.6:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F\",\"description\":\"manage trusted SP1 program verification keys.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.7:\n- {\"permission\":\"interact\",\"from\":\"eth:0x91f67118DD47d502B1f0C354D0611997B022f29E\",\"description\":\"update token withdrawal quotas and the quota refill period.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.8.description:\n- \"manage trusted SP1 program verification keys.\"\n+ \"update the contract address registered for any chainId-name pair.\"\n receivedPermissions.8.from:\n- \"eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6\"\n+ \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.12:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.13:\n- {\"permission\":\"interact\",\"from\":\"eth:0xa1018Ba2e22139076f91dA2A856B2CAB22d968F6\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.17:\n- {\"permission\":\"interact\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n receivedPermissions.24.from:\n- \"eth:0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n+ \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.30:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"},{\"address\":\"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261\",\"delay\":604800,\"condition\":\"(emergency proposals bypass the delay)\"}]}\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261) [taiko/AutomataDcapV3Attestation] {\n +++ description: Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.0:\n- \"0xfda8bb1fc9938700c25353c0a5fabc96a238e69ce8e35f08e558831a20db33a6\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.1:\n- \"0x692c8624d30a327340b0dfbb67203e941175ac700d1a058c717e5269103d37e6\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.2:\n- \"0x3e6113a23bbdf9231520153253047d02db8f1dd38a9b52914ab7943278f52db0\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.3:\n- \"0xd1f43acede51c4eb2f66b86cce52682edad80b810b9d87fba3a9b67254c91b77\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.4:\n- \"0x398be8424f27802b38e6e8d3413bf6a0b187349e68522a218f5bfc00279006ac\"\n+ \"0xbefb2c7ec44cefe57f4ff0ca815a8b8f15e05631bf3abe36cbc12d28f778fa36\"\n+++ description: Trusted SGX signer measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrSigners.0:\n- \"0xca0583a715534a8c981b914589a7f0dc5d60959d9ae79fb5353299a4231673d5\"\n+ \"0x48fa5bbad91d274735d238715913c8712a7505bb6d0dd832764bedb46d587013\"\n }\n```\n\n```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) [taiko/EmergencyMultisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: total count of encrypted emergency proposals created.\n+++ severity: HIGH\n values.proposalCount:\n- 33\n+ 34\n }\n```\n\n```diff\n contract MainnetInbox (eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f) [taiko/MainnetInboxRestricted] {\n +++ description: The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. Forced inclusion submission and processing are disabled in this implementation. Proposals must come from the configured proposer checker, and if the configured prover whitelist is non-empty, proofs from non-whitelisted provers revert; the configured permissionless proving delay is not used to open proving.\n sourceHashes.1:\n- \"0xc8fb004590f1c60e5c9735be36da74676fdc93286aa44749d3156ad33bc416e7\"\n+ \"0xd6d3af78f692a4c928f8e1b046eca6884ed0d15d120df586c3509c802795d433\"\n values.$implementation:\n- \"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098\"\n+ \"eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01\"\n values.$pastUpgrades.2:\n+ [\"2026-06-29T13:18:35.000Z\",\"0xae7122add731c935d54d726ebe542e7d4f9f7321e3bdf4ec794309f813d981f7\",[\"eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.getConfig.proofVerifier:\n- \"eth:0x9cAa4948381590900FCdd8a4F06EB24138eD665d\"\n+ \"eth:0x71808449A6217898d602c1a392D95b931Ac5d878\"\n values.impl:\n- \"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098\"\n+ \"eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01\"\n implementationNames.eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098:\n- \"MainnetInbox\"\n implementationNames.eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01:\n+ \"MainnetInbox\"\n }\n```\n\n```diff\n contract TaikoDAOController (eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) [taiko/TaikoDAOController] {\n +++ description: Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n directlyReceivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x08568Df252ecf37D6C3eFD24f6ca3688118697F1\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\"}\n directlyReceivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\"}\n directlyReceivedPermissions.4:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F\",\"description\":\"manage trusted SP1 program verification keys.\",\"role\":\".owner\"}\n directlyReceivedPermissions.5:\n- {\"permission\":\"interact\",\"from\":\"eth:0x91f67118DD47d502B1f0C354D0611997B022f29E\",\"description\":\"update token withdrawal quotas and the quota refill period.\",\"role\":\".owner\"}\n directlyReceivedPermissions.6.description:\n- \"manage trusted SP1 program verification keys.\"\n+ \"update the contract address registered for any chainId-name pair.\"\n directlyReceivedPermissions.6.from:\n- \"eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6\"\n+ \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n directlyReceivedPermissions.8:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\"}\n directlyReceivedPermissions.9:\n- {\"permission\":\"interact\",\"from\":\"eth:0xa1018Ba2e22139076f91dA2A856B2CAB22d968F6\",\"description\":\"add SGX instances without DCAP attestation and delete registered instances.\",\"role\":\".owner\"}\n directlyReceivedPermissions.12:\n- {\"permission\":\"interact\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n directlyReceivedPermissions.18.from:\n- \"eth:0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n+ \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n directlyReceivedPermissions.23:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) [taiko/AutomataDcapV3Attestation] {\n +++ description: Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.0:\n- \"0xdfcb4fca3073e3f3a90b05d328688c32619d56f26789c0a9797aa10e765a7807\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.1:\n- \"0xbdec26abd36fde2cfbb8db7a0793a9346b11bd558b39890407d458500711c88c\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.2:\n- \"0xa5f741bfed254a1e21738d429e7bd074e25918af7f71fbe1e0135c3974b06e00\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.3:\n- \"0x3551faac39edee5abfaa19ab065c217db1485aebae255a9edddf6dfff6b29b52\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.4:\n- \"0x13ea9869632ac20b176ae0fdc39998b2a644a695db024ef7fe0e4b3c59084160\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.5:\n- \"0xa096348d480eb0474f5eab182671933c029545521960d87d4e49283005809be9\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.6:\n- \"0xa4eedfc6484494d4c08bfb9b9dd887c6e0540ba9d8ee207fe0e16814852e3356\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.7:\n- \"0xc90e5d2e39d1d3f8397a6048c32ba50139d1577c28985e1f7638785935f41734\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.8:\n- \"0x9546301721e2ea111ab0f79b6e529d6bb6c486ac98bcf7739429ad06c09db63d\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.9:\n- \"0x3f71cf178a032816c2731a43aef746c464a5326e891dc881773ec2b599b2cf0a\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.10:\n- \"0xdcd483d3406d9b1871bb92420f5a080c4372e0d6b8522a4a2cb91a0f736669c6\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.11:\n- \"0x3b589538b775ddbfc5fb028167ff846116159e6687aef9f849ca5a70a7871ea5\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.12:\n- \"0xb09f9005e4612526e378466b5c16ab6028478e81c085812d6ed37166c4cda10e\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.13:\n- \"0x6e43c1d575b5b785d0f6259dfac44998c6f0c164864f9f98270fb740c14eb943\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.14:\n- \"0x631778b0d420d2d0bba4c730b0fd74857afeefb3429371ae97ab450e40ca127e\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.15:\n- \"0x482b06132c4306ea55bc34ff90d46532ff4151f473dbfe4d2cb2442af2ff288b\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.16:\n- \"0xca349ba0dfeced0bd837a56c97417c11e51d490eec4ff08321dd130776a413bd\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.17:\n- \"0xe2375b778ee5700a73c7fcf449abb4a62e00127d324b6694898073ba5aff4f5c\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.18:\n- \"0x67742ab222790e20ba3656b3b294645a3384a5df5a770b86f8c06529523d990e\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.19:\n- \"0xddda8ba9c9153e3d2f680f2f53adbc774a9753cc55d40dde4cb02aef38c42109\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.20:\n- \"0xe5774b71990b0d5f3eca8d4d22546764dd9549c743a1a6d4d4863d97f6b8c67a\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.21:\n- \"0x605ad10c1a56ed7289f198d64a39a952cd3b8a0bed3fcb19c8301c1847dc3a2f\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.22:\n- \"0x59bf7d48610cc8a56ba8a390b68c31a1443297869b174aeacac67dc152820f0e\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.23:\n- \"0xf285b7cbd78d2b96cdc54cfea3e47d8f510a4b4f91b719c97f8bbb90974f805b\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.24:\n- \"0x8f73135b83a84126c7fff37ea02f9363e134aea0f6446b13e198b20d94e75099\"\n+ \"0xdccd8f30ea4a137ddfa63d743e3aa7c7a8e80585912d19c4b66f7d8d6098bec4\"\n+++ description: Trusted SGX enclave measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrEnclaves.25:\n- \"0x72258d3cae0e9901d0efc1f630064f1c44f11950bd25fee0b62ec8df84532da2\"\n+ \"0x92dd96a170d1ffb998afa210b3ef8af8c408ab76c4717e0eb8076d4a5da4e740\"\n+++ description: Trusted SGX signer measurements accepted by attestation verification.\n+++ severity: HIGH\n values.mrSigners.0:\n- \"0xca0583a715534a8c981b914589a7f0dc5d60959d9ae79fb5353299a4231673d5\"\n+ \"0x48fa5bbad91d274735d238715913c8712a7505bb6d0dd832764bedb46d587013\"\n }\n```\n\n```diff\n- Status: DELETED\n contract QuotaManager (eth:0x91f67118DD47d502B1f0C354D0611997B022f29E) [taiko/QuotaManager]\n +++ description: Defines withdrawal quotas for ETH and ERC20 releases from the shared bridge. A token quota of zero means unlimited withdrawals for that token.\n```\n\n```diff\n- Status: DELETED\n contract TaikoSP1Verifier (eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6) [taiko/SP1Verifier]\n +++ description: Gating router contract to verify batches using SP1.\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 34\n+ 35\n values.proposalIds.34:\n+ \"606634685654739111357042014770979344991156961314\"\n }\n```\n\n```diff\n contract MainnetERC20Vault (eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) [taiko/SharedERC20Vault] {\n +++ description: Shared vault for Taiko chains for bridged ERC20 tokens. Pausing stops token sends, message-triggered releases, and recalls. Released or minted tokens are subject to the configured quota manager.\n sourceHashes.1:\n- \"0x4e0dd5fa918b3b1229feb85baaac3bf6d7fffd21febcdeb7a4f3bf62e22c9031\"\n+ \"0x9b624be34d3f91047fd5ee6a056fd5d81ed43c3ba757e53661aeb4e4dabfe4aa\"\n values.$implementation:\n- \"eth:0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63\"\n+ \"eth:0x024253C6FDC27d3161aFd43fb0241411A28dDc3c\"\n values.$pastUpgrades.8:\n+ [\"2026-06-29T13:18:35.000Z\",\"0xae7122add731c935d54d726ebe542e7d4f9f7321e3bdf4ec794309f813d981f7\",[\"eth:0x024253C6FDC27d3161aFd43fb0241411A28dDc3c\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.addressManager:\n- \"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n values.impl:\n- \"eth:0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63\"\n+ \"eth:0x024253C6FDC27d3161aFd43fb0241411A28dDc3c\"\n values.lastUnpausedAt:\n- 0\n+++ description: Quota manager that rate-limits ERC20 tokens released or minted by this vault.\n values.quotaManager:\n+ \"eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC\"\n values.resolver:\n+ \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n implementationNames.eth:0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63:\n- \"MainnetERC20Vault\"\n implementationNames.eth:0x024253C6FDC27d3161aFd43fb0241411A28dDc3c:\n+ \"MainnetERC20Vault\"\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC\",\"description\":\"consume ERC20 withdrawal quota when tokens leave the vault.\",\"role\":\".erc20Vault\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetVerifier (eth:0x9cAa4948381590900FCdd8a4F06EB24138eD665d) [taiko/MainnetVerifier]\n +++ description: Immutable verifier policy contract for Taiko mainnet. Each accepted proof must contain exactly two ordered sub-proofs: either SGX-GETH plus SGX-RETH/RISC0-RETH/SP1-RETH, or SGX-RETH plus SGX-GETH/RISC0-RETH/SP1-RETH. It routes each sub-proof to the corresponding downstream verifier.\n```\n\n```diff\n contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee\",\"description\":\"register SGX instances after DCAP attestation verification.\",\"role\":\".registrar\"}\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8\",\"description\":\"register SGX instances after DCAP attestation verification.\",\"role\":\".registrar\"}\n receivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\",\"description\":\"pause and unpause signal proof verification.\",\"role\":\".pauser\"}\n receivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC\",\"description\":\"update token withdrawal quotas and the quota refill period.\",\"role\":\".owner\"}\n receivedPermissions.4:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\",\"description\":\"pause and unpause bridge message flows and fund the bridge through direct ETH transfers.\",\"role\":\".pauser\"}\n }\n```\n\n```diff\n contract SignalService (eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) [taiko/SignalService] {\n +++ description: Facilitates secure cross-chain message passing by storing signals and state-root checkpoints. Bridge escrows and other applications use it to prove that a specific L1<->L2 signal or checkpointed state transition occurred via Merkle proofs. Pausing disables signal proof verification.\n sourceHashes.1:\n- \"0x20f8b06e752acd9eaddb6745d7eba47d69302f638a83d0db11476c03ece409d5\"\n+ \"0xfd960cdf5013fd75aa9b95c2a792457825615084b91ef437440d93599aba9de8\"\n values.$implementation:\n- \"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752\"\n+ \"eth:0x1A06832992785766a105838C95c1E13a0045AC85\"\n values.$pastUpgrades.10:\n+ [\"2026-06-29T13:18:35.000Z\",\"0xae7122add731c935d54d726ebe542e7d4f9f7321e3bdf4ec794309f813d981f7\",[\"eth:0x1A06832992785766a105838C95c1E13a0045AC85\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.impl:\n- \"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752\"\n+ \"eth:0x1A06832992785766a105838C95c1E13a0045AC85\"\n values.pauser:\n+ \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n values.VERSION:\n+ 1\n implementationNames.eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752:\n- \"SignalService\"\n implementationNames.eth:0x1A06832992785766a105838C95c1E13a0045AC85:\n+ \"SignalService\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SgxVerifier (eth:0xa1018Ba2e22139076f91dA2A856B2CAB22d968F6) [taiko/SgxVerifier]\n +++ description: Verifier contract for SGX proven blocks. Registered SGX instances can sign accepted proofs until their instance expiry.\n```\n\n```diff\n contract MainnetBridge (eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) [taiko/TaikoBridge] {\n +++ description: Shared bridge escrow for Taiko chains for bridged ETH and arbitrary bridge messages. Pausing stops sending, processing, recalling, retrying, and failing messages. ETH released from the bridge is subject to the configured quota manager.\n sourceHashes.1:\n- \"0xa98023db33dc6ad6957a1c18e9e67712facad7f801f9437a6b05cf48aca80135\"\n+ \"0x61b87867a3f041292eb5da7940c9fc5d33aee32c063a7cf1696beb6eafac4a2b\"\n values.$implementation:\n- \"eth:0x2705B12a971dA766A3f9321a743d61ceAD67dA2F\"\n+ \"eth:0x1c94D798CFA08F396E5BA9F81697289c53273381\"\n values.$pastUpgrades.12:\n+ [\"2026-06-29T13:18:35.000Z\",\"0xae7122add731c935d54d726ebe542e7d4f9f7321e3bdf4ec794309f813d981f7\",[\"eth:0x1c94D798CFA08F396E5BA9F81697289c53273381\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.addressManager:\n- \"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n values.impl:\n- \"eth:0x2705B12a971dA766A3f9321a743d61ceAD67dA2F\"\n+ \"eth:0x1c94D798CFA08F396E5BA9F81697289c53273381\"\n values.lastUnpausedAt:\n- 1716809423\n values.pauser:\n+ \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+++ description: Quota manager that rate-limits ETH released by processed or recalled bridge messages.\n values.quotaManager:\n+ \"eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC\"\n values.resolver:\n+ \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n+++ description: Signal service used to prove cross-chain message delivery and failure signals.\n values.signalService:\n+ \"eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n implementationNames.eth:0x2705B12a971dA766A3f9321a743d61ceAD67dA2F:\n- \"MainnetBridge\"\n implementationNames.eth:0x1c94D798CFA08F396E5BA9F81697289c53273381:\n+ \"MainnetBridge\"\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC\",\"description\":\"consume ETH withdrawal quota when ETH leaves the bridge.\",\"role\":\".bridge\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract L1SharedAddressManager (eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa) [taiko/L1SharedAddressManager]\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n values.operatorMapping.0:\n+ \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SecureSgxVerifier (eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee) [taiko/SgxVerifier]\n +++ description: Verifier contract for SGX proven blocks. Registered SGX instances can sign accepted proofs until their instance expiry.\n```\n\n```diff\n+ Status: CREATED\n contract MainnetVerifier (eth:0x71808449A6217898d602c1a392D95b931Ac5d878) [taiko/MainnetVerifier]\n +++ description: Immutable verifier policy contract for Taiko mainnet. Each accepted proof must contain exactly two ordered sub-proofs: either SGX-GETH plus SGX-RETH/RISC0-RETH/SP1-RETH, or SGX-RETH plus SGX-GETH/RISC0-RETH/SP1-RETH. It routes each sub-proof to the corresponding downstream verifier.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoSP1Verifier (eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F) [taiko/SP1Verifier]\n +++ description: Gating router contract to verify batches using SP1.\n```\n\n```diff\n+ Status: CREATED\n contract DefaultResolver (eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e) [taiko/DefaultResolver]\n +++ description: Maps chainId-name pairs to contract addresses. Bridge and vault contracts resolve their counterparties through this registry, so changes in this mapping effectively act as contract upgrades. The pause function is intentionally disabled in this implementation.\n```\n\n```diff\n+ Status: CREATED\n contract SecureSgxVerifier (eth:0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8) [taiko/SgxVerifier]\n +++ description: Verifier contract for SGX proven blocks. Registered SGX instances can sign accepted proofs until their instance expiry.\n```\n\n```diff\n+ Status: CREATED\n contract QuotaManager (eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC) [taiko/QuotaManager]\n +++ description: Defines withdrawal quotas for ETH and ERC20 releases from the shared bridge. A token quota of zero means unlimited withdrawals for that token.\n```"
}
]
},
{
"id": "8a66cfc1",
"date": "Tue, 23 Jun 2026 08:55:37 GMT",
"timestamp": 1782204489,
"description": "Emergency proposals pause the bridges and deactivate forced transactions and permissionless proposal fallback after a hacker steals USD ~1.7M from the bridges by exploiting bugs in whitelisted SGX programs. \n\nExploiter transaction: https://app.blocksec.com/phalcon/explorer/tx/eth/0x2f44dc1b883522a88f9b0cbbdfabf9ec33884b69dd4326600c3fab7fb2277260. \n\nvulnerable mrEnclaves used:\n- fda8bb1fc9938700c25353c0a5fabc96a238e69ce8e35f08e558831a20db33a6 (geth, old)\n- 8f73135b83a84126c7fff37ea02f9363e134aea0f6446b13e198b20d94e75099 (reth, recent)",
"isHighSeverity": true,
"changeCount": 20,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) [taiko/EmergencyMultisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: total count of encrypted emergency proposals created.\n+++ severity: HIGH\n values.proposalCount:\n- 29\n+ 33\n }\n```\n\n```diff\n contract MainnetInbox (eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f) [taiko/MainnetInboxRestricted] {\n +++ description: [FORCED TRANSACTIONS AND PERMISSIONLESS PROVING ARE DISABLED] The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. It manages bonds, validates batch parameters, and acts as the state machine for the L2.\n template:\n- \"taiko/MainnetInbox\"\n+ \"taiko/MainnetInboxRestricted\"\n sourceHashes.1:\n- \"0xa362200444c4acb7197c44886acc6eb7d90bb3933f19c339e94239e413f132d1\"\n+ \"0xc8fb004590f1c60e5c9735be36da74676fdc93286aa44749d3156ad33bc416e7\"\n description:\n- \"The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. It manages bonds, validates batch parameters, and acts as the state machine for the L2.\"\n+ \"[FORCED TRANSACTIONS AND PERMISSIONLESS PROVING ARE DISABLED] The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. It manages bonds, validates batch parameters, and acts as the state machine for the L2.\"\n values.$implementation:\n- \"eth:0x0680c84378FA6A7D2F46ADa5A70637Fa2A938d42\"\n+ \"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098\"\n values.$pastUpgrades.1:\n+ [\"2026-06-22T09:24:35.000Z\",\"0x2fb71b83b8971dd7bbc174f72ea5d37f57bf20277c406b0d679062b20c348e1d\",[\"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ severity: HIGH\n values.getCurrentForcedInclusionFee:\n- 1000000\n+ 1020000\n values.impl:\n- \"eth:0x0680c84378FA6A7D2F46ADa5A70637Fa2A938d42\"\n+ \"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098\"\n values.noForce:\n+ [true]\n implementationNames.eth:0x0680c84378FA6A7D2F46ADa5A70637Fa2A938d42:\n- \"MainnetInbox\"\n implementationNames.eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098:\n+ \"MainnetInbox\"\n }\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 31\n+ 34\n values.proposalIds.31:\n+ \"606258323829018279630170080852096129484418187295\"\n values.proposalIds.32:\n+ \"606419523753005534282828605203137025379655483424\"\n values.proposalIds.33:\n+ \"606424105314793757798300924445813695132257484833\"\n }\n```\n\n```diff\n contract MainnetERC20Vault (eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) [taiko/SharedERC20Vault] {\n +++ description: Shared vault for Taiko chains for bridged ERC20 tokens.\n values.paused:\n- false\n+ true\n }\n```\n\n```diff\n contract MainnetBridge (eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) [taiko/TaikoBridge] {\n +++ description: Shared bridge escrow for Taiko chains for bridged ETH.\n values.paused:\n- false\n+ true\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\n values.operatorMapping.0:\n- \"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\"\n values.operatorMapping.2:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```"
}
]
},
{
"id": "e26d807e",
"date": "Tue, 16 Jun 2026 09:50:07 GMT",
"timestamp": 1781603320,
"description": "Propose 'Enable SP1 v6 on mainnet': new programhashes.",
"isHighSeverity": true,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) [taiko/Multisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n+++ description: total standard proposal count.\n+++ severity: HIGH\n values.proposalCount:\n- 20\n+ 21\n }\n```"
}
]
},
{
"id": "f552f80c",
"date": "Wed, 10 Jun 2026 14:38:24 GMT",
"timestamp": 1781102204,
"description": "Add raiko2 images, proposal https://dao.taiko.xyz/plugins/community-proposals/#/proposals/30 , all regenerated.",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoRisc0Verifier (eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b) [taiko/Risc0Verifier] {\n +++ description: Gating router contract to verify batches using RISC Zero.\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.4:\n+ \"0xbee1be4cbe2bdf9b0034a1ab6572061a76019e73189ff96322e58ab229b75f92\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.5:\n+ \"0xcecc85819e15d173c2991577727525b136e820728f7aaaede612f1281cac2249\"\n }\n```\n\n```diff\n contract TaikoSP1Verifier (eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6) [taiko/SP1Verifier] {\n +++ description: Gating router contract to verify batches using SP1.\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.8:\n+ \"0x0033e2cccc3296e7def7b381a4fb96fafec64f45420b6d24686779ef6236dff1\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.9:\n+ \"0x19f166660ca5b9f75ef670344fb96faf76327a2a082db49150cef3de6236dff1\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.10:\n+ \"0x009d26a03d10b4e70eef6a339187c258a7701d6a0150524684cb46b56cf9e540\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.11:\n+ \"0x4e93501e442d39c35ded4672187c258a3b80eb500541491a09968d6a6cf9e540\"\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x1efDd13f831ceeEa14940806705A53D3211CD698) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroSetVerifier (eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85) [risc0/RiscZeroSetVerifier]\n +++ description: Set verifier contract for RISC Zero proofs (version 0.9.0). It allows verifying a whole set of proofs identified with a Merkle root at once, afterwards each individual proof could be efficiently verified just by checking Merkle inclusion against the verified root.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85 that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9) [taiko/RiscZeroGroth16Verifier]\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1) [risc0/RiscZeroVerifierEmergencyStop]\n +++ description: A verifier wrapper for the eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C) [N/A]\n +++ description: None\n```"
}
]
},
{
"id": "5834db9f",
"date": "Tue, 02 Jun 2026 13:04:57 GMT",
"timestamp": 1780405412,
"description": "Operator rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\n values.operatorMapping.1:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n values.operatorMapping.2:\n+ \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```"
}
]
},
{
"id": "1d8bee9a",
"date": "Thu, 28 May 2026 10:14:59 GMT",
"timestamp": 1779963216,
"description": "EOA removed from the Risc0 timelock accessControl (Multisig remains). One SC signer changed their local ms signer.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) [global/TimelockController] {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n values.accessControl.PROPOSER_ROLE.members.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n values.accessControl.CANCELLER_ROLE.members.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n values.accessControl.EXECUTOR_ROLE.members.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n values.Canceller.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n values.Executor.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n values.Proposer.0:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n }\n```\n\n```diff\n contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) [GnosisSafe] {\n +++ description: None\n values.$members.4:\n- \"eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n+ \"eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10\"\n }\n```\n\n```diff\n contract Gustavo Gonzalez Taiko (eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x30bc4C0Baf55A37Ccf2d626Bc592bd7715b75De2\"\n+ \"eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10\"\n }\n```\n\n```diff\n contract ProverWhitelist (eth:0xEa798547d97e345395dA071a0D7ED8144CD612Ae) [taiko/ProverWhitelist] {\n +++ description: Defines the whitelist of addresses allowed to prove proposals. Non-whitelisted provers must wait for the permissionless proving delay before they can submit proofs.\n values.proverCount:\n- 1\n+ 2\n }\n```"
}
]
},
{
"id": "8eba7ad9",
"date": "Thu, 21 May 2026 09:21:30 GMT",
"timestamp": 1779355207,
"description": "Risc0 emergency stop moved from EOA to multisig.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe] {\n +++ description: None\n receivedPermissions.5:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n contract RiscZeroVerifierEmergencyStop (eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696) [risc0/RiscZeroVerifierEmergencyStop] {\n +++ description: A verifier wrapper for the eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D that allows pausing (emergency stop) the verifier by its owner.\n values.owner:\n- \"eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412\"\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n EOA (eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412) {\n +++ description: None\n receivedPermissions.5:\n- {\"permission\":\"interact\",\"from\":\"eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696\",\"description\":\"pause the verifier.\",\"role\":\".owner\"}\n }\n```"
}
]
},
{
"id": "64376063",
"date": "Tue, 19 May 2026 12:03:01 GMT",
"timestamp": 1779173531,
"description": "config related: add taiko gov details.\n\nnew proposal queued: [raiko2](https://dao.taiko.xyz/plugins/community-proposals/#/proposals/30), updates program hashes",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {\n +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n values.proposalCount:\n- 30\n+ 31\n values.proposalIds.30:\n+ \"605401718776602992082262606618382736114237571102\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) [taiko/Multisig] {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n+++ description: total standard proposal count.\n+++ severity: HIGH\n values.proposalCount:\n- 19\n+ 20\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract ERC20Vault (taiko:0x1670000000000000000000000000000000000002) [taiko/L2ERC20Vault]\n +++ description: Escrow for L2-native tokens sent to L1 via the canonical bridge.\n```"
}
]
},
{
"id": "7a1e364d",
"date": "Wed, 13 May 2026 12:35:27 GMT",
"timestamp": 1778675086,
"description": "RiscZeroVerifierRouter: add new multisig as ac admin (was EOA-only before).\n\nL2BEAT removes one safe member from the SC safe.\n\nconfig related: ignore anchor details",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) [global/TimelockController] {\n +++ description: A timelock with access control. The current minimum delay is 3d.\n values.accessControl.PROPOSER_ROLE.members.1:\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.accessControl.CANCELLER_ROLE.members.1:\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.accessControl.EXECUTOR_ROLE.members.1:\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.Canceller.1:\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.Executor.1:\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n values.Proposer.1:\n+ \"eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609\"\n }\n```\n\n```diff\n contract L2BEAT (eth:0xf1cF63589A1e012F9124182c9eAa36B5333e5f06) [GnosisSafe] {\n +++ description: None\n values.$members.2:\n- \"eth:0x166868E5AE72592a06056775236d2E4D64CDcCa9\"\n values.multisigThreshold:\n- \"2 of 3 (67%)\"\n+ \"2 of 2 (100%)\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\n values.operatorMapping.1:\n- \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.operatorMapping.2:\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe]\n +++ description: None\n```"
}
]
},
{
"id": "3ac0053a",
"date": "Tue, 05 May 2026 06:53:44 GMT",
"timestamp": 1777963387,
"description": "two proposals are executed: \n- emergency, clean up before cleanup: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/29 \n- prop 28, clean up after shasta: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/28\n\nno significant changes.",
"isHighSeverity": true,
"changeCount": 70,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: The total count of encrypted emergency proposals created.\n values.proposalCount:\n- 28\n+ 29\n }\n```\n\n```diff\n contract Taiko Foundation Treasury Multisig (eth:0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da) {\n +++ description: None\n values.$members.1:\n- \"eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n+ \"eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10\"\n }\n```\n\n```diff\n contract TaikoDAOController (eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) {\n +++ description: Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n directlyReceivedPermissions.6:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\",\"description\":\"pause and unpause proofs and verification.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 29\n+ 30\n values.proposalIds.29:\n+ \"604873005729564317786488715670244117998223753245\"\n }\n```\n\n```diff\n contract DAO (eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261) {\n +++ description: The main contract and entrypoint of the Aragon-based DAO governance framework. Fine-grained DAO permissions, proposals, voting and thresholds are configured here.\n receivedPermissions.6:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\",\"description\":\"pause and unpause proofs and verification.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"}]}\n }\n```\n\n```diff\n contract SignalService (eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\n name:\n- \"SignalServiceForkRouter\"\n+ \"SignalService\"\n template:\n- \"taiko/SignalServiceForkRouter\"\n+ \"taiko/SignalService\"\n sourceHashes.1:\n- \"0x48d2edc5c332edbe5587795ecd9c72063d865a58d79f71e4fc30e28e91e88c50\"\n+ \"0x9da4ee2d38b5914e0408dd1d413eef87e7f2ae62c6ca8240e657f4cc8cfaa84c\"\n description:\n- \"Routes to the Shasta SignalService post shasta fork.\"\n+ \"Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\"\n values.$implementation:\n- \"eth:0x6a4B15E4b0296B2ECE03Ee9Ed74E4A3E3ECA68D6\"\n+ \"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752\"\n values.$pastUpgrades.9:\n+ [\"2026-04-30T15:14:11.000Z\",\"0xfcd6ca82025b847a3508db2d3c82327a19e3c4afda867acae8c09da147667036\",[\"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.newFork:\n- \"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752\"\n values.oldFork:\n- \"eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c\"\n values.shastaForkTimestamp:\n- 1775135700\n values.impl:\n+ \"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752\"\n values.inNonReentrant:\n+ false\n values.paused:\n+ false\n values.resolver:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n implementationNames.eth:0x6a4B15E4b0296B2ECE03Ee9Ed74E4A3E3ECA68D6:\n- \"SignalServiceForkRouter\"\n implementationNames.eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752:\n+ \"SignalService\"\n category:\n- {\"name\":\"Spam\",\"priority\":-1}\n }\n```\n\n```diff\n- Status: DELETED\n contract SignalService (eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752)\n +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\n values.operatorMapping.1:\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.operatorMapping.2:\n+ \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```\n\n```diff\n EOA (taiko:0x0000000000000000000000000000000000000000) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28\",\"description\":\"pause and unpause proofs and verification.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract SignalService (taiko:0x1670000000000000000000000000000000000005) {\n +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\n name:\n- \"SignalServiceForkRouter\"\n+ \"SignalService\"\n template:\n- \"taiko/SignalServiceForkRouter\"\n+ \"taiko/SignalService\"\n sourceHashes.1:\n- \"0x48d2edc5c332edbe5587795ecd9c72063d865a58d79f71e4fc30e28e91e88c50\"\n+ \"0x9da4ee2d38b5914e0408dd1d413eef87e7f2ae62c6ca8240e657f4cc8cfaa84c\"\n description:\n- \"Routes to the Shasta SignalService post shasta fork.\"\n+ \"Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\"\n values.$implementation:\n- \"taiko:0x2987F6Bef39b03F8522EC38B36aF0f7422938EAb\"\n+ \"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28\"\n values.$pastUpgrades.2:\n+ [\"2026-04-30T15:37:12.000Z\",\"0xb09a7ea021566fa65e0891d3f45b369f61b639c6ef9b16b0d2a3bd52289bf3de\",[\"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.newFork:\n- \"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28\"\n values.oldFork:\n- \"taiko:0xaea51c413Bd15bBee72737C8094BE942B5208762\"\n values.shastaForkTimestamp:\n- 1775135700\n values.impl:\n+ \"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28\"\n values.inNonReentrant:\n+ false\n values.paused:\n+ false\n values.resolver:\n+ \"taiko:0x0000000000000000000000000000000000000000\"\n implementationNames.taiko:0x2987F6Bef39b03F8522EC38B36aF0f7422938EAb:\n- \"SignalServiceForkRouter\"\n implementationNames.taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28:\n+ \"SignalService\"\n category:\n- {\"name\":\"Spam\",\"priority\":-1}\n }\n```\n\n```diff\n contract Anchor (taiko:0x1670000000000000000000000000000000010001) {\n +++ description: Immutable L2 contract that anchors L1 block details to L2 for cross-layer communication and manages EIP-1559 gas pricing for L2 operations.\n name:\n- \"AnchorForkRouter\"\n+ \"Anchor\"\n template:\n- \"taiko/AnchorForkRouter\"\n+ \"taiko/Anchor\"\n sourceHashes.1:\n- \"0x457bd8a81361da7cd33cf0749e16158c846ae643a1a69451a84aaac7f62cc16b\"\n+ \"0xd28d4f02b54957df5dd4894f6b101e59efaea4c568ce8ea8f87870f81cd977f1\"\n description:\n- \"Routes to the Shasta Anchor contract post shasta fork.\"\n+ \"Immutable L2 contract that anchors L1 block details to L2 for cross-layer communication and manages EIP-1559 gas pricing for L2 operations.\"\n values.$implementation:\n- \"taiko:0x38e4A497aD70aa0581BAc29747b0Ea7a53258585\"\n+ \"taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA\"\n values.$pastUpgrades.6:\n+ [\"2026-04-30T15:37:12.000Z\",\"0xb09a7ea021566fa65e0891d3f45b369f61b639c6ef9b16b0d2a3bd52289bf3de\",[\"taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.newFork:\n- \"taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA\"\n values.oldFork:\n- \"taiko:0xE6d1efcC6AC8969474308C99a3805c332D33a1E0\"\n values.ANCHOR_GAS_LIMIT:\n+ 1000000\n values.checkpointStore:\n+ \"taiko:0x1670000000000000000000000000000000000005\"\n values.getBlockState:\n+ {\"anchorBlockNumber\":25027058,\"ancestorsHash\":\"0x49a7e51364da6ffb3d3bfd3469fa64d0adce9ee57c8bdb658ca014229605b199\"}\n values.GOLDEN_TOUCH_ADDRESS:\n+ \"taiko:0x0000777735367b36bC9B61C50022d9D0700dB4Ec\"\n values.impl:\n+ \"taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA\"\n values.inNonReentrant:\n+ false\n values.l1ChainId:\n+ 1\n values.paused:\n+ false\n values.resolver:\n+ \"taiko:0x0000000000000000000000000000000000000000\"\n implementationNames.taiko:0x38e4A497aD70aa0581BAc29747b0Ea7a53258585:\n- \"AnchorForkRouter\"\n implementationNames.taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA:\n+ \"Anchor\"\n category.name:\n- \"Spam\"\n+ \"Local Infrastructure\"\n category.priority:\n- -1\n+ 5\n }\n```\n\n```diff\n- Status: DELETED\n contract SignalService (taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28)\n +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\n```\n\n```diff\n- Status: DELETED\n contract Anchor (taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA)\n +++ description: Immutable L2 contract that anchors L1 block details to L2 for cross-layer communication and manages EIP-1559 gas pricing for L2 operations.\n```\n\n```diff\n contract DelegateController (taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C) {\n +++ description: Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n directlyReceivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"taiko:0x1670000000000000000000000000000000000005\",\"description\":\"pause and unpause proofs and verification.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10)\n +++ description: None\n```"
}
]
},
{
"id": "d5f2604d",
"date": "Wed, 22 Apr 2026 13:12:09 GMT",
"timestamp": 1776863372,
"description": "last admin upgrade perms are txfered to the DAO upgrade module.\nall vanilla upgrades are now in hands of dao with delay or SC with no delay.\nno risk change since proof system is closed.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract MainnetInbox (eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f) {\n +++ description: The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. It manages bonds, validates batch parameters, and acts as the state machine for the L2.\n values.$admin:\n- \"eth:0xF14Dc4EdDb43e9a6A440e6beC97ea2ea64f39Ef7\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0xF14Dc4EdDb43e9a6A440e6beC97ea2ea64f39Ef7\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.pendingOwner:\n- \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n contract TaikoDAOController (eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) {\n +++ description: Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n directlyReceivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f\",\"description\":\"pause and unpause the rollup system.\",\"role\":\".owner\"}\n directlyReceivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract DAO (eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261) {\n +++ description: The main contract and entrypoint of the Aragon-based DAO governance framework. Fine-grained DAO permissions, proposals, voting and thresholds are configured here.\n receivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f\",\"description\":\"pause and unpause the rollup system.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"}]}\n receivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract Safe (eth:0xF14Dc4EdDb43e9a6A440e6beC97ea2ea64f39Ef7)\n +++ description: None\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\n values.operatorMapping.0:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```"
}
]
},
{
"id": "c20a93ed",
"date": "Mon, 20 Apr 2026 11:13:29 GMT",
"timestamp": 1776683523,
"description": "Taiko added SP1 6.1 verifier.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SP1VerifierGateway (eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e) {\n +++ description: This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n+++ description: Verifiers that are routed to by their selector and not frozen.\n values.activeVerifiers.2:\n+ {\"selector\":\"0x5a093a2f\",\"verifier\":\"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A\"}\n+++ description: All verifiers that were ever routed to by this gateway.\n values.allVerifiers.11:\n+ {\"selector\":\"0x5a093a2f\",\"verifier\":\"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A)\n +++ description: None\n```"
}
]
},
{
"id": "f3c1579e",
"date": "Thu, 09 Apr 2026 15:19:53 GMT",
"timestamp": 1775747881,
"description": "add new mainnet inbox and ignore old one. i overlooked the new inbox pre-shasta because there were no refs and the old inbox also got an upgrade.",
"isHighSeverity": true,
"changeCount": 83,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoRisc0Verifier (eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b) {\n +++ description: Gating router contract to verify batches using RISC Zero.\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.2:\n+ \"0x46efe5e0c74976548ee6856789fbfb4929b8f2f9118a119c57ced6e1062e727b\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of Risc0 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.3:\n+ \"0xdfbce2039ad8b78b236b5a9dceba5d8cee0d9e4638fc8f1fe11a0b2d8bfa039e\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.4:\n+ \"0x398be8424f27802b38e6e8d3413bf6a0b187349e68522a218f5bfc00279006ac\"\n }\n```\n\n```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: The total count of encrypted emergency proposals created.\n values.proposalCount:\n- 27\n+ 28\n }\n```\n\n```diff\n contract MainnetInbox (eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f) {\n +++ description: The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. It manages bonds, validates batch parameters, and acts as the state machine for the L2.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.24:\n+ \"0x8f73135b83a84126c7fff37ea02f9363e134aea0f6446b13e198b20d94e75099\"\n values.mrEnclaves.25:\n+ \"0x72258d3cae0e9901d0efc1f630064f1c44f11950bd25fee0b62ec8df84532da2\"\n }\n```\n\n```diff\n contract TaikoSP1Verifier (eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6) {\n +++ description: Gating router contract to verify batches using SP1.\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.4:\n+ \"0x0079682c7b5af614273de79761aaad20d1c8e1a65091388b81be836632d382f8\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.5:\n+ \"0x3cb4163d56bd850967bcf2ec1aaad20d0e470d324244e22e037d06cc32d382f8\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.6:\n+ \"0x0002ac747570512099ca19c17f5a3b9f39697e5617a19ff2f2b2464229a50c7c\"\n+++ description: Taiko specific Image IDs (i.e. program digest) of SP1 programs (block proving and aggregation program separately) trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedPrograms.7:\n+ \"0x01563a3a5c1448263943382f75a3b9f34b4bf2b05e867fcb65648c8429a50c7c\"\n }\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 27\n+ 29\n values.proposalIds.27:\n+ \"604072306347775205060623596830012262580693762075\"\n values.proposalIds.28:\n+ \"604252334775688929080375373293834029676709806108\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 18\n+ 19\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\n values.latestActivationEpoch:\n- 0\n+ 1775558231\n values.operatorMapping.0:\n+ \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```\n\n```diff\n EOA (taiko:0x0000000000000000000000000000000000000000) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28\",\"description\":\"pause and unpause proofs and verification.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract SignalServiceForkRouter (taiko:0x1670000000000000000000000000000000000005) {\n +++ description: Routes to the Shasta SignalService post shasta fork.\n name:\n- \"SignalService\"\n+ \"SignalServiceForkRouter\"\n template:\n- \"taiko/L2SignalService\"\n+ \"taiko/SignalServiceForkRouter\"\n sourceHashes.1:\n- \"0xe8788984d5d121a0c1b2a1f177ae2bf142631d845ff8cabda588ae96c9b63038\"\n+ \"0x48d2edc5c332edbe5587795ecd9c72063d865a58d79f71e4fc30e28e91e88c50\"\n values.$implementation:\n- \"taiko:0xaea51c413Bd15bBee72737C8094BE942B5208762\"\n+ \"taiko:0x2987F6Bef39b03F8522EC38B36aF0f7422938EAb\"\n values.$pastUpgrades.1:\n+ [\"2026-04-02T14:02:23.000Z\",\"0xd8f236e03789398270e7144a8b4456279ae6c82a44334fec3fb9d97bcc7c12d1\",[\"taiko:0x2987F6Bef39b03F8522EC38B36aF0f7422938EAb\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.authorizedRelayers:\n- []\n values.impl:\n- \"taiko:0xaea51c413Bd15bBee72737C8094BE942B5208762\"\n values.inNonReentrant:\n- false\n values.paused:\n- false\n values.resolver:\n- \"taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8\"\n values.newFork:\n+ \"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28\"\n values.oldFork:\n+ \"taiko:0xaea51c413Bd15bBee72737C8094BE942B5208762\"\n values.shastaForkTimestamp:\n+ 1775135700\n implementationNames.taiko:0xaea51c413Bd15bBee72737C8094BE942B5208762:\n- \"SignalService\"\n implementationNames.taiko:0x2987F6Bef39b03F8522EC38B36aF0f7422938EAb:\n+ \"SignalServiceForkRouter\"\n description:\n+ \"Routes to the Shasta SignalService post shasta fork.\"\n category:\n+ {\"name\":\"Spam\",\"priority\":-1}\n }\n```\n\n```diff\n contract AnchorForkRouter (taiko:0x1670000000000000000000000000000000010001) {\n +++ description: Routes to the Shasta Anchor contract post shasta fork.\n name:\n- \"TaikoAnchor\"\n+ \"AnchorForkRouter\"\n template:\n- \"taiko/TaikoAnchor\"\n+ \"taiko/AnchorForkRouter\"\n sourceHashes.1:\n- \"0x3b17f3b24c2a1ab8b2cc942628d831d030a6c4a03ae0c5fb548b7142843c4e6d\"\n+ \"0x457bd8a81361da7cd33cf0749e16158c846ae643a1a69451a84aaac7f62cc16b\"\n description:\n- \"Handles cross-layer message verification and manages EIP-1559 gas pricing for L2 operations. Anchors L1 block details to L2 for cross-layer communication.\"\n+ \"Routes to the Shasta Anchor contract post shasta fork.\"\n values.$implementation:\n- \"taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"\n+ \"taiko:0x38e4A497aD70aa0581BAc29747b0Ea7a53258585\"\n values.$pastUpgrades.5:\n+ [\"2026-04-02T14:02:23.000Z\",\"0xd8f236e03789398270e7144a8b4456279ae6c82a44334fec3fb9d97bcc7c12d1\",[\"taiko:0x38e4A497aD70aa0581BAc29747b0Ea7a53258585\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.BASEFEE_MIN_VALUE:\n- 10000000\n values.GOLDEN_TOUCH_ADDRESS:\n- \"taiko:0x0000777735367b36bC9B61C50022d9D0700dB4Ec\"\n values.impl:\n- \"taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"\n values.inNonReentrant:\n- false\n values.isOnL1:\n- false\n values.l1ChainId:\n- 1\n values.pacayaForkHeight:\n- 1166000\n values.parentGasExcess:\n- 1344899430\n values.parentGasTarget:\n- 40000000\n values.paused:\n- false\n values.proxiableUUID:\n- \"EXPECT_REVERT\"\n values.resolver:\n- \"taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8\"\n values.signalService:\n- \"taiko:0x1670000000000000000000000000000000000005\"\n values.skipFeeCheck:\n- false\n values.newFork:\n+ \"taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA\"\n values.oldFork:\n+ \"taiko:0xE6d1efcC6AC8969474308C99a3805c332D33a1E0\"\n implementationNames.taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9:\n- \"TaikoAnchor\"\n implementationNames.taiko:0x38e4A497aD70aa0581BAc29747b0Ea7a53258585:\n+ \"AnchorForkRouter\"\n category:\n+ {\"name\":\"Spam\",\"priority\":-1}\n }\n```\n\n```diff\n- Status: DELETED\n contract DefaultResolver (taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n contract DelegateController (taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C) {\n +++ description: Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n directlyReceivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n directlyReceivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8\",\"role\":\"admin\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract SignalService (taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28)\n +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\n```\n\n```diff\n+ Status: CREATED\n contract Anchor (taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA)\n +++ description: Immutable L2 contract that anchors L1 block details to L2 for cross-layer communication and manages EIP-1559 gas pricing for L2 operations.\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459)\n +++ description: Verifier contract for SP1 proofs (v5.0.0).\n```\n\n```diff\n+ Status: CREATED\n contract TaikoRisc0Verifier (eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b)\n +++ description: Gating router contract to verify batches using RISC Zero.\n```\n\n```diff\n+ Status: CREATED\n contract SgxVerifier (eth:0x08568Df252ecf37D6C3eFD24f6ca3688118697F1)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711)\n +++ description: A timelock with access control. The current minimum delay is 3d.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D)\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 3.0.0).\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGateway (eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e)\n +++ description: This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n```\n\n```diff\n+ Status: CREATED\n contract MainnetInbox (eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f)\n +++ description: The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. It manages bonds, validates batch parameters, and acts as the state machine for the L2.\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C)\n +++ description: Verifier contract for SP1 proofs (v6.0.0).\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierRouter (eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319)\n +++ description: A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711).\n```\n\n```diff\n+ Status: CREATED\n contract TaikoSP1Verifier (eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6)\n +++ description: Gating router contract to verify batches using SP1.\n```\n\n```diff\n+ Status: CREATED\n contract MainnetVerifier (eth:0x9cAa4948381590900FCdd8a4F06EB24138eD665d)\n +++ description: Enforces the Taiko Multiprover policy and routes to the downstream router contracts.\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroVerifierEmergencyStop (eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696)\n +++ description: A verifier wrapper for the eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D that allows pausing (emergency stop) the verifier by its owner.\n```\n\n```diff\n+ Status: CREATED\n contract SgxVerifier (eth:0xa1018Ba2e22139076f91dA2A856B2CAB22d968F6)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGatewayMultisig (eth:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProverWhitelist (eth:0xEa798547d97e345395dA071a0D7ED8144CD612Ae)\n +++ description: Defines the whitelist of addresses allowed to prove proposals. Non-whitelisted provers must wait for the permissionless proving delay before they can submit proofs.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0xF14Dc4EdDb43e9a6A440e6beC97ea2ea64f39Ef7)\n +++ description: None\n```"
}
]
},
{
"id": "1c558ecd",
"date": "Thu, 02 Apr 2026 13:24:32 GMT",
"timestamp": 1775136182,
"description": "SC review: https://gist.github.com/sekuba/63e456c08ef9b36bce08546957324662\nblog post: https://paragraph.com/@taiko-labs/achieving-stage-1-shasta-is-almost-here\n\n- [MainnetInbox](https://disco.l2beat.com/diff/eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5/eth:0x38dd73fed93f8051e7a0ddd6fb3b9e7c25668187)\n- [MainnetSignalService](https://disco.l2beat.com/diff/eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c/eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752)\n- [PreconfWhitelist](https://disco.l2beat.com/diff/eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc/eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149)\n\nShasta is mainly refactoring the core protocol to be simpler and more efficient, the proof system remains closed and SGX.",
"isHighSeverity": true,
"changeCount": 63,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1 (eth:0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. It manages L1 liveness bonds, validates batch parameters, and acts as the state machine for the L2.\n sourceHashes.1:\n- \"0x2fc623a8d2d43eaa7b59707ea9d1f766608b3626be55f68a9617b218e44b3cd5\"\n+ \"0x0ac653f7058ad40c6ffac7239e47de4da0e6cb079cc88095eb2be8e359c25ef2\"\n values.$implementation:\n- \"eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5\"\n+ \"eth:0x38Dd73fed93F8051E7A0dDd6FB3b9E7C25668187\"\n values.$pastUpgrades.30:\n+ [\"2026-03-31T13:44:47.000Z\",\"0xb132692b255fb1ff670b37d162af03de5151fa1e77811bf009ba276e4a9a2f36\",[\"eth:0x38Dd73fed93F8051E7A0dDd6FB3b9E7C25668187\"]]\n values.$upgradeCount:\n- 30\n+ 31\n values.impl:\n- \"eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5\"\n+ \"eth:0x38Dd73fed93F8051E7A0dDd6FB3b9E7C25668187\"\n values.shastaForkTimestamp:\n+ 1775135700\n implementationNames.eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5:\n- \"MainnetInbox\"\n implementationNames.eth:0x38Dd73fed93F8051E7A0dDd6FB3b9E7C25668187:\n+ \"MainnetInbox\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.3:\n+ \"0xd1f43acede51c4eb2f66b86cce52682edad80b810b9d87fba3a9b67254c91b77\"\n }\n```\n\n```diff\n contract TaikoDAOController (eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) {\n +++ description: Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n directlyReceivedPermissions.6:\n- {\"permission\":\"interact\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n directlyReceivedPermissions.10:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"description\":\"pause/unpause, manage operator and ejector roles.\",\"role\":\".owner\"}\n directlyReceivedPermissions.19:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.22:\n+ \"0x59bf7d48610cc8a56ba8a390b68c31a1443297869b174aeacac67dc152820f0e\"\n values.mrEnclaves.23:\n+ \"0xf285b7cbd78d2b96cdc54cfea3e47d8f510a4b4f91b719c97f8bbb90974f805b\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DefaultResolver (eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"description\":\"manage the ejecter role\",\"role\":\"._ejectorManager\"}]\n }\n```\n\n```diff\n contract DAO (eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261) {\n +++ description: The main contract and entrypoint of the Aragon-based DAO governance framework. Fine-grained DAO permissions, proposals, voting and thresholds are configured here.\n receivedPermissions.6:\n- {\"permission\":\"interact\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"description\":\"pause/unpause, manage operator and ejector roles.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"}]}\n receivedPermissions.20:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"}]}\n }\n```\n\n```diff\n contract SignalServiceForkRouter (eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: Routes to the Shasta SignalService post shasta fork.\n name:\n- \"MainnetSignalService\"\n+ \"SignalServiceForkRouter\"\n template:\n- \"taiko/_preShastaTemplates/SignalService\"\n+ \"taiko/SignalServiceForkRouter\"\n sourceHashes.1:\n- \"0xc978dbfc097ca447823c4a1eb83078cd63532727420b19287acc0f87e884285f\"\n+ \"0x48d2edc5c332edbe5587795ecd9c72063d865a58d79f71e4fc30e28e91e88c50\"\n description:\n- \"The SignalService contract serves as cross-chain message passing system. It defines methods for sending and verifying signals with merkle proofs.\"\n+ \"Routes to the Shasta SignalService post shasta fork.\"\n values.$implementation:\n- \"eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c\"\n+ \"eth:0x6a4B15E4b0296B2ECE03Ee9Ed74E4A3E3ECA68D6\"\n values.$pastUpgrades.8:\n+ [\"2026-03-31T13:44:47.000Z\",\"0xb132692b255fb1ff670b37d162af03de5151fa1e77811bf009ba276e4a9a2f36\",[\"eth:0x6a4B15E4b0296B2ECE03Ee9Ed74E4A3E3ECA68D6\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.impl:\n- \"eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c\"\n values.inNonReentrant:\n- false\n values.paused:\n- false\n values.proxiableUUID:\n- \"EXPECT_REVERT\"\n values.resolver:\n- \"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n values.newFork:\n+ \"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752\"\n values.oldFork:\n+ \"eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c\"\n values.shastaForkTimestamp:\n+ 1775135700\n implementationNames.eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c:\n- \"MainnetSignalService\"\n implementationNames.eth:0x6a4B15E4b0296B2ECE03Ee9Ed74E4A3E3ECA68D6:\n+ \"SignalServiceForkRouter\"\n }\n```\n\n```diff\n contract Gustavo Gonzalez Taiko (eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a) {\n +++ description: None\n values.$members.3:\n- \"eth:0x7Cdd1c128Cd72dd252f569eeD942735330937F91\"\n values.multisigThreshold:\n- \"4 of 6 (67%)\"\n+ \"4 of 5 (80%)\"\n }\n```\n\n```diff\n EOA (eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d) {\n +++ description: None\n receivedPermissions.0.role:\n- \".getOperatorCandidatesForCurrentEpoch\"\n+ \".operatorMapping\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\n template:\n- \"taiko/_preShastaTemplates/PreconfWhitelist\"\n+ \"taiko/PreconfWhitelist\"\n sourceHashes.1:\n- \"0x93a254bb5914a81cd902577cdafd323639e44227fdae5e14aa14fd47e1440063\"\n+ \"0x974afbdcc80d21c6158c6eb226d4a8b02a6041f7b8e9affd849a300ce70e21ef\"\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.\"\n values.$implementation:\n- \"eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc\"\n+ \"eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149\"\n values.$pastUpgrades.3:\n+ [\"2026-03-31T13:44:47.000Z\",\"0xb132692b255fb1ff670b37d162af03de5151fa1e77811bf009ba276e4a9a2f36\",[\"eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.getOperatorCandidatesForCurrentEpoch:\n- [\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"]\n values.getOperatorCandidatesForNextEpoch:\n- [\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"]\n values.havingPerfectOperators:\n- false\n values.impl:\n- \"eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc\"\n+ \"eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149\"\n values.operatorChangeDelay:\n- 2\n values.randomnessDelay:\n- 2\n values.registeredOperators:\n- [{\"proposer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\",\"sequencer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"},{\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}]\n values.registeredOperatorsCount:\n- 2\n values._ejectorManager:\n+ \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n values.latestActivationEpoch:\n+ 0\n values.OPERATOR_CHANGE_DELAY:\n+ 2\n values.operatorMapping:\n+ [\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\"]\n values.RANDOMNESS_DELAY:\n+ 2\n fieldMeta.havingPerfectOperators:\n- {\"description\":\"tells the contract whether it can safely pick a random operator using a simple mathematical operation, or if it needs to perform a more expensive \\\"loop-and-check\\\" operation\"}\n fieldMeta.paused:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc:\n- \"PreconfWhitelist\"\n implementationNames.eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149:\n+ \"PreconfWhitelist\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SignalService (eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752)\n +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.\n```"
}
]
},
{
"id": "0cce826e",
"date": "Tue, 24 Mar 2026 11:59:30 GMT",
"timestamp": 1774353478,
"description": "operator changes.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n }\n```"
}
]
},
{
"id": "404f0d89",
"date": "Mon, 16 Mar 2026 13:00:22 GMT",
"timestamp": 1773665926,
"description": "shasta proposal proceeds to public veto phase\n\nproposal: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/26\n\nreview: https://gist.github.com/sekuba/63e456c08ef9b36bce08546957324662",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 26\n+ 27\n values.proposalIds.26:\n+ \"603470345479562597234986338918793351448504565786\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 17\n+ 18\n }\n```"
}
]
},
{
"id": "a297e0d5",
"date": "Fri, 06 Mar 2026 09:41:48 GMT",
"timestamp": 1772790015,
"description": "veto period 21d -> 10d.\n\nhttps://dao.taiko.xyz/plugins/community-proposals/#/proposals/25",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.lastMultisigSettingsChange:\n- 22574240\n+ 24588180\n values.multisigSettings.destinationProposalDuration:\n- 1814400\n+ 864000\n }\n```"
}
]
},
{
"id": "b0cbe6e5",
"date": "Wed, 04 Mar 2026 09:00:02 GMT",
"timestamp": 1772614552,
"description": "operator change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n values.operatorCount:\n- 4\n+ 3\n }\n```"
}
]
},
{
"id": "b2f15145",
"date": "Mon, 02 Mar 2026 14:06:19 GMT",
"timestamp": 1772460290,
"description": "DelegateController (proxy) on taiko verified.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n values.operatorCount:\n- 3\n+ 4\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n contract DelegateController (taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C) {\n +++ description: None\n unverified:\n- true\n sourceHashes.0:\n- null\n+ \"0xc44a84c18fe7660acbe7750e0a14401b3a0a0ad97d8c81305bd879dca88d873b\"\n implementationNames.taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C:\n- \"\"\n+ \"ERC1967Proxy\"\n }\n```"
}
]
},
{
"id": "458466d6",
"date": "Thu, 26 Feb 2026 06:51:07 GMT",
"timestamp": 1772088580,
"description": "rotate operators.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"sequence\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"role\":\".getOperatorCandidatesForCurrentEpoch\"}]\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n values.operatorCount:\n- 4\n+ 3\n }\n```"
}
]
},
{
"id": "68fc24a5",
"date": "Thu, 19 Feb 2026 09:46:59 GMT",
"timestamp": 1771493932,
"description": "operator rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"sequence\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"role\":\".getOperatorCandidatesForCurrentEpoch\"}]\n }\n```"
}
]
},
{
"id": "e9045939",
"date": "Wed, 11 Feb 2026 13:18:12 GMT",
"timestamp": 1770815650,
"description": "fee proposal executed: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/24\n\nvoting period proposal moves to optimistic phase: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/25\n\nTaikoAnchor fee changes: https://disco.l2beat.com/diff/taiko:0xE6d1efcC6AC8969474308C99a3805c332D33a1E0/taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 25\n+ 26\n values.proposalIds.25:\n+ \"602381146540321106777275740158610369409831665689\"\n }\n```\n\n```diff\n contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7Cdd1c128Cd72dd252f569eeD942735330937F91\"\n values.$threshold:\n- 5\n+ 4\n values.multisigThreshold:\n- \"5 of 7 (71%)\"\n+ \"4 of 6 (67%)\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 16\n+ 17\n }\n```\n\n```diff\n contract TaikoAnchor (taiko:0x1670000000000000000000000000000000010001) {\n +++ description: Handles cross-layer message verification and manages EIP-1559 gas pricing for L2 operations. Anchors L1 block details to L2 for cross-layer communication.\n sourceHashes.1:\n- \"0x94dfc8c1aa6a1ce9447da9bf865b6e827ffe8c9cb0b08e4d7c7589b8c4193134\"\n+ \"0x3b17f3b24c2a1ab8b2cc942628d831d030a6c4a03ae0c5fb548b7142843c4e6d\"\n values.$implementation:\n- \"taiko:0xE6d1efcC6AC8969474308C99a3805c332D33a1E0\"\n+ \"taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"\n values.$pastUpgrades.4:\n+ [\"2026-02-11T02:45:07.000Z\",\"0xd044da28e6a74c63e79bcf8ac14fec397dae61afc9166ca7754af5e0b6e5c7fb\",[\"taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.BASEFEE_MIN_VALUE:\n- 25000000\n+ 10000000\n values.impl:\n- \"taiko:0xE6d1efcC6AC8969474308C99a3805c332D33a1E0\"\n+ \"taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"\n implementationNames.taiko:0xE6d1efcC6AC8969474308C99a3805c332D33a1E0:\n- \"TaikoAnchor\"\n implementationNames.taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9:\n+ \"TaikoAnchor\"\n }\n```"
}
]
},
{
"id": "7d81f0d2",
"date": "Mon, 02 Feb 2026 14:13:29 GMT",
"timestamp": 1770041480,
"description": "operator rotation.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.3:\n- \"eth:0x1eE487CEdCe52c370DB11e62987F3ABe873E145A\"\n+ \"eth:0xCf76A87E24FE2054DCF02a5f65eAc0F24A34c439\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n values.operatorCount:\n- 3\n+ 4\n }\n```"
}
]
},
{
"id": "c41d496f",
"date": "Mon, 26 Jan 2026 13:03:00 GMT",
"timestamp": 1769432500,
"description": "Operator removed, our event-based count shows 1 operator less.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\n values.operatorCount:\n- 4\n+ 3\n }\n```"
}
]
},
{
"id": "f978fd12",
"date": "Wed, 21 Jan 2026 12:55:23 GMT",
"timestamp": 1768999626,
"description": "gattaca added to SC: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/23 .",
"isHighSeverity": false,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SignerList (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) {\n +++ description: A signer list for registering agents, similar to a Multisig.\n values.addresslistLength:\n- 8\n+ 9\n values.getEncryptionAgents.0:\n+ \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n values.getEncryptionAgents.7:\n- \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n+ \"eth:0xc4414B079bC4A013916B3dc241555F6f505c1619\"\n }\n```\n\n```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n values.lastMultisigSettingsChange:\n- 22574240\n+ 24269141\n values.multisigSettings.minApprovals:\n- 6\n+ 7\n }\n```\n\n```diff\n contract EncryptionRegistry (eth:0x2eFDb93a3B87b930E553d504db67Ee41c69C42d1) {\n +++ description: A registry for signers (of the Security Council) to appoint agents to operate on their behalf. These agents can also register their encryption keys for encrypted emergency proposal support.\n values.accountList.0:\n- \"eth:0x85f21919ed6046d7CE1F36a613eBA8f5EaC3d070\"\n+ \"eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a\"\n values.accountList.8:\n- \"eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a\"\n values.accountList.9:\n- \"eth:0xD5cF6A34Ba5fb9289510dC93c03F1f9084798487\"\n+ \"eth:0x6268d189E011Aa53A2f09A1FE159445BeB3d878E\"\n values.getRegisteredAccounts.0:\n- \"eth:0x85f21919ed6046d7CE1F36a613eBA8f5EaC3d070\"\n+ \"eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a\"\n values.getRegisteredAccounts.8:\n- \"eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a\"\n values.getRegisteredAccounts.9:\n- \"eth:0xD5cF6A34Ba5fb9289510dC93c03F1f9084798487\"\n+ \"eth:0x6268d189E011Aa53A2f09A1FE159445BeB3d878E\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Safe (eth:0xD5cF6A34Ba5fb9289510dC93c03F1f9084798487)\n +++ description: None\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Gattaca (eth:0x6268d189E011Aa53A2f09A1FE159445BeB3d878E)\n +++ description: None\n```"
}
]
},
{
"id": "820fc101",
"date": "Wed, 14 Jan 2026 06:28:29 GMT",
"timestamp": 1768372024,
"description": "New standard proposal: lower hardcoded basefee by 2.5x: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/24 .",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 24\n+ 25\n values.proposalIds.24:\n+ \"601724541768498866969402779460601617583941091352\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 15\n+ 16\n }\n```"
}
]
},
{
"id": "e1024ba9",
"date": "Wed, 07 Jan 2026 14:29:19 GMT",
"timestamp": 1767795947,
"description": "agent of one SC member updated. new proposal up targeting the gas config.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SignerList (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) {\n +++ description: A signer list for registering agents, similar to a Multisig.\n values.getEncryptionAgents.7:\n- \"eth:0xf0A0d6Bd4aA94F53F3FB2c88488202a9E9eD2c55\"\n+ \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n }\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 14\n+ 15\n }\n```"
}
]
},
{
"id": "3f13ce11",
"date": "Mon, 22 Dec 2025 13:12:17 GMT",
"timestamp": 1766409056,
"description": "operator rotation.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 23\n+ 24\n values.proposalIds.23:\n+ \"601076267109018851735115853749277719853690519575\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n values.registeredOperators.1:\n- {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n values.registeredOperators.2:\n+ {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n }\n```"
}
]
},
{
"id": "022bd5a0",
"date": "Mon, 15 Dec 2025 07:35:28 GMT",
"timestamp": 1765784042,
"description": "new proposal: add gattaca to sc and increase emergency threshold from 6 to 7/9.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: The total count of encrypted emergency proposals created.\n values.proposalCount:\n- 26\n+ 27\n }\n```\n\n```diff\n- Status: DELETED\n contract ProverSet (eth:0x9B17fdA35eD7EB7bB11a73AB69D0462045364514)\n +++ description: An operator proxy used by the Taiko team for operating (proposing, proving) the based rollup from permissioned addresses.\n```\n\n```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 13\n+ 14\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (eth:0xEdB91449947ca7d74243Af9b39DCbb4D86F636c0)\n +++ description: None\n```"
}
]
},
{
"id": "10de060c",
"date": "Thu, 11 Dec 2025 14:53:07 GMT",
"timestamp": 1765464471,
"description": "Operator changes.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 1 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n values.operatorCount:\n- 2\n+ 4\n values.registeredOperators.1:\n+ {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n values.registeredOperators.2:\n+ {\"proposer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\",\"sequencer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"}\n values.registeredOperatorsCount:\n- 1\n+ 3\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (eth:0x9B17fdA35eD7EB7bB11a73AB69D0462045364514)\n +++ description: An operator proxy used by the Taiko team for operating (proposing, proving) the based rollup from permissioned addresses.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (eth:0xEdB91449947ca7d74243Af9b39DCbb4D86F636c0)\n +++ description: None\n```"
}
]
},
{
"id": "bb3bea08",
"date": "Thu, 04 Dec 2025 10:07:59 GMT",
"timestamp": 1764841913,
"description": "execution of a standard upgrade via governance. targeting the proof system: https://gist.github.com/sekuba/46d7bcab5127c0ed6e0d66ce285b0559\n\nTEE config and zk program hashes updated.\n\nusual operator changes.",
"isHighSeverity": true,
"changeCount": 30,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AutomataDcapV3Attestation (eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.2:\n+ \"0x3e6113a23bbdf9231520153253047d02db8f1dd38a9b52914ab7943278f52db0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroGroth16Verifier (eth:0x34Eda8BfFb539AeC33078819847B36D221c6641c)\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n```\n\n```diff\n contract Risc0VerifierGateway (eth:0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE) {\n +++ description: Entry contract to verify batches using RISC Zero.\n values.$implementation:\n- \"eth:0x3dEF88e306E449c6Abf9AaD8038C95d11Bb0b614\"\n+ \"eth:0xDF6327caafC5FeB8910777Ac811e0B1d27dCdf36\"\n values.$pastUpgrades.3:\n+ [\"2025-12-04T02:13:59.000Z\",\"0xbdd083f6c9905230ec66b00863175112f2dbad532a6bd34d5982752587d1c5dd\",[\"eth:0xDF6327caafC5FeB8910777Ac811e0B1d27dCdf36\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.impl:\n- \"eth:0x3dEF88e306E449c6Abf9AaD8038C95d11Bb0b614\"\n+ \"eth:0xDF6327caafC5FeB8910777Ac811e0B1d27dCdf36\"\n values.riscoGroth16Verifier:\n- \"eth:0x34Eda8BfFb539AeC33078819847B36D221c6641c\"\n+ \"eth:0x7CCA385bdC790c25924333F5ADb7F4967F5d1599\"\n+++ description: Image IDs (i.e. program digest) of Risc0 programs trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.8:\n+ \"0x3d933868e2ac698df98209b45e6c34c435df2d3c97754bb6739d541d5fd312e3\"\n+++ description: Image IDs (i.e. program digest) of Risc0 programs trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains image ID data within them.\n+++ severity: HIGH\n values.trustedImages.9:\n+ \"0x77ff0953ded4fb48bb52b1099cc36c6b8bf603dc4ed9211608c039c7ec31b82b\"\n implementationNames.eth:0x3dEF88e306E449c6Abf9AaD8038C95d11Bb0b614:\n- \"Risc0Verifier\"\n implementationNames.eth:0xDF6327caafC5FeB8910777Ac811e0B1d27dCdf36:\n+ \"Risc0Verifier\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.20:\n+ \"0xe5774b71990b0d5f3eca8d4d22546764dd9549c743a1a6d4d4863d97f6b8c67a\"\n values.mrEnclaves.21:\n+ \"0x605ad10c1a56ed7289f198d64a39a952cd3b8a0bed3fcb19c8301c1847dc3a2f\"\n }\n```\n\n```diff\n contract SP1VerifierGateway (eth:0xbee1040D0Aab17AE19454384904525aE4A3602B9) {\n +++ description: Entry contract to verify batches using SP1.\n+++ description: Program hashes of SP1 programs trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains program hash data within them.\n+++ severity: HIGH\n values.trustedPrograms.12:\n+ \"0x008f96447139673b3f2d29b30ad4b43fe6ccb3f31d40f6e61478ac5640201d9e\"\n+++ description: Program hashes of SP1 programs trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains program hash data within them.\n+++ severity: HIGH\n values.trustedPrograms.13:\n+ \"0x47cb22384e59cecf65a536612d4b43fe36659f987503db9828f158ac40201d9e\"\n+++ description: Program hashes of SP1 programs trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains program hash data within them.\n+++ severity: HIGH\n values.trustedPrograms.14:\n+ \"0x00a32a15ab7a74a9a79f3b97a71d1b014cd4361b37819004b9322b502b5f5be1\"\n+++ description: Program hashes of SP1 programs trusted by this verifier gateway. Only proofs for these programs can be successfully verified. Note that proofs contains program hash data within them.\n+++ severity: HIGH\n values.trustedPrograms.15:\n+ \"0x51950ad55e9d2a6973e772f471d1b01466a1b0d95e064012726456a02b5f5be1\"\n }\n```\n\n```diff\n contract PreconfRouter (eth:0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a) {\n +++ description: Entry point for batch proposals under the pre-confirmation architecture. It allows batches to be proposed only by whitelisted addresses.\n sourceHashes.1:\n- \"0x34a58f3c77d5666ec8a39b17ab327273604248af9004c771429a4413b09e20dd\"\n+ \"0xa69b68882c2eac4ec75e64e92a7946b6311cf7e0fa7c844251baabfa7803d81b\"\n values.$implementation:\n- \"eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913\"\n+ \"eth:0xafCEDDe020dB8D431Fa86dF6B14C20f327382709\"\n values.$pastUpgrades.3:\n+ [\"2025-12-04T02:13:59.000Z\",\"0xbdd083f6c9905230ec66b00863175112f2dbad532a6bd34d5982752587d1c5dd\",[\"eth:0xafCEDDe020dB8D431Fa86dF6B14C20f327382709\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.impl:\n- \"eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913\"\n+ \"eth:0xafCEDDe020dB8D431Fa86dF6B14C20f327382709\"\n values.getConfig:\n+ {\"handOverSlots\":8}\n implementationNames.eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913:\n- \"PreconfRouter\"\n implementationNames.eth:0xafCEDDe020dB8D431Fa86dF6B14C20f327382709:\n+ \"PreconfRouter\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 1 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 1 operators registered.\"\n values.operatorCount:\n- 3\n+ 2\n values.registeredOperators.1:\n- {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n values.registeredOperatorsCount:\n- 2\n+ 1\n }\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (eth:0x7CCA385bdC790c25924333F5ADb7F4967F5d1599)\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 3.0.0).\n```"
}
]
},
{
"id": "e3ed9074",
"date": "Wed, 03 Dec 2025 11:03:47 GMT",
"timestamp": 1764759251,
"description": "Forkrouter removed, minor bugfix in MainnetInbox: https://disco.l2beat.com/diff/eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8/eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5\n\nthis was an SC emergency proposal reviewed by us.",
"isHighSeverity": true,
"changeCount": 31,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1 (eth:0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: Main contract implementing the logic for proposing and proving Taiko blocks on L1.\n name:\n- \"PacayaForkRouter\"\n+ \"TaikoL1\"\n sourceHashes.1:\n- \"0x5702f8ecc44ca1160a3d0954d937678c18e339e0b8b415d47e8d20c5f3fb4a19\"\n+ \"0x2fc623a8d2d43eaa7b59707ea9d1f766608b3626be55f68a9617b218e44b3cd5\"\n values.$implementation:\n- \"eth:0xbB1f830636e1A017b81C3E38b7f6219344149Eb7\"\n+ \"eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5\"\n values.$pastUpgrades.29:\n+ [\"2025-12-03T00:16:35.000Z\",\"0x22ad3111b2e282663d8ee67b9a1e8c64add6a87f1e1f0e89dd589619ad42cce4\",[\"eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5\"]]\n values.$upgradeCount:\n- 29\n+ 30\n values.newFork:\n- \"eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8\"\n values.oldFork:\n- \"eth:0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264\"\n values.bondToken:\n+ \"eth:0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.impl:\n+ \"eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5\"\n values.inboxWrapper:\n+ \"eth:0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n values.inNonReentrant:\n+ false\n values.isOnL1:\n+ true\n values.pacayaConfig:\n+ {\"chainId\":167000,\"maxUnverifiedBatches\":324000,\"batchRingBufferSize\":360000,\"maxBatchesToVerify\":8,\"blockMaxGasLimit\":240000000,\"livenessBondBase\":\"25000000000000000000\",\"livenessBondPerBlock\":0,\"stateRootSyncInternal\":4,\"maxAnchorHeightOffset\":96,\"baseFeeConfig\":{\"adjustmentQuotient\":8,\"sharingPctg\":75,\"gasIssuancePerSecond\":5000000,\"minGasExcess\":1344899430,\"maxGasIssuancePerBlock\":600000000},\"provingWindow\":7200,\"cooldownWindow\":7200,\"maxSignalsToReceive\":16,\"maxBlocksPerBatch\":768,\"forkHeights\":{\"ontake\":538304,\"pacaya\":1166000,\"shasta\":0,\"unzen\":0}}\n values.paused:\n+ false\n values.resolver:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.signalService:\n+ \"eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n values.verifier:\n+ \"eth:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n errors:\n- {\"proxiableUUID\":\"Processing error occurred.\"}\n implementationNames.eth:0xbB1f830636e1A017b81C3E38b7f6219344149Eb7:\n- \"PacayaForkRouter\"\n implementationNames.eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5:\n+ \"MainnetInbox\"\n template:\n+ \"taiko/TaikoL1PostPacaya\"\n description:\n+ \"Main contract implementing the logic for proposing and proving Taiko blocks on L1.\"\n }\n```\n\n```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: The total count of encrypted emergency proposals created.\n values.proposalCount:\n- 24\n+ 26\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetTaikoL1 (eth:0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264)\n +++ description: None\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 22\n+ 23\n values.proposalIds.22:\n+ \"600503437133673611609410939840991465998794096662\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetInbox (eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8)\n +++ description: None\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\n values.registeredOperators.0:\n- {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n values.registeredOperators.1:\n+ {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract MainnetTaikoL1 (eth:0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetInbox (eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8)\n +++ description: None\n```"
}
]
},
{
"id": "7006615f",
"date": "Wed, 26 Nov 2025 13:52:55 GMT",
"timestamp": 1764165081,
"description": "proposal to move TAIKO from the DAO to the Labs treasury: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/21\n\noperator changes",
"isHighSeverity": false,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 21\n+ 22\n values.proposalIds.21:\n+ \"600279957369763019115429650404480285099304157205\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\"\n values.operatorCount:\n- 4\n+ 3\n values.registeredOperators.0:\n- {\"proposer\":\"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\",\"sequencer\":\"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"}\n values.registeredOperators.2.sequencer:\n- \"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.registeredOperators.2.proposer:\n- \"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.registeredOperatorsCount:\n- 3\n+ 2\n }\n```"
}
]
},
{
"id": "d6ced8f9",
"date": "Mon, 24 Nov 2025 09:55:12 GMT",
"timestamp": 1763978021,
"description": "new operators.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n values.registeredOperators.1:\n- {\"proposer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\",\"sequencer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"}\n values.registeredOperators.2:\n+ {\"proposer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\",\"sequencer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"}\n }\n```"
}
]
},
{
"id": "dc4eb0dd",
"date": "Wed, 19 Nov 2025 11:32:31 GMT",
"timestamp": 1763551862,
"description": "new proposal: move TAIKO to team treasury multisig.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 12\n+ 13\n }\n```"
}
]
},
{
"id": "abad6369",
"date": "Mon, 10 Nov 2025 09:00:28 GMT",
"timestamp": 1762765141,
"description": "PreconfWhitelist changed, and the verifier upgrade proposal is now in the public / optimistic phase:\n- dao frontend: https://dao.taiko.xyz/plugins/community-proposals/#/proposals/20\n- review: https://gist.github.com/sekuba/46d7bcab5127c0ed6e0d66ce285b0559",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 20\n+ 21\n values.proposalIds.20:\n+ \"599695636739451592739723352125243732881756389396\"\n }\n```\n\n```diff\n contract Daniel Wang (eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n values.$members.1:\n+ \"eth:0xFa92ff698D57f7B875570D9F59501812B843CD44\"\n values.$members.2:\n+ \"eth:0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1\"\n values.$members.3:\n+ \"eth:0x7Cdd1c128Cd72dd252f569eeD942735330937F91\"\n values.$members.1:\n- \"eth:0x7057A707621Fadd422f84DE94A9dF7c4F1AC595C\"\n+ \"eth:0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a\"\n values.$threshold:\n- 1\n+ 4\n values.multisigThreshold:\n- \"1 of 2 (50%)\"\n+ \"4 of 6 (67%)\"\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n values.registeredOperators.1:\n- {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n values.registeredOperators.2:\n+ {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n }\n```"
}
]
},
{
"id": "b514439b",
"date": "Tue, 04 Nov 2025 15:15:49 GMT",
"timestamp": 1762269183,
"description": "operator change.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 4 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n values.registeredOperators.1:\n- {\"proposer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\",\"sequencer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"}\n values.registeredOperators.3.sequencer:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n+ \"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"\n values.registeredOperators.3.proposer:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n+ \"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"\n values.registeredOperatorsCount:\n- 4\n+ 3\n }\n```"
}
]
},
{
"id": "0c61abd6",
"date": "Mon, 03 Nov 2025 14:19:44 GMT",
"timestamp": 1761894930,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LibUtils (eth:0x5565543Ec09f746721928B0A4d019c9E750d0552)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LibBonds (eth:0xc618b0bA27F751D33689DebA538f8567AeF53ee6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LibData (eth:0xe61FD6715FfFA2f4057f1Cf0230512b91A9f5f84)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LibProving (eth:0xfD9B548c00a1E96BbFc2C5FE0D339618B40B4593)\n +++ description: None\n```"
}
]
},
{
"id": "7f887e31",
"date": "Fri, 31 Oct 2025 07:17:02 GMT",
"timestamp": 1761894930,
"description": "Minor upgrade proposed.\n\nReviewed here: https://gist.github.com/sekuba/46d7bcab5127c0ed6e0d66ce285b0559 (approved, will go to optimistic phase if at least 5 approve)",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 11\n+ 12\n }\n```"
}
]
},
{
"id": "98d15749",
"date": "Tue, 28 Oct 2025 09:33:53 GMT",
"timestamp": 1761643945,
"description": "proposer/sequencer whitelist changed.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 4 operators registered.\n values.registeredOperators.0.sequencer:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.registeredOperators.0.proposer:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n+ \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n values.registeredOperators.3.sequencer:\n- \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n+ \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n values.registeredOperators.3.proposer:\n- \"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"\n+ \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n }\n```"
}
]
},
{
"id": "9b3fc1fc",
"date": "Mon, 27 Oct 2025 07:42:48 GMT",
"timestamp": 1761550873,
"description": "Operator change.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 4 operators registered.\n values.registeredOperators.0:\n- {\"proposer\":\"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\",\"sequencer\":\"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"}\n values.registeredOperators.1:\n- {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n values.registeredOperators.2:\n+ {\"proposer\":\"eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d\",\"sequencer\":\"eth:0x2ABD9afD6D41d0c37b8d55df11BFc73B53c3ac61\"}\n values.registeredOperators.3:\n+ {\"proposer\":\"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\",\"sequencer\":\"eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990\"}\n }\n```"
}
]
},
{
"id": "1ede9046",
"date": "Wed, 08 Oct 2025 07:42:30 GMT",
"timestamp": 1759909174,
"description": "Proposal 23: encrypted emergency proposal.\n'proposal is neither to fix a bug nor time-critical' - sc chat.\n\nverification of the calldata is pending.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: The total count of encrypted emergency proposals created.\n values.proposalCount:\n- 23\n+ 24\n }\n```"
}
]
},
{
"id": "4f6c5051",
"date": "Mon, 22 Sep 2025 07:47:06 GMT",
"timestamp": 1758523605,
"description": "New operator (proposer/preconfer) registered.\n\nconfig: act permissions for the dao controllers and minor description changes.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 4 operators registered.\n description:\n- \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 3 operators registered.\"\n+ \"Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 4 operators registered.\"\n values.registeredOperators.3:\n+ {\"proposer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\",\"sequencer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"}\n values.registeredOperatorsCount:\n- 3\n+ 4\n }\n```"
}
]
},
{
"id": "537e28c9",
"date": "Fri, 19 Sep 2025 13:06:41 GMT",
"timestamp": 1758287100,
"description": "One preconfirmer deregistered.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\n description:\n- \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\"\n+ \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\"\n values.registeredOperators.3:\n- {\"proposer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\",\"sequencer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"}\n values.registeredOperatorsCount:\n- 4\n+ 3\n }\n```"
}
]
},
{
"id": "816ddd24",
"date": "Wed, 17 Sep 2025 12:00:17 GMT",
"timestamp": 1758110316,
"description": "Removed and then added back a preconf operator. As the result the list is reordered.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\n values.registeredOperators.1:\n- {\"proposer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\",\"sequencer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"}\n values.registeredOperators.3:\n+ {\"proposer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\",\"sequencer\":\"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"}\n }\n```"
}
]
},
{
"id": "c426c1a0",
"date": "Tue, 09 Sep 2025 07:35:21 GMT",
"timestamp": 1757403234,
"description": "move of preconfWhitelist gov to the DAO.\n\nthe single non-DAO-governed contract left is ProverSet, so the migration seems to be complete.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoDAOController (eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) {\n +++ description: Contract that maintains ownership DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n receivedPermissions.28:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"upgrade\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"role\":\"admin\"}]\n }\n```\n\n```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```"
}
]
},
{
"id": "d8b96ea5",
"date": "Mon, 08 Sep 2025 15:13:18 GMT",
"timestamp": 1757344306,
"description": "Remaining gov functions transfered to DAO/SC.",
"isHighSeverity": false,
"changeCount": 15,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2AddressManager (taiko:0x1670000000000000000000000000000000000006) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.$admin:\n- \"taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8\"\n+ \"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"\n values.owner:\n- \"taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8\"\n+ \"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"\n values.pendingOwner:\n- \"taiko:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n+ \"taiko:0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n contract TaikoAnchor (taiko:0x1670000000000000000000000000000000010001) {\n +++ description: Handles cross-layer message verification and manages EIP-1559 gas pricing for L2 operations. Anchors L1 block details to L2 for cross-layer communication.\n values.$admin:\n- \"taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8\"\n+ \"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"\n values.owner:\n- \"taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8\"\n+ \"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"\n values.pendingOwner:\n- \"taiko:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n+ \"taiko:0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n contract DefaultResolver (taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.$admin:\n- \"taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8\"\n+ \"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"\n values.owner:\n- \"taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8\"\n+ \"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C\"\n values.pendingOwner:\n- \"taiko:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n+ \"taiko:0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Taiko L2 Multisig (taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8)\n +++ description: None\n```\n\n```diff\n contract DelegateController (taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C) {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"taiko:0x1670000000000000000000000000000000000006\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"taiko:0x1670000000000000000000000000000000000006\",\"role\":\"admin\"}\n receivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"taiko:0x1670000000000000000000000000000000010001\",\"role\":\"admin\"}\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8\",\"role\":\"admin\"}\n }\n```"
}
]
},
{
"id": "4bcbe688",
"date": "Fri, 05 Sep 2025 09:35:03 GMT",
"timestamp": 1757064809,
"description": "New operator registered, new pending owner (DAO/SC) for some contracts.",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\n description:\n- \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\"\n+ \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\"\n values.operatorCount:\n- 3\n+ 4\n values.registeredOperators.3:\n+ {\"proposer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\",\"sequencer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"}\n values.registeredOperatorsCount:\n- 3\n+ 4\n }\n```\n\n```diff\n contract L2AddressManager (taiko:0x1670000000000000000000000000000000000006) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.pendingOwner:\n- \"taiko:0x0000000000000000000000000000000000000000\"\n+ \"taiko:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract TaikoAnchor (taiko:0x1670000000000000000000000000000000010001) {\n +++ description: Handles cross-layer message verification and manages EIP-1559 gas pricing for L2 operations. Anchors L1 block details to L2 for cross-layer communication.\n values.pendingOwner:\n- \"taiko:0x0000000000000000000000000000000000000000\"\n+ \"taiko:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract DefaultResolver (taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.pendingOwner:\n- \"taiko:0x0000000000000000000000000000000000000000\"\n+ \"taiko:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract Taiko L2 Multisig (taiko:0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8) {\n +++ description: None\n values.$members.0:\n+ \"taiko:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n values.$threshold:\n- 4\n+ 5\n values.multisigThreshold:\n- \"4 of 6 (67%)\"\n+ \"5 of 7 (71%)\"\n }\n```"
}
]
},
{
"id": "ed67a48f",
"date": "Tue, 02 Sep 2025 09:26:15 GMT",
"timestamp": 1756804828,
"description": "One operator got removed.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\n description:\n- \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\"\n+ \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\"\n values.registeredOperators.3:\n- {\"proposer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\",\"sequencer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"}\n values.registeredOperatorsCount:\n- 4\n+ 3\n }\n```"
}
]
},
{
"id": "e5e382b0",
"date": "Sun, 31 Aug 2025 07:53:11 GMT",
"timestamp": 1756626709,
"description": "- TaikoL1\nMinimal diff: changed function return value (proposeBatch now returns lastBlockId)\nhttps://disco.l2beat.com/diff/eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82/eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8\n\nNo diff, changed NewFork constructor param to use the new implementation contract from above (0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8) \nhttps://disco.l2beat.com/diff/eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F/eth:0xbB1f830636e1A017b81C3E38b7f6219344149Eb7\n\n- ProverSet\nAdmin change to EOA (taiko foundation msig member)\n\n- TaikoWrapper\nMinimal diff: changed functions ordering to do one less decoding \nhttps://disco.l2beat.com/diff/eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61/eth:0x52D6FC6F6db9E370c336f64f61ff3C29568d1859\n\n- PreconfRouter\nMinimal diff: match function interface changes from above \nhttps://disco.l2beat.com/diff/eth:0xf571E2626E2CE68127852123A2cC6AA522C586A0/eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913\n\n- PreconfWhitelist\nOperators can now also be added by ejecter (chnaged onlyOwner toonlyOwnerOrEjecter modifier).",
"isHighSeverity": true,
"changeCount": 111,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ForcedInclusionStore (0x05d88855361808fA1d7fc28084Ef3fCa191c4e03) {\n +++ description: Contract that allows users to enqueue forced transactions via L1. The system guarantees that at least one pending forced transaction from the queue will be processed every 255 batches. Individual transactions may face longer delays if the queue is extensive.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract TaikoL1 (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: Main contract implementing the logic for proposing and proving Taiko blocks on L1.\n sourceHashes.1:\n- \"0x036f854f425618da3e66dad1cd29e352eda6ce3f728eb078bc043f82fe653157\"\n+ \"0x4a046242c16270e33ec006d5d7d18a68040b417d8355d24cc6a44926ce444f6e\"\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.$implementation.0:\n- \"eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F\"\n+ \"eth:0xbB1f830636e1A017b81C3E38b7f6219344149Eb7\"\n values.$implementation.2:\n- \"eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82\"\n+ \"eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8\"\n values.$pastUpgrades.28:\n+ [\"2025-08-26T21:48:47.000Z\",\"0x27f89b30a14fdf2c6adb42c5722f4ac403eefde7d26f6a64bdfd4a86458a0c00\",[\"eth:0xbB1f830636e1A017b81C3E38b7f6219344149Eb7\",\"eth:0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264\",\"eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8\"]]\n values.$upgradeCount:\n- 28\n+ 29\n values.impl:\n- \"eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F\"\n+ \"eth:0xbB1f830636e1A017b81C3E38b7f6219344149Eb7\"\n values.newFork:\n- \"eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82\"\n+ \"eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n implementationNames.eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F:\n- \"PacayaForkRouter\"\n implementationNames.eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82:\n- \"MainnetInbox\"\n implementationNames.eth:0xbB1f830636e1A017b81C3E38b7f6219344149Eb7:\n+ \"PacayaForkRouter\"\n implementationNames.eth:0xaF95C030c7b8994Ba9213B6A3964baa64E7dF9D8:\n+ \"MainnetInbox\"\n }\n```\n\n```diff\n EOA (0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"upgrade\",\"from\":\"eth:0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9\",\"role\":\"admin\"}]\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261) {\n +++ description: Contract managing SGX attestation certificates.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract DefaultResolver (0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract ProverSet (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: An operator proxy used by the Taiko team for operating (proposing, proving) the based rollup from permissioned addresses.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n values.pendingOwner:\n- \"eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n contract Risc0VerifierGateway (0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE) {\n +++ description: Entry contract to verify batches using RISC Zero.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract TaikoDAOController (0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) {\n +++ description: Contract that maintains ownership DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\",\"description\":\"can add new instances without a DCAP attestation\",\"role\":\".owner\"}\n receivedPermissions.4:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.5:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.6:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\",\"description\":\"can add new instances without a DCAP attestation\",\"role\":\".owner\"}\n receivedPermissions.7:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xbee1040D0Aab17AE19454384904525aE4A3602B9\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.8:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\",\"role\":\"admin\"}\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\",\"role\":\"admin\"}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\",\"role\":\"admin\"}\n receivedPermissions.13:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\",\"role\":\"admin\"}\n receivedPermissions.14:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\",\"role\":\"admin\"}\n receivedPermissions.15:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\",\"role\":\"admin\"}\n receivedPermissions.16:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\",\"role\":\"admin\"}\n receivedPermissions.17:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"role\":\"admin\"}\n receivedPermissions.21:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\",\"role\":\"admin\"}\n receivedPermissions.22:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x9F9D2fC7abe74C79f86F0D1212107692430eef72\",\"role\":\"admin\"}\n receivedPermissions.23:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\",\"role\":\"admin\"}\n receivedPermissions.24:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xbee1040D0Aab17AE19454384904525aE4A3602B9\",\"role\":\"admin\"}\n receivedPermissions.25:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a\",\"role\":\"admin\"}\n receivedPermissions.27:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SgxVerifier (0x7e6409e9b6c5e2064064a6cC994f9a2e95680782) {\n +++ description: Verifier contract for SGX proven blocks.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract DefaultResolver (0x8Efa01564425692d0a0838DC10E300BD310Cb43e) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"eth:0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.3:\n- {\"permission\":\"interact\",\"from\":\"eth:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\",\"description\":\"can add new instances without a DCAP attestation\",\"role\":\".owner\"}\n receivedPermissions.4:\n- {\"permission\":\"interact\",\"from\":\"eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.5:\n- {\"permission\":\"interact\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.6:\n- {\"permission\":\"interact\",\"from\":\"eth:0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\",\"description\":\"can add new instances without a DCAP attestation\",\"role\":\".owner\"}\n receivedPermissions.7:\n- {\"permission\":\"interact\",\"from\":\"eth:0xbee1040D0Aab17AE19454384904525aE4A3602B9\",\"description\":\"can update the program being verified\",\"role\":\".owner\"}\n receivedPermissions.8:\n- {\"permission\":\"interact\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"description\":\"can update the contract address for a given name\",\"role\":\".owner\"}\n receivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\",\"role\":\"admin\"}\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\",\"role\":\"admin\"}\n receivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\",\"role\":\"admin\"}\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\",\"role\":\"admin\"}\n receivedPermissions.13:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9\",\"role\":\"admin\"}\n receivedPermissions.14:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\",\"role\":\"admin\"}\n receivedPermissions.15:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\",\"role\":\"admin\"}\n receivedPermissions.16:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\",\"role\":\"admin\"}\n receivedPermissions.17:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\",\"role\":\"admin\"}\n receivedPermissions.18:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\",\"role\":\"admin\"}\n receivedPermissions.19:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9F9D2fC7abe74C79f86F0D1212107692430eef72\",\"role\":\"admin\"}\n receivedPermissions.20:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\",\"role\":\"admin\"}\n receivedPermissions.21:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xbee1040D0Aab17AE19454384904525aE4A3602B9\",\"role\":\"admin\"}\n receivedPermissions.22:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a\",\"role\":\"admin\"}\n receivedPermissions.23:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SgxVerifier (0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136) {\n +++ description: Verifier contract for SGX proven blocks.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract TaikoWrapper (0x9F9D2fC7abe74C79f86F0D1212107692430eef72) {\n +++ description: Entry point for proposing blocks. It enforces the inclusion of forced transactions after their deadline.\n sourceHashes.1:\n- \"0x6f1f57d97885434b7f6b769ef9377a6fa75456740c69110c6bb37fb53a7fc68f\"\n+ \"0xb219932acfe503395c533757b638bdb5327f27434f87222d3e135534243f0b51\"\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.$implementation:\n- \"eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61\"\n+ \"eth:0x52D6FC6F6db9E370c336f64f61ff3C29568d1859\"\n values.$pastUpgrades.2:\n+ [\"2025-08-26T21:48:47.000Z\",\"0x27f89b30a14fdf2c6adb42c5722f4ac403eefde7d26f6a64bdfd4a86458a0c00\",[\"eth:0x52D6FC6F6db9E370c336f64f61ff3C29568d1859\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.impl:\n- \"eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61\"\n+ \"eth:0x52D6FC6F6db9E370c336f64f61ff3C29568d1859\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n implementationNames.eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61:\n- \"TaikoWrapper\"\n implementationNames.eth:0x52D6FC6F6db9E370c336f64f61ff3C29568d1859:\n+ \"TaikoWrapper\"\n }\n```\n\n```diff\n contract VerifierGateway (0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1) {\n +++ description: Gateway contract for the multi-proof system. It redirects proof to the appropriate verifier based on the proof type.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract SP1VerifierGateway (0xbee1040D0Aab17AE19454384904525aE4A3602B9) {\n +++ description: Entry contract to verify batches using SP1.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract PreconfRouter (0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a) {\n +++ description: Entry point for batch proposals under the pre-confirmation architecture. It allows batches to be proposed only by whitelisted addresses.\n sourceHashes.1:\n- \"0x7029286f91090d6d474c9bc0329436fed073038c547c5cd3db6c70045a7dccf8\"\n+ \"0x34a58f3c77d5666ec8a39b17ab327273604248af9004c771429a4413b09e20dd\"\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.$implementation:\n- \"eth:0xf571E2626E2CE68127852123A2cC6AA522C586A0\"\n+ \"eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913\"\n values.$pastUpgrades.2:\n+ [\"2025-08-26T21:48:47.000Z\",\"0x27f89b30a14fdf2c6adb42c5722f4ac403eefde7d26f6a64bdfd4a86458a0c00\",[\"eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.impl:\n- \"eth:0xf571E2626E2CE68127852123A2cC6AA522C586A0\"\n+ \"eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n implementationNames.eth:0xf571E2626E2CE68127852123A2cC6AA522C586A0:\n- \"PreconfRouter\"\n implementationNames.eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913:\n+ \"PreconfRouter\"\n }\n```\n\n```diff\n contract L1SharedAddressManager (0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.$admin:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract PreconfWhitelist (0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\n sourceHashes.1:\n- \"0xf118d401839238cdc94b9476ab2149f7492c9653c489f80819102c4fe0b23fc3\"\n+ \"0x93a254bb5914a81cd902577cdafd323639e44227fdae5e14aa14fd47e1440063\"\n values.$implementation:\n- \"eth:0x44eC275996BD69361EF062ed488882a58256CF11\"\n+ \"eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc\"\n values.$pastUpgrades.2:\n+ [\"2025-08-26T21:48:47.000Z\",\"0x27f89b30a14fdf2c6adb42c5722f4ac403eefde7d26f6a64bdfd4a86458a0c00\",[\"eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.impl:\n- \"eth:0x44eC275996BD69361EF062ed488882a58256CF11\"\n+ \"eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc\"\n implementationNames.eth:0x44eC275996BD69361EF062ed488882a58256CF11:\n- \"PreconfWhitelist\"\n implementationNames.eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc:\n+ \"PreconfWhitelist\"\n }\n```"
}
]
},
{
"id": "562778c9",
"date": "Mon, 25 Aug 2025 14:12:20 GMT",
"timestamp": 1756117493,
"description": "ProverSet is in the process of changing owner.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProverSet (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: An operator proxy used by the Taiko team for operating (proposing, proving) the based rollup from permissioned addresses.\n values.pendingOwner:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n }\n```"
}
]
},
{
"id": "d3afe63b",
"date": "Wed, 20 Aug 2025 14:59:53 GMT",
"timestamp": 1755701960,
"description": "New preconfirmer.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\n description:\n- \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\"\n+ \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\"\n values.havingPerfectOperators:\n- true\n+ false\n values.operatorCount:\n- 3\n+ 4\n values.registeredOperators.3:\n+ {\"proposer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\",\"sequencer\":\"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"}\n values.registeredOperatorsCount:\n- 3\n+ 4\n }\n```"
}
]
},
{
"id": "c69bdd79",
"date": "Tue, 19 Aug 2025 09:02:29 GMT",
"timestamp": 1755594109,
"description": "New operator count.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\n description:\n- \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\"\n+ \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\"\n values.havingPerfectOperators:\n- false\n+ true\n values.operatorCount:\n- 4\n+ 3\n }\n```"
}
]
},
{
"id": "8fcd8a52",
"date": "Fri, 15 Aug 2025 08:50:57 GMT",
"timestamp": 1755212383,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract Bridge (0x1670000000000000000000000000000000000001)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SignalService (0x1670000000000000000000000000000000000005)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2AddressManager (0x1670000000000000000000000000000000000006)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoAnchor (0x1670000000000000000000000000000000010001)\n +++ description: Handles cross-layer message verification and manages EIP-1559 gas pricing for L2 operations. Anchors L1 block details to L2 for cross-layer communication.\n```\n\n```diff\n+ Status: CREATED\n contract DefaultResolver (0xc32277f541bBADAA260337E71Cea53871D310DC8)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract Taiko L2 Multisig (0xCa5b76Cc7A38b86Db11E5aE5B1fc9740c3bA3DE8)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelegateController (0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C)\n +++ description: None\n```"
}
]
},
{
"id": "fd7c7268",
"date": "Fri, 15 Aug 2025 08:50:57 GMT",
"timestamp": 1755212383,
"description": "Taiko L2 side initial discovery.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract PreconfWhitelist (0xFD019460881e6EeC632258222393d5821029b2ac) {\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\n description:\n- \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\"\n+ \"Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 4 operators registered.\"\n values.getOperatorForNextEpoch:\n- \"eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7\"\n+ \"eth:0xe2dA8aC2E550cd141198a117520D4EDc8692AB74\"\n values.operatorCount:\n- 3\n+ 4\n }\n```"
}
]
},
{
"id": "e7dd3262",
"date": "Thu, 14 Aug 2025 11:58:53 GMT",
"timestamp": 1755172721,
"description": "Preconf Upgrade!\n\n[Fork Router](https://disco.l2beat.com/diff/eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319/eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F): no code diff\n\nOld fork: same address\n\n[New fork](https://disco.l2beat.com/diff/eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC/eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82): Minimal config changes: lower liveness bond,lower max batches per proposal, higher max anchor height.\n\n[TaikoWrapper](https://disco.l2beat.com/diff/eth:0xAdBa78120E85Add0dBD2050dBA0548CEDA81A31b/eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61): proposing must be done via PreconfRouter now.",
"isHighSeverity": true,
"changeCount": 35,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1 (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: Main contract implementing the logic for proposing and proving Taiko blocks on L1.\n sourceHashes.1:\n- \"0xd3d952e9a5655549b172292d82b0e6e7b2223cab5ef6819f2790ed53304f56a7\"\n+ \"0x036f854f425618da3e66dad1cd29e352eda6ce3f728eb078bc043f82fe653157\"\n values.$implementation.0:\n- \"eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319\"\n+ \"eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F\"\n values.$implementation.2:\n- \"eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC\"\n+ \"eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82\"\n values.$pastUpgrades.27:\n+ [\"2025-08-11T13:45:11.000Z\",\"0xbfd772cb4571eb6275f23d4fd8c7eb1502462b55821ee59dae0d15ab3325fc22\",[\"eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F\",\"eth:0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264\",\"eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82\"]]\n values.$upgradeCount:\n- 27\n+ 28\n values.impl:\n- \"eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319\"\n+ \"eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F\"\n values.newFork:\n- \"eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC\"\n+ \"eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82\"\n values.pacayaConfig.maxBatchesToVerify:\n- 16\n+ 8\n values.pacayaConfig.livenessBondBase:\n- \"125000000000000000000\"\n+ \"25000000000000000000\"\n values.pacayaConfig.maxAnchorHeightOffset:\n- 64\n+ 96\n implementationNames.eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319:\n- \"PacayaForkRouter\"\n implementationNames.eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC:\n- \"MainnetInbox\"\n implementationNames.eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F:\n+ \"PacayaForkRouter\"\n implementationNames.eth:0x257df77Ec059ca5CF9B7eD523f85B731A2eCdb82:\n+ \"MainnetInbox\"\n }\n```\n\n```diff\n contract DefaultResolver (0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.namedAddresses.17:\n+ {\"name\":\"0x707265636f6e665f77686974656c697374000000000000000000000000000000\",\"address\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\"}\n values.namedAddresses.18:\n+ {\"name\":\"0x707265636f6e665f726f75746572000000000000000000000000000000000000\",\"address\":\"eth:0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a\"}\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.16:\n+ \"0xca349ba0dfeced0bd837a56c97417c11e51d490eec4ff08321dd130776a413bd\"\n values.mrEnclaves.17:\n+ \"0xe2375b778ee5700a73c7fcf449abb4a62e00127d324b6694898073ba5aff4f5c\"\n values.mrEnclaves.18:\n+ \"0x67742ab222790e20ba3656b3b294645a3384a5df5a770b86f8c06529523d990e\"\n values.mrEnclaves.19:\n+ \"0xddda8ba9c9153e3d2f680f2f53adbc774a9753cc55d40dde4cb02aef38c42109\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163\"\n values.$threshold:\n- 4\n+ 5\n values.multisigThreshold:\n- \"4 of 6 (67%)\"\n+ \"5 of 7 (71%)\"\n receivedPermissions.22:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a\",\"role\":\"admin\"}\n receivedPermissions.24:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xFD019460881e6EeC632258222393d5821029b2ac\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract TaikoWrapper (0x9F9D2fC7abe74C79f86F0D1212107692430eef72) {\n +++ description: Entry point for proposing blocks. It enforces the inclusion of forced transactions after their deadline.\n sourceHashes.1:\n- \"0x9cee3ca82b3cd60de871679b86db583cbf35a0a911ded84676f9fdcc1a77c8ca\"\n+ \"0x6f1f57d97885434b7f6b769ef9377a6fa75456740c69110c6bb37fb53a7fc68f\"\n values.$implementation:\n- \"eth:0xAdBa78120E85Add0dBD2050dBA0548CEDA81A31b\"\n+ \"eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61\"\n values.$pastUpgrades.1:\n+ [\"2025-08-11T13:45:11.000Z\",\"0xbfd772cb4571eb6275f23d4fd8c7eb1502462b55821ee59dae0d15ab3325fc22\",[\"eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.impl:\n- \"eth:0xAdBa78120E85Add0dBD2050dBA0548CEDA81A31b\"\n+ \"eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61\"\n values.preconfRouter:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a\"\n implementationNames.eth:0xAdBa78120E85Add0dBD2050dBA0548CEDA81A31b:\n- \"TaikoWrapper\"\n implementationNames.eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61:\n+ \"TaikoWrapper\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreconfRouter (0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a)\n +++ description: Entry point for batch proposals under the pre-confirmation architecture. It allows batches to be proposed only by whitelisted addresses.\n```\n\n```diff\n+ Status: CREATED\n contract PreconfWhitelist (0xFD019460881e6EeC632258222393d5821029b2ac)\n +++ description: Contract that contains the whitelist for addresses allowed to propose (pre-confirmation) batches. There are currently 3 operators registered.\n```"
}
]
},
{
"id": "bd4ebc39",
"date": "Tue, 29 Jul 2025 13:42:27 GMT",
"timestamp": 1753796542,
"description": "Updated RISC0 Groth16 verifier version for Taiko batch proofs.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0x34Eda8BfFb539AeC33078819847B36D221c6641c)\n +++ description: Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n```"
}
]
},
{
"id": "7d538f31",
"date": "Tue, 15 Jul 2025 08:05:18 GMT",
"timestamp": 1752566718,
"description": "[Single line change](https://disco.l2beat.com/diff/eth:0x497B13f9192B09244de9b5F0964830969FB26F07/eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC) to the baseFeeConfig.sharingPctg: 50 -> 75.\n\n[ai]: this means that 75% of transaction fees are going to the block proposer and 25% to taiko treasury (distribution logic on L2).\ni could not really verify this claim and unsuccessfully searched for any l2 logic that distributes fees.\n\nthe pre-pacaya impl is the same.",
"isHighSeverity": false,
"changeCount": 12,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1 (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: Main contract implementing the logic for proposing and proving Taiko blocks on L1.\n sourceHashes.1:\n- \"0xc4ae3ca2fcf606673a1324989a7ac169b3fdb6780917814506e56898484e99d7\"\n+ \"0xd3d952e9a5655549b172292d82b0e6e7b2223cab5ef6819f2790ed53304f56a7\"\n values.$implementation.0:\n- \"eth:0x4e030b19135869F6fd926614754B7F9c184E2B83\"\n+ \"eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319\"\n values.$implementation.2:\n- \"eth:0x497B13f9192B09244de9b5F0964830969FB26F07\"\n+ \"eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC\"\n values.$pastUpgrades.26:\n+ [\"2025-07-15T01:20:35.000Z\",\"0xffedb70a513e71486c3a47079508d3ba87ae5362e7efb3300febac1be69276bc\",[\"eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319\",\"eth:0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264\",\"eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC\"]]\n values.$upgradeCount:\n- 26\n+ 27\n values.impl:\n- \"eth:0x4e030b19135869F6fd926614754B7F9c184E2B83\"\n+ \"eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319\"\n values.newFork:\n- \"eth:0x497B13f9192B09244de9b5F0964830969FB26F07\"\n+ \"eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC\"\n values.pacayaConfig.baseFeeConfig.sharingPctg:\n- 50\n+ 75\n implementationNames.eth:0x4e030b19135869F6fd926614754B7F9c184E2B83:\n- \"PacayaForkRouter\"\n implementationNames.eth:0x497B13f9192B09244de9b5F0964830969FB26F07:\n- \"MainnetInbox\"\n implementationNames.eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319:\n+ \"PacayaForkRouter\"\n implementationNames.eth:0x80d888ce11738196CfCf27E3b18F65bD4a331CEC:\n+ \"MainnetInbox\"\n }\n```"
}
]
},
{
"id": "d47b4a14",
"date": "Mon, 14 Jul 2025 12:46:35 GMT",
"timestamp": 1752497195,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 42,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract PEMCertChainLib (0x02772b7B3a5Bea0141C993Dbb8D0733C19F46169)\n +++ description: Library for managing PEM certificate chains.\n```\n\n```diff\n+ Status: CREATED\n contract ForcedInclusionStore (0x05d88855361808fA1d7fc28084Ef3fCa191c4e03)\n +++ description: Contract that allows users to enqueue forced transactions via L1. The system guarantees that at least one pending forced transaction from the queue will be processed every 255 batches. Individual transactions may face longer delays if the queue is extensive.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoL1 (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a)\n +++ description: Main contract implementing the logic for proposing and proving Taiko blocks on L1.\n```\n\n```diff\n+ Status: CREATED\n contract Halborn (0x0F40268Ec0Dc8D88CF2f22E227A29a0b478b6351)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SignerList (0x0F95E6968EC1B28c794CF1aD99609431de5179c2)\n +++ description: A signer list for registering agents, similar to a Multisig.\n```\n\n```diff\n+ Status: CREATED\n contract AutomataDcapV3Attestation (0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261)\n +++ description: Contract managing SGX attestation certificates.\n```\n\n```diff\n+ Status: CREATED\n contract Taiko Token (0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800)\n +++ description: ERC20 contract implementing the TAIKO token. It defines a list of addresses designated as non-voting.\n```\n\n```diff\n+ Status: CREATED\n contract Drew Van der Werff (0x25d3E89bAcE2040Ed3aF7c4c7B505cfBB72fD6f1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EmergencyMultisig (0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd)\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n```\n\n```diff\n+ Status: CREATED\n contract EncryptionRegistry (0x2eFDb93a3B87b930E553d504db67Ee41c69C42d1)\n +++ description: A registry for signers (of the Security Council) to appoint agents to operate on their behalf. These agents can also register their encryption keys for encrypted emergency proposal support.\n```\n\n```diff\n+ Status: CREATED\n contract Taiko Foundation Treasury Multisig (0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Chainbound (0x436a1075099A145417EBFc74BBaC9605e3e4f1A7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SigVerifyLib (0x47bB416ee947fE4a4b655011aF7d6E3A1B80E6e9)\n +++ description: Library for verifying signatures.\n```\n\n```diff\n+ Status: CREATED\n contract Nethermind (0x5353c607e6eca6C63FEC5c6C0F5CC3a5348d5c95)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DefaultResolver (0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9)\n +++ description: An operator proxy used by the Taiko team for operating (proposing, proving) the based rollup from permissioned addresses.\n```\n\n```diff\n+ Status: CREATED\n contract Risc0VerifierGateway (0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE)\n +++ description: Entry contract to verify batches using RISC Zero.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoDAOController (0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a)\n +++ description: Contract that maintains ownership DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n```\n\n```diff\n+ Status: CREATED\n contract SgxVerifier (0x7e6409e9b6c5e2064064a6cC994f9a2e95680782)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract AutomataDcapV3Attestation (0x8d7C954960a36a7596d7eA4945dDf891967ca8A3)\n +++ description: Contract managing SGX attestation certificates.\n```\n\n```diff\n+ Status: CREATED\n contract DefaultResolver (0x8Efa01564425692d0a0838DC10E300BD310Cb43e)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract QuotaManager (0x91f67118DD47d502B1f0C354D0611997B022f29E)\n +++ description: Defines withdrawal limits per token.\n```\n\n```diff\n+ Status: CREATED\n contract OptimisticTokenVotingPlugin (0x989E348275b659d36f8751ea1c10D146211650BE)\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n```\n\n```diff\n+ Status: CREATED\n contract MainnetERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab)\n +++ description: Shared vault for Taiko chains for bridged ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DAO (0x9CDf589C941ee81D75F34d3755671d614f7cf261)\n +++ description: The main contract of the Aragon-based DAO governance framework.\n```\n\n```diff\n+ Status: CREATED\n contract MainnetSignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C)\n +++ description: The SignalService contract serves as cross-chain message passing system. It defines methods for sending and verifying signals with merkle proofs.\n```\n\n```diff\n+ Status: CREATED\n contract SgxVerifier (0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoWrapper (0x9F9D2fC7abe74C79f86F0D1212107692430eef72)\n +++ description: Entry point for proposing blocks. It enforces the inclusion of forced transactions after their deadline.\n```\n\n```diff\n+ Status: CREATED\n contract Toni Wahrstätter (0xa384E224A3F3D664F43eBE33395eF0DCcE67e894)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract VerifierGateway (0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1)\n +++ description: Gateway contract for the multi-proof system. It redirects proof to the appropriate verifier based on the proof type.\n```\n\n```diff\n+ Status: CREATED\n contract Aragon (0xb284810536C0dAB6A8e48153B58588A9B9e0F701)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Daniel Wang (0xb47fE76aC588101BFBdA9E68F66433bA51E8029a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGateway (0xbee1040D0Aab17AE19454384904525aE4A3602B9)\n +++ description: Entry contract to verify batches using SP1.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (0xD5cF6A34Ba5fb9289510dC93c03F1f9084798487)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC)\n +++ description: Shared bridge for Taiko chains for bridged ETH.\n```\n\n```diff\n+ Status: CREATED\n contract Multisig (0xD7dA1C25E915438720692bC55eb3a7170cA90321)\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n```\n\n```diff\n+ Status: CREATED\n contract L1SharedAddressManager (0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract L2BEAT (0xf1cF63589A1e012F9124182c9eAa36B5333e5f06)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0xfB3Ca570A5348FD101e65303eECdB5Bf43C5548a)\n +++ description: Verifier contract for RISC Zero Groth16 proofs.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoDAOController (0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3)\n +++ description: Contract that maintains ownership DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (0xFF5Adab685362DC4C33536a65aF5873738D1216B)\n +++ description: Verifier contract for SP1 proofs (v5.0.0).\n```"
}
]
},
{
"id": "1d3ebb22",
"date": "Wed, 09 Jul 2025 16:02:11 GMT",
"timestamp": 1752076931,
"description": "Enclave hashes updated. Safe Multisigs upgraded to newest version.\n\nTaiko Foundation Treasury Multisig 4/6 -> 2/3",
"isHighSeverity": true,
"changeCount": 19,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AutomataDcapV3Attestation (0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.1:\n+ \"0x692c8624d30a327340b0dfbb67203e941175ac700d1a058c717e5269103d37e6\"\n }\n```\n\n```diff\n contract Taiko Foundation Treasury Multisig (0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.$members.0:\n- \"0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.$members.2:\n- \"0x1eE487CEdCe52c370DB11e62987F3ABe873E145A\"\n values.$members.3:\n- \"0xFa92ff698D57f7B875570D9F59501812B843CD44\"\n values.$members.4:\n- \"0x7Cdd1c128Cd72dd252f569eeD942735330937F91\"\n values.$threshold:\n- 4\n+ 2\n values.multisigThreshold:\n- \"4 of 6 (67%)\"\n+ \"2 of 3 (67%)\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.14:\n+ \"0x631778b0d420d2d0bba4c730b0fd74857afeefb3429371ae97ab450e40ca127e\"\n values.mrEnclaves.15:\n+ \"0x482b06132c4306ea55bc34ff90d46532ff4151f473dbfe4d2cb2442af2ff288b\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "42904efb",
"date": "Thu, 19 Jun 2025 11:31:54 GMT",
"timestamp": 1750332714,
"description": "Some core upgrade permissions transferred to DAOController.",
"isHighSeverity": false,
"changeCount": 25,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoDAOController (0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) {\n +++ description: Contract that maintains ownership DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n receivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\",\"role\":\"admin\"}\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x91f67118DD47d502B1f0C354D0611997B022f29E\",\"role\":\"admin\"}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\",\"role\":\"admin\"}\n receivedPermissions.1.from:\n- \"ethereum:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n+ \"ethereum:0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n receivedPermissions.0.from:\n- \"ethereum:0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"ethereum:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n }\n```\n\n```diff\n contract QuotaManager (0x91f67118DD47d502B1f0C354D0611997B022f29E) {\n +++ description: Defines withdrawal limits per token.\n values.$admin:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n receivedPermissions.25:\n- {\"permission\":\"upgrade\",\"from\":\"ethereum:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\"}\n receivedPermissions.24:\n- {\"permission\":\"upgrade\",\"from\":\"ethereum:0xbee1040D0Aab17AE19454384904525aE4A3602B9\",\"role\":\"admin\"}\n receivedPermissions.23:\n- {\"permission\":\"upgrade\",\"from\":\"ethereum:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\",\"role\":\"admin\"}\n receivedPermissions.22.from:\n- \"ethereum:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n+ \"ethereum:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n receivedPermissions.21.from:\n- \"ethereum:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"ethereum:0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n receivedPermissions.20.from:\n- \"ethereum:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n+ \"ethereum:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n receivedPermissions.19.from:\n- \"ethereum:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n+ \"ethereum:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n receivedPermissions.18.from:\n- \"ethereum:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n+ \"ethereum:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n receivedPermissions.17.from:\n- \"ethereum:0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n+ \"ethereum:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n receivedPermissions.16.from:\n- \"ethereum:0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n+ \"ethereum:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.15.from:\n- \"ethereum:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n+ \"ethereum:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n receivedPermissions.14.from:\n- \"ethereum:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\"\n+ \"ethereum:0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n receivedPermissions.13.from:\n- \"ethereum:0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\"\n+ \"ethereum:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\"\n receivedPermissions.12.from:\n- \"ethereum:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n+ \"ethereum:0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\"\n }\n```\n\n```diff\n contract MainnetSignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: The SignalService contract serves as cross-chain message passing system. It defines methods for sending and verifying signals with merkle proofs.\n values.$admin:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract MainnetBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: Shared bridge for Taiko chains for bridged ETH.\n values.$admin:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```"
}
]
},
{
"id": "b7ee8824",
"date": "Wed, 18 Jun 2025 11:39:33 GMT",
"timestamp": 1750246773,
"description": "New test proposal (no actions, will be vetoed).",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimisticTokenVotingPlugin (0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 19\n+ 20\n values.proposalIds.19:\n+ \"594516471058441525137805458817300690127055486982\"\n values.proposalIds.18:\n- \"594516471058441525137805458817300690127055486982\"\n+ \"594368007222883387369940600290236287695678603267\"\n values.proposalIds.17:\n- \"594368007222883387369940600290236287695678603267\"\n+ \"594789857995414210150628315872956409027640688649\"\n values.proposalIds.16:\n- \"594789857995414210150628315872956409027640688649\"\n+ \"595223436259438596154551751121806216745162113041\"\n values.proposalIds.15:\n- \"595223436259438596154551751121806216745162113041\"\n+ \"595223403592331371744459256866956472219296858128\"\n values.proposalIds.14:\n- \"595223403592331371744459256866956472219296858128\"\n+ \"594333890512775894079591912881534348495153004546\"\n values.proposalIds.13:\n- \"594333890512775894079591912881534348495153004546\"\n+ \"595517191137765700860044776076277647522733752339\"\n }\n```\n\n```diff\n contract Multisig (0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 10\n+ 11\n }\n```"
}
]
},
{
"id": "498f0a7b",
"date": "Fri, 13 Jun 2025 08:40:49 GMT",
"timestamp": 1749804049,
"description": "Risc0 verifier update (gateway and groth16 verifier changes are minimal).",
"isHighSeverity": true,
"changeCount": 37,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract RiscZeroGroth16Verifier (0x48E32eFbe22e180A3FFe617f4955cD83B983dd98)\n +++ description: Verifier contract for RISC Zero Groth16 proofs.\n```\n\n```diff\n contract DefaultResolver (0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.namedAddresses.13.name:\n- \"0x72697363305f67726f746831365f766572696669657200000000000000000000\"\n+ \"bond_token\"\n values.namedAddresses.13.address:\n- \"0x48E32eFbe22e180A3FFe617f4955cD83B983dd98\"\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.namedAddresses.12.name:\n- \"bond_token\"\n+ \"0x7370315f72656d6f74655f766572696669657200000000000000000000000000\"\n values.namedAddresses.12.address:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"0xFF5Adab685362DC4C33536a65aF5873738D1216B\"\n values.namedAddresses.11.name:\n- \"0x7370315f72656d6f74655f766572696669657200000000000000000000000000\"\n+ \"taiko_token\"\n values.namedAddresses.11.address:\n- \"0xFF5Adab685362DC4C33536a65aF5873738D1216B\"\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.namedAddresses.10.name:\n- \"taiko_token\"\n+ \"0x6175746f6d6174615f646361705f6174746573746174696f6e00000000000000\"\n values.namedAddresses.10.address:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n values.namedAddresses.9.name:\n- \"0x6175746f6d6174615f646361705f6174746573746174696f6e00000000000000\"\n+ \"0x72697363305f726574685f766572696669657200000000000000000000000000\"\n values.namedAddresses.9.address:\n- \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\"\n values.namedAddresses.8.name:\n- \"0x72697363305f726574685f766572696669657200000000000000000000000000\"\n+ \"bridge\"\n values.namedAddresses.8.address:\n- \"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\"\n+ \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n values.namedAddresses.7.name:\n- \"bridge\"\n+ \"0x72697363305f67726f746831365f766572696669657200000000000000000000\"\n values.namedAddresses.7.address:\n- \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n+ \"0xfB3Ca570A5348FD101e65303eECdB5Bf43C5548a\"\n }\n```\n\n```diff\n contract Risc0VerifierGateway (0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE) {\n +++ description: Entry contract to verify batches using RISC Zero.\n sourceHashes.1:\n- \"0xd24723da846efa982924d892e9d3e52d38b6d85eab9d8e2f0a298ff07d18d994\"\n+ \"0xbf2f7f196a5a1b3990b49d6d86c282eedd22259e4e1c970138b25b38cced4ac6\"\n values.$implementation:\n- \"0x801878e56A8DA58d6a837006345CDD11a9E6a852\"\n+ \"0xB1c6fF8dCbED16FE412291E7BDA0d611405944Be\"\n values.$pastUpgrades.1:\n+ [\"2025-05-15T00:25:59.000Z\",\"0x2c106efd4e844195ff8597792c0e87d8319c23b5f4b6f675f878d75181c27baa\",[\"0x801878e56A8DA58d6a837006345CDD11a9E6a852\"]]\n values.$pastUpgrades.0.2:\n- [\"0x801878e56A8DA58d6a837006345CDD11a9E6a852\"]\n+ \"2025-06-12T03:50:35.000Z\"\n values.$pastUpgrades.0.1:\n- \"0x2c106efd4e844195ff8597792c0e87d8319c23b5f4b6f675f878d75181c27baa\"\n+ \"0x2b9250ebdcf10b1a1ec658e5cc9e7fd9aa19dd32573e6ab5bc036499682dea3a\"\n values.$pastUpgrades.0.0:\n- \"2025-05-15T00:25:59.000Z\"\n+ [\"0xB1c6fF8dCbED16FE412291E7BDA0d611405944Be\"]\n values.$upgradeCount:\n- 1\n+ 2\n values.impl:\n- \"0x801878e56A8DA58d6a837006345CDD11a9E6a852\"\n+ \"0xB1c6fF8dCbED16FE412291E7BDA0d611405944Be\"\n values.riscoGroth16Verifier:\n- \"0x48E32eFbe22e180A3FFe617f4955cD83B983dd98\"\n+ \"0xfB3Ca570A5348FD101e65303eECdB5Bf43C5548a\"\n implementationNames.0x801878e56A8DA58d6a837006345CDD11a9E6a852:\n- \"Risc0Verifier\"\n implementationNames.0xB1c6fF8dCbED16FE412291E7BDA0d611405944Be:\n+ \"TaikoRisc0Verifier\"\n }\n```\n\n```diff\n contract TaikoDAOController (0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) {\n +++ description: Contract that maintains ownership DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n receivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract AutomataDcapV3Attestation (0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.13:\n+ \"0xb09f9005e4612526e378466b5c16ab6028478e81c085812d6ed37166c4cda10e\"\n values.mrEnclaves.12:\n+ \"0x6e43c1d575b5b785d0f6259dfac44998c6f0c164864f9f98270fb740c14eb943\"\n }\n```\n\n```diff\n contract MainnetERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) {\n +++ description: Shared vault for Taiko chains for bridged ERC20 tokens.\n values.$admin:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n receivedPermissions.26:\n- {\"permission\":\"upgrade\",\"from\":\"ethereum:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\"}\n receivedPermissions.25.from:\n- \"ethereum:0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n+ \"ethereum:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n receivedPermissions.24.from:\n- \"ethereum:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n+ \"ethereum:0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n receivedPermissions.23.from:\n- \"ethereum:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n+ \"ethereum:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n receivedPermissions.22.from:\n- \"ethereum:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n+ \"ethereum:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0xfB3Ca570A5348FD101e65303eECdB5Bf43C5548a)\n +++ description: Verifier contract for RISC Zero Groth16 proofs.\n```"
}
]
},
{
"id": "4d68e491",
"date": "Mon, 09 Jun 2025 10:52:23 GMT",
"timestamp": 1749466343,
"description": "New daocontroller for the TAIKO token, which is now controlled by the DAO.",
"isHighSeverity": false,
"changeCount": 40,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Taiko Token (0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800) {\n +++ description: ERC20 contract implementing the TAIKO token. It defines a list of addresses designated as non-voting.\n values.$admin:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n values.owner:\n- \"0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F\"\n+ \"0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 14\n+ 19\n values.proposalIds.18:\n+ \"594516471058441525137805458817300690127055486982\"\n values.proposalIds.17:\n+ \"594368007222883387369940600290236287695678603267\"\n values.proposalIds.16:\n+ \"594789857995414210150628315872956409027640688649\"\n values.proposalIds.15:\n+ \"595223436259438596154551751121806216745162113041\"\n values.proposalIds.14:\n+ \"595223403592331371744459256866956472219296858128\"\n values.proposalIds.13:\n- \"594516471058441525137805458817300690127055486982\"\n+ \"594333890512775894079591912881534348495153004546\"\n values.proposalIds.12:\n- \"594368007222883387369940600290236287695678603267\"\n+ \"594544283016854707280302755040001935835586887687\"\n values.proposalIds.11:\n- \"594789857995414210150628315872956409027640688649\"\n+ \"594516360806954642753743290707182802352260251653\"\n values.proposalIds.10:\n- \"594333890512775894079591912881534348495153004546\"\n+ \"594868197801926748603689506985812031612995502090\"\n values.proposalIds.9:\n- \"594544283016854707280302755040001935835586887687\"\n+ \"594516275055798178677248899489514254466604335108\"\n values.proposalIds.8:\n- \"594516360806954642753743290707182802352260251653\"\n+ \"594544466769332844587073035223531748793578946568\"\n values.proposalIds.7:\n- \"594868197801926748603689506985812031612995502090\"\n+ \"595202819231391590334926314529761202858453106703\"\n values.proposalIds.6:\n- \"594516275055798178677248899489514254466604335108\"\n+ \"595112788683881116119978678391417950963358498829\"\n values.proposalIds.5:\n- \"594544466769332844587073035223531748793578946568\"\n+ \"594932801089851422612858457733038049577270247436\"\n values.proposalIds.4:\n- \"595112788683881116119978678391417950963358498829\"\n+ \"594333808845007833054360677244409987180489867265\"\n values.proposalIds.3:\n- \"594932801089851422612858457733038049577270247436\"\n+ \"594318504305273196926027118847304676812617940992\"\n values.proposalIds.2:\n- \"594333808845007833054360677244409987180489867265\"\n+ \"594868769476303175780308156445682560815637463051\"\n values.proposalIds.1:\n- \"594318504305273196926027118847304676812617940992\"\n+ \"595168678020953678736974786657474616653076496398\"\n values.proposalIds.0:\n- \"594868769476303175780308156445682560815637463051\"\n+ \"595300306046126036153418824792663965561388007442\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n receivedPermissions.27:\n- {\"permission\":\"upgrade\",\"from\":\"ethereum:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\",\"role\":\"admin\"}\n receivedPermissions.26.from:\n- \"ethereum:0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n+ \"ethereum:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n receivedPermissions.25.from:\n- \"ethereum:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n+ \"ethereum:0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n receivedPermissions.24.from:\n- \"ethereum:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n+ \"ethereum:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n receivedPermissions.23.from:\n- \"ethereum:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n+ \"ethereum:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n receivedPermissions.22.from:\n- \"ethereum:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"ethereum:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n receivedPermissions.21.from:\n- \"ethereum:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n+ \"ethereum:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n receivedPermissions.20.from:\n- \"ethereum:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n+ \"ethereum:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n receivedPermissions.19.from:\n- \"ethereum:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n+ \"ethereum:0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.18.from:\n- \"ethereum:0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n+ \"ethereum:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n receivedPermissions.17.from:\n- \"ethereum:0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n+ \"ethereum:0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n receivedPermissions.16.from:\n- \"ethereum:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n+ \"ethereum:0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n receivedPermissions.15.from:\n- \"ethereum:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\"\n+ \"ethereum:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n receivedPermissions.14.from:\n- \"ethereum:0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"ethereum:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\"\n }\n```\n\n```diff\n contract DAO (0x9CDf589C941ee81D75F34d3755671d614f7cf261) {\n +++ description: The main contract of the Aragon-based DAO governance framework.\n receivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3\",\"role\":\"admin\"}\n receivedPermissions.0.from:\n- \"ethereum:0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3\"\n+ \"ethereum:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a\"\n }\n```\n\n```diff\n contract Multisig (0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 9\n+ 10\n }\n```\n\n```diff\n+ Status: CREATED\n contract TaikoDAOController (0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a)\n +++ description: Contract that maintains ownership DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n```"
}
]
},
{
"id": "c4d32097",
"date": "Wed, 04 Jun 2025 13:52:34 GMT",
"timestamp": 1749045154,
"description": "SP1 verifier upgrade to v5 (plonky3 vuln related). Security Council signer removed (internal test signer). The DAO/SC is now in prod configuration, but hasn't got any critical permissions yet.",
"isHighSeverity": true,
"changeCount": 32,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SignerList (0x0F95E6968EC1B28c794CF1aD99609431de5179c2) {\n +++ description: A signer list for registering agents, similar to a Multisig.\n values.addresslistLength:\n- 9\n+ 8\n values.getEncryptionAgents.8:\n- \"0x824Dce8d292a393DAb5FFdeb788DC1086257f678\"\n values.getEncryptionAgents.7:\n- \"0x1d955983044548E03DAA583B36A37cA4bdE6F556\"\n+ \"0x824Dce8d292a393DAb5FFdeb788DC1086257f678\"\n values.getEncryptionAgents.6:\n- \"0x85f21919ed6046d7CE1F36a613eBA8f5EaC3d070\"\n+ \"0x1d955983044548E03DAA583B36A37cA4bdE6F556\"\n values.settings.minSignerListLength:\n- 9\n+ 8\n }\n```\n\n```diff\n contract EmergencyMultisig (0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n+++ description: The total count of encrypted emergency proposals created.\n values.proposalCount:\n- 21\n+ 23\n }\n```\n\n```diff\n contract DefaultResolver (0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.namedAddresses.11.name:\n- \"taiko_token\"\n+ \"0x7370315f72656d6f74655f766572696669657200000000000000000000000000\"\n values.namedAddresses.11.address:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"0xFF5Adab685362DC4C33536a65aF5873738D1216B\"\n values.namedAddresses.10.name:\n- \"0x7370315f72656d6f74655f766572696669657200000000000000000000000000\"\n+ \"taiko_token\"\n values.namedAddresses.10.address:\n- \"0x68593ad19705E9Ce919b2E368f5Cb7BAF04f7371\"\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SP1Verifier (0x68593ad19705E9Ce919b2E368f5Cb7BAF04f7371)\n +++ description: Verifier contract for SP1 proofs.\n```\n\n```diff\n contract OptimisticTokenVotingPlugin (0x989E348275b659d36f8751ea1c10D146211650BE) {\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n values.proposalCount:\n- 13\n+ 14\n values.proposalIds.13:\n+ \"594516471058441525137805458817300690127055486982\"\n values.proposalIds.12:\n- \"594516471058441525137805458817300690127055486982\"\n+ \"594368007222883387369940600290236287695678603267\"\n values.proposalIds.11:\n- \"594368007222883387369940600290236287695678603267\"\n+ \"594789857995414210150628315872956409027640688649\"\n values.proposalIds.10:\n- \"594789857995414210150628315872956409027640688649\"\n+ \"594333890512775894079591912881534348495153004546\"\n values.proposalIds.9:\n- \"594333890512775894079591912881534348495153004546\"\n+ \"594544283016854707280302755040001935835586887687\"\n values.proposalIds.8:\n- \"594544283016854707280302755040001935835586887687\"\n+ \"594516360806954642753743290707182802352260251653\"\n values.proposalIds.7:\n- \"594516360806954642753743290707182802352260251653\"\n+ \"594868197801926748603689506985812031612995502090\"\n values.proposalIds.6:\n- \"594868197801926748603689506985812031612995502090\"\n+ \"594516275055798178677248899489514254466604335108\"\n values.proposalIds.5:\n- \"594516275055798178677248899489514254466604335108\"\n+ \"594544466769332844587073035223531748793578946568\"\n values.proposalIds.4:\n- \"594544466769332844587073035223531748793578946568\"\n+ \"595112788683881116119978678391417950963358498829\"\n }\n```\n\n```diff\n contract SP1VerifierGateway (0xbee1040D0Aab17AE19454384904525aE4A3602B9) {\n +++ description: Entry contract to verify batches using SP1.\n sourceHashes.1:\n- \"0x5ae248a45849f9700bac9ab8fbd1570be72258e51c738511f3468f788e1127ca\"\n+ \"0x21ba9895a752c42c9a52b397fdc8ee7c4c22e621273f53176f80c853e2502ca0\"\n values.$implementation:\n- \"0x35f26e14D0dAeDd1904843370f761C60B891D466\"\n+ \"0x2E17aC86CafC1db939C9942E478F92bF0E548Ee7\"\n values.$pastUpgrades.1:\n+ [\"2025-06-04T00:40:23.000Z\",\"0xbdc86ada3808a5987cd1f4bbc49ecd2d7e577bf90642956442a3d14cffa827ec\",[\"0x2E17aC86CafC1db939C9942E478F92bF0E548Ee7\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.impl:\n- \"0x35f26e14D0dAeDd1904843370f761C60B891D466\"\n+ \"0x2E17aC86CafC1db939C9942E478F92bF0E548Ee7\"\n values.sp1RemoteVerifier:\n- \"0x68593ad19705E9Ce919b2E368f5Cb7BAF04f7371\"\n+ \"0xFF5Adab685362DC4C33536a65aF5873738D1216B\"\n implementationNames.0x35f26e14D0dAeDd1904843370f761C60B891D466:\n- \"SP1Verifier\"\n implementationNames.0x2E17aC86CafC1db939C9942E478F92bF0E548Ee7:\n+ \"TaikoSP1Verifier\"\n }\n```\n\n```diff\n contract Multisig (0xD7dA1C25E915438720692bC55eb3a7170cA90321) {\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n values.proposalCount:\n- 6\n+ 9\n }\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (0xFF5Adab685362DC4C33536a65aF5873738D1216B)\n +++ description: Verifier contract for SP1 proofs.\n```"
}
]
},
{
"id": "814f8a2c",
"date": "Fri, 30 May 2025 14:28:14 GMT",
"timestamp": 1748615294,
"description": "Add DAO and SC related contracts.",
"isHighSeverity": false,
"changeCount": 14,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract Halborn (0x0F40268Ec0Dc8D88CF2f22E227A29a0b478b6351)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SignerList (0x0F95E6968EC1B28c794CF1aD99609431de5179c2)\n +++ description: A signer list for registering agents, similar to a Multisig.\n```\n\n```diff\n+ Status: CREATED\n contract Drew Van der Werff (0x25d3E89bAcE2040Ed3aF7c4c7B505cfBB72fD6f1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EmergencyMultisig (0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd)\n +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n```\n\n```diff\n+ Status: CREATED\n contract EncryptionRegistry (0x2eFDb93a3B87b930E553d504db67Ee41c69C42d1)\n +++ description: A registry for signers (of the Security Council) to appoint agents to operate on their behalf. These agents can also register their encryption keys for encrypted emergency proposal support.\n```\n\n```diff\n+ Status: CREATED\n contract Chainbound (0x436a1075099A145417EBFc74BBaC9605e3e4f1A7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Nethermind (0x5353c607e6eca6C63FEC5c6C0F5CC3a5348d5c95)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimisticTokenVotingPlugin (0x989E348275b659d36f8751ea1c10D146211650BE)\n +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n```\n\n```diff\n+ Status: CREATED\n contract Toni Wahrstätter (0xa384E224A3F3D664F43eBE33395eF0DCcE67e894)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Aragon (0xb284810536C0dAB6A8e48153B58588A9B9e0F701)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Daniel Wang (0xb47fE76aC588101BFBdA9E68F66433bA51E8029a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Safe (0xD5cF6A34Ba5fb9289510dC93c03F1f9084798487)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Multisig (0xD7dA1C25E915438720692bC55eb3a7170cA90321)\n +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n```\n\n```diff\n+ Status: CREATED\n contract L2BEAT (0xf1cF63589A1e012F9124182c9eAa36B5333e5f06)\n +++ description: None\n```"
}
]
},
{
"id": "2da74e0e",
"date": "Fri, 30 May 2025 11:13:55 GMT",
"timestamp": 1748603635,
"description": "Ignore spammy batches/state values.",
"isHighSeverity": false,
"changeCount": 44,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Taiko Foundation Treasury Multisig (0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da) {\n +++ description: None\n values.$members.5:\n+ \"0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n values.$members.4:\n- \"0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n+ \"0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1\"\n values.$members.3:\n- \"0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1\"\n+ \"0xFa92ff698D57f7B875570D9F59501812B843CD44\"\n values.$members.2:\n- \"0xFa92ff698D57f7B875570D9F59501812B843CD44\"\n+ \"0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a\"\n values.$threshold:\n- 3\n+ 4\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"4 of 6 (67%)\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.5:\n+ \"0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n values.$members.4:\n- \"0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n+ \"0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1\"\n values.$members.3:\n- \"0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1\"\n+ \"0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a\"\n values.multisigThreshold:\n- \"4 of 5 (80%)\"\n+ \"4 of 6 (67%)\"\n receivedPermissions.27:\n+ {\"permission\":\"upgrade\",\"from\":\"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\",\"role\":\"admin\"}\n receivedPermissions.26:\n+ {\"permission\":\"upgrade\",\"from\":\"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\",\"role\":\"admin\"}\n receivedPermissions.25:\n+ {\"permission\":\"upgrade\",\"from\":\"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\",\"role\":\"admin\"}\n receivedPermissions.24.from:\n- \"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n+ \"0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\"\n receivedPermissions.23.from:\n- \"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n+ \"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\"\n receivedPermissions.22.from:\n- \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n receivedPermissions.21.from:\n- \"0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\"\n+ \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n receivedPermissions.20.from:\n- \"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\"\n+ \"0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9\"\n receivedPermissions.19.from:\n- \"0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n+ \"0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n receivedPermissions.18.from:\n- \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n+ \"0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n receivedPermissions.17.from:\n- \"0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n+ \"0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.16.from:\n- \"0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n+ \"0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n receivedPermissions.15.from:\n- \"0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n+ \"0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\"\n receivedPermissions.14.from:\n- \"0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n+ \"0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n receivedPermissions.13.from:\n- \"0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\"\n+ \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n receivedPermissions.12.from:\n- \"0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n+ \"0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n receivedPermissions.11.from:\n- \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n receivedPermissions.10.from:\n- \"0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n+ \"0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\"\n receivedPermissions.9.from:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n receivedPermissions.8.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.8.from:\n- \"0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n+ \"0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.8.role:\n- \"admin\"\n+ \".owner\"\n receivedPermissions.8.description:\n+ \"can update the contract address for a given name\"\n receivedPermissions.7.from:\n- \"0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n+ \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n receivedPermissions.7.description:\n- \"can update the contract address for a given name\"\n+ \"can update the program being verified\"\n receivedPermissions.6.from:\n- \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\"\n receivedPermissions.5.from:\n- \"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\"\n+ \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n receivedPermissions.5.description:\n- \"can update the program being verified\"\n+ \"can update the contract address for a given name\"\n receivedPermissions.4.from:\n- \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n+ \"0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n receivedPermissions.4.description:\n- \"can update the contract address for a given name\"\n+ \"can update the program being verified\"\n receivedPermissions.3.from:\n- \"0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n+ \"0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a\"\n receivedPermissions.3.description:\n- \"can update the program being verified\"\n+ \"can update the contract address for a given name\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DefaultResolver (0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9)\n +++ description: None\n```"
}
]
},
{
"id": "051bf3d9",
"date": "Wed, 28 May 2025 11:33:59 GMT",
"timestamp": 1748432039,
"description": "Main TaikoL1 contract has been upgraded to an intermediate proxy that points to both an old and new implementation. The old implementation is also not the same as the actually previous one, but it's just add a \"Pacaya\" fork height that prevents proposing or proving for new blocks. The new fork compared to the new presents some simplifications, like removal of `AddressCache`, `AddressResolver`, `IAddressResolver`, `ITaikoL1`, `LibBonds`, `LibData`, `LibProposing`, `LibProving`, `LibUtils`, `LibVerifying`, `RollupAddressCache`, `SafeCastUpgradeable`, `TaikoData`, and `TaikoEvents`. The address resolving logic is still present and has been moved to the `EssentialContract` contract.\n\nAt the time of writing, calls are still forwarded to the old impl as the Pacaya fork is expected to go live on Wed 21 May. `ITaikoInbox` and `TaikoInbox` replace `ITaikoL1` and `TaikoL1`. Batches have replaced blocks, as now one batch can contain multiple blocks. Instead of `proposeBlocksV2`, the `proposeBatch` function is called to sequence blocks. An `InboxWrapper` contract has been introduced, which is referenced by the `TaikoInbox`. The `InboxWrapper` references a `ForcedInclusionStore` contract that is used to submit forced transactions. All forced transactions must pay a fee, and it's currently set to a very high value meaning that the mechanism is in practice disabled. The slowest forced transactions can be included is one by one every 255 batches, creating a potential DoS attack via spam of forced transactions. It's therefore not clear how to estimate exit windows (not that it matters rn).\n\nThe `proveBatches` function reflects the removal of tiers. The `_params` is decoded into `metas[]` (metadatas) and `trans[]` (transitions). On transition ids: when a batch is first proposed, the `nextTransitionId` is 1 and the `verifiedTransitionId` is zero. When a batch is proven for the first time, the `nextTransitionId` is incremented to 2, the proofs get verified, everything is good. The same batch can be proven again: it is checked that the new block hash and new state root also corresponds. If it does, it is treated as a no-op, if it doesn't, the block hash of the transition is set to zero, and contracts are paused. It is possible to prove a fault this way by providing a different starting point for the proving process, by providing a different `parentHash` to start from. Batches whose transitions' `blockHash` is set to zero are skipped during the `verifyBatches` call.\n \nThe `verifyBatches` function also reflects the removal of tiers. The main function is still to credit back bonds to the proposer, specifically the full liveness bond if the block has been proved within the proving window, or half bond if not.\n \nThe `verifier` is actually a multi-proof system with 4 verifiers: sp1, r0, sgx_reth and sgx_geth. A proof must contain exactly two sub-proofs targeting two different verifiers. An ordering is defined between them based on their address: r0 -> sgx_geth -> sgx_reth -> sp1. It is required that one of the verifiers used is sgx_geth. It is possible to use two TEEs to verify a block, which causes them to still be affected by our recategorization.",
"isHighSeverity": true,
"changeCount": 263,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1 (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: Main contract implementing the logic for proposing and proving Taiko blocks on L1.\n name:\n- \"MainnetTaikoL1\"\n+ \"TaikoL1\"\n template:\n- \"taiko/TaikoL1Contract\"\n+ \"taiko/TaikoL1PostPacaya\"\n sourceHashes.1:\n- \"0x8c8d91a3b010953954bbd3ba9f4c55f76112bf6d7f298dcd584c2de94a4ad1a4\"\n+ \"0xc4ae3ca2fcf606673a1324989a7ac169b3fdb6780917814506e56898484e99d7\"\n description:\n- \"This contract provides functionalities for proposing, proving, and verifying blocks.\"\n+ \"Main contract implementing the logic for proposing and proving Taiko blocks on L1.\"\n values.$implementation:\n- \"0x5110634593Ccb8072d161A7d260A409A7E74D7Ca\"\n+ [\"0x4e030b19135869F6fd926614754B7F9c184E2B83\",\"0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264\",\"0x497B13f9192B09244de9b5F0964830969FB26F07\"]\n values.$pastUpgrades.25:\n+ [\"2024-11-10T16:10:23.000Z\",\"0x5eb57ab352b3e3c1ddbc3fe468d582901b88c6a137ce49b0d70857d5218d626d\",[\"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\",\"0x0000000000000000000000000000000000000000\",\"0x0000000000000000000000000000000000000000\"]]\n values.$pastUpgrades.24:\n+ [\"2025-05-16T02:36:23.000Z\",\"0x78f766ae83ce94ef2293c9c7d81ae514e8fa0a79fbce1530c3c68d7624708795\",[\"0x4e030b19135869F6fd926614754B7F9c184E2B83\",\"0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264\",\"0x497B13f9192B09244de9b5F0964830969FB26F07\"]]\n values.$pastUpgrades.23.2:\n- \"0x5eb57ab352b3e3c1ddbc3fe468d582901b88c6a137ce49b0d70857d5218d626d\"\n+ \"0x2c455ae888a23c232bb5c7603657eda010ffadc602a74e626332bc06eaaa3b78\"\n values.$pastUpgrades.23.1:\n- \"2024-11-10T16:10:23.000Z\"\n+ \"2024-06-04T06:10:11.000Z\"\n values.$pastUpgrades.23.0.2:\n- \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n+ \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n values.$pastUpgrades.22.2:\n- \"0x2c455ae888a23c232bb5c7603657eda010ffadc602a74e626332bc06eaaa3b78\"\n+ \"0x6368890b9aa2f87c6a6b727efdd8af0ea357a11460b546d8a7f3e19e38a34e41\"\n values.$pastUpgrades.22.1:\n- \"2024-06-04T06:10:11.000Z\"\n+ \"2025-02-27T03:27:23.000Z\"\n values.$pastUpgrades.22.0.2:\n- \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n+ \"0x5110634593Ccb8072d161A7d260A409A7E74D7Ca\"\n values.$pastUpgrades.21.2:\n- \"0x6368890b9aa2f87c6a6b727efdd8af0ea357a11460b546d8a7f3e19e38a34e41\"\n+ \"0x78ca7c7d9c7e5aa9c5e6ab80e0229289a8d3bc8df2c2b9ba6baa74a0f60a0703\"\n values.$pastUpgrades.21.1:\n- \"2025-02-27T03:27:23.000Z\"\n+ \"2024-11-03T05:15:23.000Z\"\n values.$pastUpgrades.21.0.2:\n- \"0x5110634593Ccb8072d161A7d260A409A7E74D7Ca\"\n+ \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n values.$pastUpgrades.20.2:\n- \"0x78ca7c7d9c7e5aa9c5e6ab80e0229289a8d3bc8df2c2b9ba6baa74a0f60a0703\"\n+ \"2024-05-27T16:37:11.000Z\"\n values.$pastUpgrades.20.1:\n- \"2024-11-03T05:15:23.000Z\"\n+ \"0x187cc99e9bcf2a94f723cf52d85b74b79bdb3872681e2a3808cadbbc3ba301e2\"\n values.$pastUpgrades.20.0.2:\n- \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n+ \"0xa200c2268d77737a8Fd2CA1698dA6eeab2a85CEb\"\n values.$pastUpgrades.19.2:\n- \"2024-05-27T16:37:11.000Z\"\n+ \"0xaed098ad0c93113e401f61358f963501f40a046c5b5b659a1610f10120a9a86b\"\n values.$pastUpgrades.19.1:\n- \"0x187cc99e9bcf2a94f723cf52d85b74b79bdb3872681e2a3808cadbbc3ba301e2\"\n+ \"2024-05-21T14:15:11.000Z\"\n values.$pastUpgrades.19.0.2:\n- \"0xa200c2268d77737a8Fd2CA1698dA6eeab2a85CEb\"\n+ \"0xe0A5D394878723CEAEC8B993e04756DF1f4B44eF\"\n values.$pastUpgrades.18.2:\n- \"0xaed098ad0c93113e401f61358f963501f40a046c5b5b659a1610f10120a9a86b\"\n+ \"0x77871837d1749b22a7991da475e657baa4371937f5a8cb094d4e170db000cb25\"\n values.$pastUpgrades.18.1:\n- \"2024-05-21T14:15:11.000Z\"\n+ \"2024-12-24T14:19:11.000Z\"\n values.$pastUpgrades.18.0.2:\n- \"0xe0A5D394878723CEAEC8B993e04756DF1f4B44eF\"\n+ \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n values.$pastUpgrades.17.2:\n- \"0x77871837d1749b22a7991da475e657baa4371937f5a8cb094d4e170db000cb25\"\n+ \"2025-05-15T08:40:47.000Z\"\n values.$pastUpgrades.17.1:\n- \"2024-12-24T14:19:11.000Z\"\n+ [\"0x5eEcd1305aC72d4a77Bf3BD734e81c15e2A2adEf\",\"0xaA64D5A3A26D1e76AcAf6e22c199D02d58076A01\",\"0x497B13f9192B09244de9b5F0964830969FB26F07\"]\n values.$pastUpgrades.17.0:\n- [\"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\",\"0x0000000000000000000000000000000000000000\",\"0x0000000000000000000000000000000000000000\"]\n+ \"0x97789b6668d0a287b1f57bb6c8e23cce62308fb887139faeb0f06b77855995fd\"\n values.$upgradeCount:\n- 24\n+ 26\n values.addressManager:\n- \"0x579f40D0BE111b823962043702cabe6Aaa290780\"\n values.assignment_hook:\n- \"0x0000000000000000000000000000000000000000\"\n values.automata_dcap_attestation:\n- \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n values.bond_token:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.bridge:\n- \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n values.bridge_watchdog:\n- \"0x0000000000000000000000000000000000000000\"\n values.bridged_erc1155:\n- \"0x0000000000000000000000000000000000000000\"\n values.bridged_erc20:\n- \"0x0000000000000000000000000000000000000000\"\n values.bridged_erc721:\n- \"0x0000000000000000000000000000000000000000\"\n values.chain_watchdog:\n- \"0xE3D777143Ea25A6E031d1e921F396750885f43aC\"\n values.erc1155_vault:\n- \"0x0000000000000000000000000000000000000000\"\n values.erc20_vault:\n- \"0x0000000000000000000000000000000000000000\"\n values.erc721_vault:\n- \"0x0000000000000000000000000000000000000000\"\n values.getLastSyncedBlock:\n- {\"blockId_\":1148703,\"blockHash_\":\"0x5a7e198eb91f666cb2a95abeb5585a7e9485c6c4a3008f8275c34ffedc3f1031\",\"stateRoot_\":\"0x775e54de208c8220b5e302d1c845c1b25cf99ed1f8807ac36e20589e3b56231d\",\"verifiedAt_\":1747209131}\n values.getLastVerifiedBlock.blockId_:\n- 1148703\n+ 1178564\n values.getLastVerifiedBlock.blockHash_:\n- \"0x5a7e198eb91f666cb2a95abeb5585a7e9485c6c4a3008f8275c34ffedc3f1031\"\n+ \"0x30dabf999649a05a6aeb9d9e30b6a2910788dbffb4a7fcdb5ec3f49934a0e12b\"\n values.getLastVerifiedBlock.stateRoot_:\n- \"0x775e54de208c8220b5e302d1c845c1b25cf99ed1f8807ac36e20589e3b56231d\"\n+ \"0x339e2ac188194e6fd6bc0e129c2232940ca5c0efd7c7015435aafae3a1cb6587\"\n values.getLastVerifiedBlock.verifiedAt_:\n- 1747209131\n+ 1738480871\n values.getStateVariables.1.genesisHeight:\n- 19923613\n values.getStateVariables.1.genesisTimestamp:\n- 1716358991\n values.getStateVariables.1.lastSyncedBlockId:\n- 1148703\n values.getStateVariables.1.lastSynecdAt:\n- 1747226267\n values.getStateVariables.1.numBlocks:\n+ 1178840\n values.getStateVariables.1.lastVerifiedBlockId:\n+ 1178564\n values.getStateVariables.1.provingPaused:\n+ false\n values.getStateVariables.1.lastProposedIn:\n+ 22579860\n values.getStateVariables.1.lastUnpausedAt:\n+ 1716571955\n values.getStateVariables.0.numBlocks:\n- 1149204\n values.getStateVariables.0.lastVerifiedBlockId:\n- 1148703\n values.getStateVariables.0.provingPaused:\n- false\n values.getStateVariables.0.lastProposedIn:\n- 22481927\n values.getStateVariables.0.lastUnpausedAt:\n- 1716571955\n values.getStateVariables.0.genesisHeight:\n+ 19923613\n values.getStateVariables.0.genesisTimestamp:\n+ 1716358991\n values.getStateVariables.0.lastSyncedBlockId:\n+ 1178564\n values.getStateVariables.0.lastSynecdAt:\n+ 1748416535\n values.impl:\n- \"0x5110634593Ccb8072d161A7d260A409A7E74D7Ca\"\n+ \"0x4e030b19135869F6fd926614754B7F9c184E2B83\"\n values.lastProposedIn:\n- 22481927\n+ 22579860\n values.lastUnpausedAt:\n- 1716571955\n values.preconf_task_manager:\n- \"0x0000000000000000000000000000000000000000\"\n values.proposer:\n- \"0x000000633b68f5D8D3a86593ebB815b4663BCBe0\"\n values.proposer_one:\n- \"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\"\n values.prover_assignment:\n- \"0x0000000000000000000000000000000000000000\"\n values.prover_set:\n- \"0x280eAbfd252f017B78e15b69580F249F45FB55Fa\"\n values.proxiableUUID:\n- \"EXPECT_REVERT\"\n values.quota_manager:\n- \"0x0000000000000000000000000000000000000000\"\n values.return_liveness_bond:\n- \"0x0000000000000000000000000000000000000000\"\n values.sgx_watchdog:\n- \"0x0000000000000000000000000000000000000000\"\n values.signal_root:\n- \"0x0000000000000000000000000000000000000000\"\n values.signal_service:\n- \"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n values.sp1_remote_verifier:\n- \"0x68593ad19705E9Ce919b2E368f5Cb7BAF04f7371\"\n values.state.slotA:\n- {\"genesisHeight\":19923613,\"genesisTimestamp\":1716358991,\"lastSyncedBlockId\":1148703,\"lastSynecdAt\":1747226267}\n values.state.slotB:\n- {\"numBlocks\":1149204,\"lastVerifiedBlockId\":1148703,\"provingPaused\":false,\"lastProposedIn\":22481927,\"lastUnpausedAt\":1716571955}\n values.state.stats1:\n+ {\"genesisHeight\":19923613,\"__reserved2\":1716358991,\"lastSyncedBatchId\":1178564,\"lastSyncedAt\":1748416535}\n values.state.stats2:\n+ {\"numBatches\":1178840,\"lastVerifiedBatchId\":1178564,\"paused\":false,\"lastProposedIn\":22579860,\"lastUnpausedAt\":1716571955}\n values.state_root:\n- \"0x0000000000000000000000000000000000000000\"\n values.taiko:\n- \"0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\"\n values.taiko_token:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.tier_router:\n- \"0x44d307a9ec47aA55a7a30849d065686753C86Db6\"\n values.verifier_RISCZERO_GROTH16_VERIFIER:\n- \"0x48E32eFbe22e180A3FFe617f4955cD83B983dd98\"\n values.verifier_TIER_GUARDIAN:\n- \"0xE3D777143Ea25A6E031d1e921F396750885f43aC\"\n values.verifier_TIER_GUARDIAN_MINORITY:\n- \"0x579A8d63a2Db646284CBFE31FE5082c9989E985c\"\n values.verifier_TIER_OPTIMISTIC:\n- \"0x0000000000000000000000000000000000000000\"\n values.verifier_TIER_SGX:\n- \"0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81\"\n values.verifier_TIER_TDX:\n- \"0x0000000000000000000000000000000000000000\"\n values.verifier_TIER_TEE_ANY:\n- \"0x0000000000000000000000000000000000000000\"\n values.verifier_TIER_ZKVM_AND_TEE:\n- \"0x0000000000000000000000000000000000000000\"\n values.verifier_TIER_ZKVM_ANY:\n- \"0x0000000000000000000000000000000000000000\"\n values.verifier_TIER_ZKVM_RISC0:\n- \"0x55902b2D3DF2A65370A89C86Ae9dd71Ecd508edc\"\n values.verifier_TIER_ZKVM_SP1:\n- \"0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452\"\n values.withdrawer:\n- \"0x0000000000000000000000000000000000000000\"\n values.bondToken:\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.getLastSyncedTransition:\n+ {\"batchId_\":1178564,\"blockId_\":1178564,\"ts_\":{\"parentHash\":\"0x7c801227fd8912dfd03b4b1f664ae228b579aa782a221a4a4569131637ab2955\",\"blockHash\":\"0x30dabf999649a05a6aeb9d9e30b6a2910788dbffb4a7fcdb5ec3f49934a0e12b\",\"stateRoot\":\"0x339e2ac188194e6fd6bc0e129c2232940ca5c0efd7c7015435aafae3a1cb6587\",\"prover\":\"0x41F2F55571f9e8e3Ba511Adc48879Bd67626A2b6\",\"inProvingWindow\":true,\"createdAt\":1748406971}}\n values.getLastVerifiedTransition:\n+ {\"batchId_\":1178564,\"blockId_\":1178564,\"ts_\":{\"parentHash\":\"0x7c801227fd8912dfd03b4b1f664ae228b579aa782a221a4a4569131637ab2955\",\"blockHash\":\"0x30dabf999649a05a6aeb9d9e30b6a2910788dbffb4a7fcdb5ec3f49934a0e12b\",\"stateRoot\":\"0x339e2ac188194e6fd6bc0e129c2232940ca5c0efd7c7015435aafae3a1cb6587\",\"prover\":\"0x41F2F55571f9e8e3Ba511Adc48879Bd67626A2b6\",\"inProvingWindow\":true,\"createdAt\":1748406971}}\n values.getStats1:\n+ {\"genesisHeight\":19923613,\"__reserved2\":1716358991,\"lastSyncedBatchId\":1178564,\"lastSyncedAt\":1748416535}\n values.getStats2:\n+ {\"numBatches\":1178840,\"lastVerifiedBatchId\":1178564,\"paused\":false,\"lastProposedIn\":22579860,\"lastUnpausedAt\":1716571955}\n values.inboxWrapper:\n+ \"0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n values.isOnL1:\n+ true\n values.newFork:\n+ \"0x497B13f9192B09244de9b5F0964830969FB26F07\"\n values.oldFork:\n+ \"0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264\"\n values.pacayaConfig:\n+ {\"chainId\":167000,\"maxUnverifiedBatches\":324000,\"batchRingBufferSize\":360000,\"maxBatchesToVerify\":16,\"blockMaxGasLimit\":240000000,\"livenessBondBase\":\"125000000000000000000\",\"livenessBondPerBlock\":0,\"stateRootSyncInternal\":4,\"maxAnchorHeightOffset\":64,\"baseFeeConfig\":{\"adjustmentQuotient\":8,\"sharingPctg\":50,\"gasIssuancePerSecond\":5000000,\"minGasExcess\":1344899430,\"maxGasIssuancePerBlock\":600000000},\"provingWindow\":7200,\"cooldownWindow\":7200,\"maxSignalsToReceive\":16,\"maxBlocksPerBatch\":768,\"forkHeights\":{\"ontake\":538304,\"pacaya\":1166000,\"shasta\":0,\"unzen\":0}}\n values.resolver:\n+ \"0x0000000000000000000000000000000000000000\"\n values.signalService:\n+ \"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n values.verifier:\n+ \"0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n implementationNames.0x5110634593Ccb8072d161A7d260A409A7E74D7Ca:\n- \"MainnetTaikoL1\"\n implementationNames.0x4e030b19135869F6fd926614754B7F9c184E2B83:\n+ \"PacayaForkRouter\"\n implementationNames.0x904Da4C5bD76f932fE09fF32Ae5D7E3d2A5D2264:\n+ \"MainnetTaikoL1\"\n implementationNames.0x497B13f9192B09244de9b5F0964830969FB26F07:\n+ \"MainnetInbox\"\n category:\n- {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract TaikoToken (0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800) {\n +++ description: ERC20 contract implementing the TAIKO token. It defines a list of addresses designated as non-voting.\n template:\n- \"taiko/TaikoToken\"\n+ \"taiko/TaikoTokenPostPacaya\"\n sourceHashes.1:\n- \"0xc44a84c18fe7660acbe7750e0a14401b3a0a0ad97d8c81305bd879dca88d873b\"\n+ \"0x2b1eb63ab3adb1a0783bae6252816727a2fb5d150dd0e9912e0a01e4ee224be9\"\n sourceHashes.0:\n- \"0xea41529d3c7a5cd7651ff173711c111016d65e4345f6f60dc2af04d8ddef375f\"\n+ \"0xc44a84c18fe7660acbe7750e0a14401b3a0a0ad97d8c81305bd879dca88d873b\"\n description:\n- \"Taiko's native token. Used for block proposal rewards, proving bonds and rewards, and contesting bonds.\"\n+ \"ERC20 contract implementing the TAIKO token. It defines a list of addresses designated as non-voting.\"\n values.$implementation:\n- \"0x87C752b0F70cAa237Edd7571B0845470A37DE040\"\n+ \"0x5C96Ff5B7F61b9E3436Ef04DA1377C8388dfC106\"\n values.$pastUpgrades.6:\n+ [\"2024-05-29T08:03:23.000Z\",\"0x56402f9fd928be890fbd29829b817faffc0780b85e83300a29962c969808cae2\",[\"0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F\"]]\n values.$pastUpgrades.5.2:\n- \"0x56402f9fd928be890fbd29829b817faffc0780b85e83300a29962c969808cae2\"\n+ \"2024-05-11T05:46:11.000Z\"\n values.$pastUpgrades.5.1.0:\n- \"0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F\"\n+ \"0xea53c0f4b129Cf3f3FBA896F9f23ca18246e9B3c\"\n values.$pastUpgrades.5.0:\n- \"2024-05-29T08:03:23.000Z\"\n+ \"0x7d82794932540ed9edd259e58f6ef8ae21a49beada7f0224638f888f7149c01c\"\n values.$pastUpgrades.4.2:\n- \"2024-05-11T05:46:11.000Z\"\n+ \"0x4f7a1c6ad21fbfeaecab40ea36a3845bf67e22d7770d8a259d62b995cb93cb34\"\n values.$pastUpgrades.4.1.0:\n- \"0xea53c0f4b129Cf3f3FBA896F9f23ca18246e9B3c\"\n+ \"0x9ae1a067F9655DD0511390e3d70Bb25933AE61eb\"\n values.$pastUpgrades.4.0:\n- \"0x7d82794932540ed9edd259e58f6ef8ae21a49beada7f0224638f888f7149c01c\"\n+ \"2024-04-25T08:29:59.000Z\"\n values.$pastUpgrades.3.2:\n- \"0x4f7a1c6ad21fbfeaecab40ea36a3845bf67e22d7770d8a259d62b995cb93cb34\"\n+ \"0xdb7d5de46738ad3f676db47b61772db531f9858b7a01e8c3b5aee49fa74cac95\"\n values.$pastUpgrades.3.1.0:\n- \"0x9ae1a067F9655DD0511390e3d70Bb25933AE61eb\"\n+ \"0x87C752b0F70cAa237Edd7571B0845470A37DE040\"\n values.$pastUpgrades.3.0:\n- \"2024-04-25T08:29:59.000Z\"\n+ \"2025-05-13T00:47:23.000Z\"\n values.$pastUpgrades.2.2:\n- \"0xdb7d5de46738ad3f676db47b61772db531f9858b7a01e8c3b5aee49fa74cac95\"\n+ \"2024-07-02T07:15:47.000Z\"\n values.$pastUpgrades.2.1.0:\n- \"0x87C752b0F70cAa237Edd7571B0845470A37DE040\"\n+ \"0xcfe803378D79d1180EbF030455040EA6513869dF\"\n values.$pastUpgrades.2.0:\n- \"2025-05-13T00:47:23.000Z\"\n+ \"0xc9f468d33d8d55911e4e5b5c301ed244a5f81ab0f389d2b4f398eb5b89d417ef\"\n values.$pastUpgrades.1.2:\n- \"2024-07-02T07:15:47.000Z\"\n+ [\"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"]\n values.$pastUpgrades.1.1:\n- [\"0xcfe803378D79d1180EbF030455040EA6513869dF\"]\n+ \"2024-06-07T04:02:11.000Z\"\n values.$pastUpgrades.1.0:\n- \"0xc9f468d33d8d55911e4e5b5c301ed244a5f81ab0f389d2b4f398eb5b89d417ef\"\n+ \"0x0bbf7d1258c646f41a02a92a55825b1ebfd3659577d0f2b57b462f8895e23a04\"\n values.$pastUpgrades.0.2.0:\n- \"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"\n+ \"0x5C96Ff5B7F61b9E3436Ef04DA1377C8388dfC106\"\n values.$pastUpgrades.0.1:\n- \"2024-06-07T04:02:11.000Z\"\n+ \"0x986fc2c7ae945cdd358b2f2ae54364b350026f965f5861ed470f78e145f12626\"\n values.$pastUpgrades.0.0:\n- \"0x0bbf7d1258c646f41a02a92a55825b1ebfd3659577d0f2b57b462f8895e23a04\"\n+ \"2025-05-15T05:12:11.000Z\"\n values.$upgradeCount:\n- 6\n+ 7\n values.clock:\n- 1747232111\n+ 1748418323\n values.getNonVotingAccounts.3:\n+ \"0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3\"\n values.getNonVotingAccounts.2:\n+ \"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n values.getNonVotingAccounts.1:\n- \"0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.impl:\n- \"0x87C752b0F70cAa237Edd7571B0845470A37DE040\"\n+ \"0x5C96Ff5B7F61b9E3436Ef04DA1377C8388dfC106\"\n values.proxiableUUID:\n- \"EXPECT_REVERT\"\n values.TAIKO_ERC20_VAULT:\n+ \"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n implementationNames.0x87C752b0F70cAa237Edd7571B0845470A37DE040:\n- \"TaikoToken\"\n implementationNames.0x5C96Ff5B7F61b9E3436Ef04DA1377C8388dfC106:\n+ \"TaikoToken\"\n category:\n- {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetProverSet (0x280eAbfd252f017B78e15b69580F249F45FB55Fa)\n +++ description: A contract that holds TAIKO token and acts as a Taiko Labs owned proposer and prover proxy. This contract relays `proveBlock` calls to the TaikoL1 contract so that msg.sender doesn't need to hold any TAIKO. There are several instances of this contract operated by different entities.\n```\n\n```diff\n- Status: DELETED\n contract MainnetTierRouter (0x44d307a9ec47aA55a7a30849d065686753C86Db6)\n +++ description: Contract managing and routing the multi-tier proof system.\n```\n\n```diff\n- Status: DELETED\n contract Risc0VerifierGateway (0x55902b2D3DF2A65370A89C86Ae9dd71Ecd508edc)\n +++ description: Entry contract to verify batches using RISC Zero.\n```\n\n```diff\n- Status: DELETED\n contract MainnetGuardianProver (0x579A8d63a2Db646284CBFE31FE5082c9989E985c)\n +++ description: Verifier contract for blocks proven by Guardian minority.\n```\n\n```diff\n- Status: DELETED\n contract MainnetRollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780)\n +++ description: This contract manages the rollup addresses list, allowing to set the address for a specific chainId-name pair.\n```\n\n```diff\n- Status: DELETED\n contract SP1VerifierGateway (0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452)\n +++ description: Entry contract to verify batches using SP1.\n```\n\n```diff\n- Status: DELETED\n contract MainnetProverSet (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9)\n +++ description: A contract that holds TAIKO token and acts as a Taiko Labs owned proposer and prover proxy. This contract relays `proveBlock` calls to the TaikoL1 contract so that msg.sender doesn't need to hold any TAIKO. There are several instances of this contract operated by different entities.\n```\n\n```diff\n contract AutomataDcapV3Attestation (0x8d7C954960a36a7596d7eA4945dDf891967ca8A3) {\n +++ description: Contract managing SGX attestation certificates.\n values.mrEnclaves.11:\n+ \"0x3f71cf178a032816c2731a43aef746c464a5326e891dc881773ec2b599b2cf0a\"\n values.mrEnclaves.10:\n+ \"0xc90e5d2e39d1d3f8397a6048c32ba50139d1577c28985e1f7638785935f41734\"\n values.mrEnclaves.9:\n- \"0x3f71cf178a032816c2731a43aef746c464a5326e891dc881773ec2b599b2cf0a\"\n+ \"0x13ea9869632ac20b176ae0fdc39998b2a644a695db024ef7fe0e4b3c59084160\"\n values.mrEnclaves.8:\n- \"0xc90e5d2e39d1d3f8397a6048c32ba50139d1577c28985e1f7638785935f41734\"\n+ \"0x9546301721e2ea111ab0f79b6e529d6bb6c486ac98bcf7739429ad06c09db63d\"\n values.mrEnclaves.7:\n- \"0x13ea9869632ac20b176ae0fdc39998b2a644a695db024ef7fe0e4b3c59084160\"\n+ \"0xdfcb4fca3073e3f3a90b05d328688c32619d56f26789c0a9797aa10e765a7807\"\n values.mrEnclaves.6:\n- \"0x9546301721e2ea111ab0f79b6e529d6bb6c486ac98bcf7739429ad06c09db63d\"\n+ \"0xdcd483d3406d9b1871bb92420f5a080c4372e0d6b8522a4a2cb91a0f736669c6\"\n values.mrEnclaves.5:\n- \"0xdfcb4fca3073e3f3a90b05d328688c32619d56f26789c0a9797aa10e765a7807\"\n+ \"0xa096348d480eb0474f5eab182671933c029545521960d87d4e49283005809be9\"\n values.mrEnclaves.4:\n- \"0xa096348d480eb0474f5eab182671933c029545521960d87d4e49283005809be9\"\n+ \"0xa4eedfc6484494d4c08bfb9b9dd887c6e0540ba9d8ee207fe0e16814852e3356\"\n values.mrEnclaves.3:\n- \"0xa4eedfc6484494d4c08bfb9b9dd887c6e0540ba9d8ee207fe0e16814852e3356\"\n+ \"0x3551faac39edee5abfaa19ab065c217db1485aebae255a9edddf6dfff6b29b52\"\n values.mrEnclaves.2:\n- \"0x3551faac39edee5abfaa19ab065c217db1485aebae255a9edddf6dfff6b29b52\"\n+ \"0x3b589538b775ddbfc5fb028167ff846116159e6687aef9f849ca5a70a7871ea5\"\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.2:\n- \"0x1eE487CEdCe52c370DB11e62987F3ABe873E145A\"\n+ \"0x0aED2375549D1115e180bd0caea829C429Ea50B3\"\n values.$members.1:\n- \"0x7Cdd1c128Cd72dd252f569eeD942735330937F91\"\n+ \"0x1eE487CEdCe52c370DB11e62987F3ABe873E145A\"\n values.$members.0:\n- \"0x6B6072CE402F22fDcFbA1705383D8e280717Cb87\"\n+ \"0x7Cdd1c128Cd72dd252f569eeD942735330937F91\"\n values.$threshold:\n- 3\n+ 4\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"4 of 5 (80%)\"\n receivedPermissions.24:\n+ {\"permission\":\"upgrade\",\"from\":\"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\",\"role\":\"admin\"}\n receivedPermissions.23:\n+ {\"permission\":\"upgrade\",\"from\":\"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\",\"role\":\"admin\"}\n receivedPermissions.22:\n+ {\"permission\":\"upgrade\",\"from\":\"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\",\"role\":\"admin\"}\n receivedPermissions.21:\n+ {\"permission\":\"upgrade\",\"from\":\"0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\",\"role\":\"admin\"}\n receivedPermissions.20:\n+ {\"permission\":\"upgrade\",\"from\":\"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\",\"role\":\"admin\"}\n receivedPermissions.19.from:\n- \"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n+ \"0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n receivedPermissions.18.from:\n- \"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n+ \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n receivedPermissions.17.from:\n- \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n receivedPermissions.16.from:\n- \"0xE3D777143Ea25A6E031d1e921F396750885f43aC\"\n+ \"0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n receivedPermissions.15.from:\n- \"0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a\"\n+ \"0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.14.from:\n- \"0x579A8d63a2Db646284CBFE31FE5082c9989E985c\"\n+ \"0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n receivedPermissions.13.from:\n- \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n+ \"0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\"\n receivedPermissions.12.from:\n- \"0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9\"\n+ \"0x05d88855361808fA1d7fc28084Ef3fCa191c4e03\"\n receivedPermissions.11.from:\n- \"0x91f67118DD47d502B1f0C354D0611997B022f29E\"\n+ \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n receivedPermissions.10.from:\n- \"0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452\"\n+ \"0x9F9D2fC7abe74C79f86F0D1212107692430eef72\"\n receivedPermissions.9.from:\n- \"0x579f40D0BE111b823962043702cabe6Aaa290780\"\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n receivedPermissions.8.from:\n- \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n+ \"0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1\"\n receivedPermissions.7.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.7.from:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n receivedPermissions.7.role:\n- \"admin\"\n+ \".owner\"\n receivedPermissions.7.description:\n+ \"can update the contract address for a given name\"\n receivedPermissions.6.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.6.from:\n- \"0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81\"\n+ \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n receivedPermissions.6.role:\n- \"admin\"\n+ \".owner\"\n receivedPermissions.6.description:\n+ \"can update the program being verified\"\n receivedPermissions.5.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.5.from:\n- \"0x55902b2D3DF2A65370A89C86Ae9dd71Ecd508edc\"\n+ \"0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE\"\n receivedPermissions.5.role:\n- \"admin\"\n+ \".owner\"\n receivedPermissions.5.description:\n+ \"can update the program being verified\"\n receivedPermissions.4.from:\n- \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n receivedPermissions.4.description:\n- \"can update the program being verified\"\n+ \"can update the contract address for a given name\"\n receivedPermissions.3.from:\n- \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n+ \"0xbee1040D0Aab17AE19454384904525aE4A3602B9\"\n receivedPermissions.3.description:\n- \"can update the contract address for a given name\"\n+ \"can update the program being verified\"\n receivedPermissions.2.from:\n- \"0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452\"\n+ \"0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261\"\n receivedPermissions.1.from:\n- \"0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81\"\n+ \"0x7e6409e9b6c5e2064064a6cC994f9a2e95680782\"\n receivedPermissions.0.from:\n- \"0x55902b2D3DF2A65370A89C86Ae9dd71Ecd508edc\"\n+ \"0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136\"\n receivedPermissions.0.description:\n- \"can update the program being verified\"\n+ \"can add new instances without a DCAP attestation\"\n }\n```\n\n```diff\n contract MainnetSignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: The SignalService contract serves as cross-chain message passing system. It defines methods for sending and verifying signals with merkle proofs.\n sourceHashes.1:\n- \"0xf99b7d5f650d3734e945c5040d8e4776dfdc97ff745666e084c1d471b7973f38\"\n+ \"0xc978dbfc097ca447823c4a1eb83078cd63532727420b19287acc0f87e884285f\"\n values.$implementation:\n- \"0x45fed11Ba70D4217545F18E27DDAF7D76Ff499f3\"\n+ \"0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c\"\n values.$pastUpgrades.7:\n+ [\"2024-05-01T08:03:23.000Z\",\"0x0898d14da2f38d677085073d2decfb7ca32902406df2e7a84f6615d9c92d4516\",[\"0xE1d91bAE44B70bD66e8b688B8421fD62dcC33c72\"]]\n values.$pastUpgrades.6:\n+ [\"2024-06-06T08:51:11.000Z\",\"0x8de1631a25b337c1e702f9ce9d9ab8a3b626922441855e959b2d79dae40bd131\",[\"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"]]\n values.$pastUpgrades.5.2:\n- \"2024-05-01T08:03:23.000Z\"\n+ [\"0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c\"]\n values.$pastUpgrades.5.1:\n- \"0x0898d14da2f38d677085073d2decfb7ca32902406df2e7a84f6615d9c92d4516\"\n+ \"2025-05-18T14:25:11.000Z\"\n values.$pastUpgrades.5.0:\n- [\"0xE1d91bAE44B70bD66e8b688B8421fD62dcC33c72\"]\n+ \"0x0ae99d24b294622e3d3868c8dca911a5936231ce1f97254ec0c6a6f65f7aa81c\"\n values.$pastUpgrades.4.2.0:\n- \"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"\n+ \"0x0783Ee019C9b0f918A741469bD488A88827b3617\"\n values.$pastUpgrades.4.1:\n- \"0x8de1631a25b337c1e702f9ce9d9ab8a3b626922441855e959b2d79dae40bd131\"\n+ \"2025-05-15T08:40:47.000Z\"\n values.$pastUpgrades.4.0:\n- \"2024-06-06T08:51:11.000Z\"\n+ \"0x97789b6668d0a287b1f57bb6c8e23cce62308fb887139faeb0f06b77855995fd\"\n values.$upgradeCount:\n- 6\n+ 8\n values.addressManager:\n- \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n values.impl:\n- \"0x45fed11Ba70D4217545F18E27DDAF7D76Ff499f3\"\n+ \"0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c\"\n values.lastUnpausedAt:\n- 0\n values.resolver:\n+ \"0x8Efa01564425692d0a0838DC10E300BD310Cb43e\"\n implementationNames.0x45fed11Ba70D4217545F18E27DDAF7D76Ff499f3:\n- \"MainnetSignalService\"\n implementationNames.0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c:\n+ \"MainnetSignalService\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetSgxVerifier (0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n- Status: DELETED\n contract MainnetGuardianProver (0xE3D777143Ea25A6E031d1e921F396750885f43aC)\n +++ description: Verifier contract for Guardian proven blocks.\n```\n\n```diff\n contract L1SharedAddressManager (0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa) {\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n values.namedAddresses.10.name:\n- \"bridge_watchdog\"\n+ \"taiko_token\"\n values.namedAddresses.10.address:\n- \"0x00000291AB79c55dC4Fcd97dFbA4880DF4b93624\"\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.namedAddresses.9.name:\n- \"taiko_token\"\n+ \"signal_service\"\n values.namedAddresses.9.address:\n- \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n+ \"0x1670000000000000000000000000000000000005\"\n values.namedAddresses.8.name:\n- \"signal_service\"\n+ \"erc1155_vault\"\n values.namedAddresses.8.address:\n- \"0x1670000000000000000000000000000000000005\"\n+ \"0x1670000000000000000000000000000000000004\"\n values.namedAddresses.7.name:\n- \"erc1155_vault\"\n+ \"bridged_erc1155\"\n values.namedAddresses.7.address:\n- \"0x1670000000000000000000000000000000000004\"\n+ \"0x3c90963cFBa436400B0F9C46Aa9224cB379c2c40\"\n values.namedAddresses.6.name:\n- \"bridged_erc1155\"\n+ \"bridge\"\n values.namedAddresses.6.address:\n- \"0x3c90963cFBa436400B0F9C46Aa9224cB379c2c40\"\n+ \"0x1670000000000000000000000000000000000001\"\n values.namedAddresses.5.name:\n- \"bridge\"\n+ \"bridged_erc20\"\n values.namedAddresses.5.address:\n- \"0x1670000000000000000000000000000000000001\"\n+ \"0x65666141a541423606365123Ed280AB16a09A2e1\"\n values.namedAddresses.4.name:\n- \"bridged_erc20\"\n+ \"bridged_erc721\"\n values.namedAddresses.4.address:\n- \"0x65666141a541423606365123Ed280AB16a09A2e1\"\n+ \"0xC3310905E2BC9Cfb198695B75EF3e5B69C6A1Bf7\"\n values.namedAddresses.3.name:\n- \"bridged_erc721\"\n+ \"quota_manager\"\n values.namedAddresses.3.address:\n- \"0xC3310905E2BC9Cfb198695B75EF3e5B69C6A1Bf7\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.namedAddresses.2.name:\n- \"quota_manager\"\n+ \"erc721_vault\"\n values.namedAddresses.2.address:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x1670000000000000000000000000000000000003\"\n values.namedAddresses.1.name:\n- \"erc721_vault\"\n+ \"erc20_vault\"\n values.namedAddresses.1.address:\n- \"0x1670000000000000000000000000000000000003\"\n+ \"0x1670000000000000000000000000000000000002\"\n values.namedAddresses.0.name:\n- \"erc20_vault\"\n+ \"bridge_watchdog\"\n values.namedAddresses.0.address:\n- \"0x1670000000000000000000000000000000000002\"\n+ \"0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract ForcedInclusionStore (0x05d88855361808fA1d7fc28084Ef3fCa191c4e03)\n +++ description: Contract that allows to enqueue forced transaction through L1. A pending forced transaction must be processed every 255 batches.\n```\n\n```diff\n+ Status: CREATED\n contract AutomataDcapV3Attestation (0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261)\n +++ description: Contract managing SGX attestation certificates.\n```\n\n```diff\n+ Status: CREATED\n contract Risc0VerifierGateway (0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE)\n +++ description: Entry contract to verify batches using RISC Zero.\n```\n\n```diff\n+ Status: CREATED\n contract SgxVerifier (0x7e6409e9b6c5e2064064a6cC994f9a2e95680782)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract DefaultResolver (0x8Efa01564425692d0a0838DC10E300BD310Cb43e)\n +++ description: Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n```\n\n```diff\n+ Status: CREATED\n contract SgxVerifier (0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoWrapper (0x9F9D2fC7abe74C79f86F0D1212107692430eef72)\n +++ description: Entry point for proposing blocks. It enforces the inclusion of forced transactions after their deadline.\n```\n\n```diff\n+ Status: CREATED\n contract VerifierGateway (0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1)\n +++ description: Gateway contract for the multi-proof system. It redirects proof to the appropriate verifier based on the proof type.\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGateway (0xbee1040D0Aab17AE19454384904525aE4A3602B9)\n +++ description: Entry contract to verify batches using SP1.\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract QuotaManager (0x91f67118DD47d502B1f0C354D0611997B022f29E)\n +++ description: Defines withdrawal limits per token.\n```"
}
]
},
{
"id": "e715af66",
"date": "Tue, 13 May 2025 14:42:00 GMT",
"timestamp": 1747147320,
"description": "TAIKO token contract refactor and introduces an explicit list of non-voting accounts, the Foundation (TAIKO_FOUNDATION_TREASURY) and DAO contracts (TAIKO_DAO_CONTROLLER), for which token weight do not count. Sets up the DAO with a separate executor contract (TAIKO_DAO_CONTROLLER) helper that the DAO owns.",
"isHighSeverity": true,
"changeCount": 36,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoToken (0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800) {\n +++ description: Taiko's native token. Used for block proposal rewards, proving bonds and rewards, and contesting bonds.\n sourceHashes.1:\n- \"0x5da570fbffd5ab663ce8983496a9ded290ed853a950b4052ac93b35217babac8\"\n+ \"0xc44a84c18fe7660acbe7750e0a14401b3a0a0ad97d8c81305bd879dca88d873b\"\n sourceHashes.0:\n- \"0xc44a84c18fe7660acbe7750e0a14401b3a0a0ad97d8c81305bd879dca88d873b\"\n+ \"0xea41529d3c7a5cd7651ff173711c111016d65e4345f6f60dc2af04d8ddef375f\"\n values.$implementation:\n- \"0xcfe803378D79d1180EbF030455040EA6513869dF\"\n+ \"0x87C752b0F70cAa237Edd7571B0845470A37DE040\"\n values.$pastUpgrades.5:\n+ [\"2024-05-29T08:03:23.000Z\",\"0x56402f9fd928be890fbd29829b817faffc0780b85e83300a29962c969808cae2\",[\"0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F\"]]\n values.$pastUpgrades.4.2:\n- \"0x56402f9fd928be890fbd29829b817faffc0780b85e83300a29962c969808cae2\"\n+ \"2024-05-11T05:46:11.000Z\"\n values.$pastUpgrades.4.1.0:\n- \"0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F\"\n+ \"0xea53c0f4b129Cf3f3FBA896F9f23ca18246e9B3c\"\n values.$pastUpgrades.4.0:\n- \"2024-05-29T08:03:23.000Z\"\n+ \"0x7d82794932540ed9edd259e58f6ef8ae21a49beada7f0224638f888f7149c01c\"\n values.$pastUpgrades.3.2:\n- \"2024-05-11T05:46:11.000Z\"\n+ \"0x4f7a1c6ad21fbfeaecab40ea36a3845bf67e22d7770d8a259d62b995cb93cb34\"\n values.$pastUpgrades.3.1.0:\n- \"0xea53c0f4b129Cf3f3FBA896F9f23ca18246e9B3c\"\n+ \"0x9ae1a067F9655DD0511390e3d70Bb25933AE61eb\"\n values.$pastUpgrades.3.0:\n- \"0x7d82794932540ed9edd259e58f6ef8ae21a49beada7f0224638f888f7149c01c\"\n+ \"2024-04-25T08:29:59.000Z\"\n values.$pastUpgrades.2.2:\n- \"0x4f7a1c6ad21fbfeaecab40ea36a3845bf67e22d7770d8a259d62b995cb93cb34\"\n+ \"0xdb7d5de46738ad3f676db47b61772db531f9858b7a01e8c3b5aee49fa74cac95\"\n values.$pastUpgrades.2.1.0:\n- \"0x9ae1a067F9655DD0511390e3d70Bb25933AE61eb\"\n+ \"0x87C752b0F70cAa237Edd7571B0845470A37DE040\"\n values.$pastUpgrades.2.0:\n- \"2024-04-25T08:29:59.000Z\"\n+ \"2025-05-13T00:47:23.000Z\"\n values.$upgradeCount:\n- 5\n+ 6\n values.addressManager:\n- \"0x0000000000000000000000000000000000000000\"\n values.getPastTotalSupply:\n- [0,0,0,0,0]\n values.impl:\n- \"0xcfe803378D79d1180EbF030455040EA6513869dF\"\n+ \"0x87C752b0F70cAa237Edd7571B0845470A37DE040\"\n values.lastUnpausedAt:\n- 0\n values.getNonVotingAccounts:\n+ [\"0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da\",\"0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3\"]\n values.proxiableUUID:\n+ \"EXPECT_REVERT\"\n values.resolver:\n+ \"0x0000000000000000000000000000000000000000\"\n values.TAIKO_DAO_CONTROLLER:\n+ \"0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3\"\n values.TAIKO_FOUNDATION_TREASURY:\n+ \"0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da\"\n errors:\n- {\"getPastTotalSupply\":\"Processing error occurred.\",\"proxiableUUID\":\"Processing error occurred.\"}\n implementationNames.0xcfe803378D79d1180EbF030455040EA6513869dF:\n- \"TaikoToken\"\n implementationNames.0x87C752b0F70cAa237Edd7571B0845470A37DE040:\n+ \"TaikoToken\"\n template:\n+ \"taiko/TaikoToken\"\n description:\n+ \"Taiko's native token. Used for block proposal rewards, proving bonds and rewards, and contesting bonds.\"\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract Taiko Multisig (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.4:\n+ \"0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n values.$members.3:\n- \"0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n+ \"0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1\"\n values.$members.2:\n- \"0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1\"\n+ \"0x1eE487CEdCe52c370DB11e62987F3ABe873E145A\"\n values.multisigThreshold:\n- \"3 of 4 (75%)\"\n+ \"3 of 5 (60%)\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Taiko Foundation Treasury Multisig (0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DAO (0x9CDf589C941ee81D75F34d3755671d614f7cf261)\n +++ description: The entry point to the DAO Aragon-based governance framework.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoDAOController (0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3)\n +++ description: Contract that maintains ownership of all contracts and assets, owned by the DAO. Its token weight does not count towards the DAO quorum.\n```"
}
]
},
{
"id": "75d21b81",
"date": "Fri, 18 Apr 2025 18:11:13 GMT",
"timestamp": 1744999873,
"description": "Update RiscZeroGroth16Verifier.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n values.verifier_RISCZERO_GROTH16_VERIFIER:\n- \"0xf31DE43cc0cF75245adE63d3Dabf58d4332855e9\"\n+ \"0x48E32eFbe22e180A3FFe617f4955cD83B983dd98\"\n }\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroGroth16Verifier (0xf31DE43cc0cF75245adE63d3Dabf58d4332855e9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0x48E32eFbe22e180A3FFe617f4955cD83B983dd98)\n +++ description: None\n```"
}
]
},
{
"id": "2a9abf83",
"date": "Tue, 04 Mar 2025 13:38:38 GMT",
"timestamp": 1741095518,
"description": "Taiko admin multisig signer change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoAdmin (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.0:\n- \"0xb47fE76aC588101BFBdA9E68F66433bA51E8029a\"\n+ \"0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Safe (0xb47fE76aC588101BFBdA9E68F66433bA51E8029a)\n +++ description: None\n```"
}
]
},
{
"id": "3ee1004a",
"date": "Thu, 27 Feb 2025 13:52:49 GMT",
"timestamp": 1740664369,
"description": "The forced zk tiers for the DAO fallback proposer have been removed. Any proposer/challenger/prover can choose among the 5 tiers:\n- tiers_[0] = LibTiers.TIER_SGX;\n- tiers_[1] = LibTiers.TIER_ZKVM_RISC0;\n- tiers_[2] = LibTiers.TIER_ZKVM_SP1;\n- tiers_[3] = LibTiers.TIER_GUARDIAN_MINORITY;\n- tiers_[4] = LibTiers.TIER_GUARDIAN;\n\nUpdate MainnetTierRouter with new cooldown and proving periods, new validity bond values (see above which tiers are active):\n\n| Tier | Parameter | Before | After |\n|------|-----------|--------|-------|\n| **TIER_OPTIMISTIC** | validityBond | 75 TKO | 50 TKO |\n| | contestBond | 492.19 TKO | 328.13 TKO |\n| | cooldownPeriod | 24 hours | 24 hours |\n| | provingPeriod | 4.25 hours | 1 hour |\n| **TEE Tiers** (SGX, TDX, TEE_ANY) | validityBond | 150 TKO | 100 TKO |\n| | contestBond | 984.38 TKO | 656.25 TKO |\n| | cooldownPeriod | 4 hours | 4 hours |\n| | provingPeriod | 5 hours | 5 hours |\n| **ZKVM Tiers** (RISC0, SP1, ANY, AND_TEE) | validityBond | 225 TKO | 150 TKO |\n| | contestBond | 1476.56 TKO | 984.38 TKO |\n| | cooldownPeriod | 4 hours | 4 hours |\n| | provingPeriod | 7 hours | 7 hours |\n| **TIER_GUARDIAN_MINORITY** | validityBond | 225 TKO | 200 TKO |\n| | contestBond | 1476.56 TKO | 1312.5 TKO |\n| | cooldownPeriod | 4 hours | 4 hours |\n| | provingPeriod | 0 hours | 2 hours |\n| **TIER_GUARDIAN** | validityBond | 0 TKO | 0 TKO |\n| | contestBond | 0 TKO | 0 TKO |\n| | cooldownPeriod | 4 hours | 8 hours |\n| | provingPeriod | 0 hours | 0 hours |",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0xb0f9a7fd86a26f933460b09bf9ddb6f3fcb1926850109b97c24801d6230186e3\"\n+ \"0x8c8d91a3b010953954bbd3ba9f4c55f76112bf6d7f298dcd584c2de94a4ad1a4\"\n values.$implementation:\n- \"0x2784423f7c61Bc7B75dB6CdA26959946f437588D\"\n+ \"0x5110634593Ccb8072d161A7d260A409A7E74D7Ca\"\n values.$pastUpgrades.23:\n+ [\"2025-02-27T03:27:23.000Z\",\"0x6368890b9aa2f87c6a6b727efdd8af0ea357a11460b546d8a7f3e19e38a34e41\",[\"0x5110634593Ccb8072d161A7d260A409A7E74D7Ca\"]]\n values.$upgradeCount:\n- 23\n+ 24\n values.impl:\n- \"0x2784423f7c61Bc7B75dB6CdA26959946f437588D\"\n+ \"0x5110634593Ccb8072d161A7d260A409A7E74D7Ca\"\n values.tier_router:\n- \"0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66\"\n+ \"0x44d307a9ec47aA55a7a30849d065686753C86Db6\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetTierRouter (0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetTierRouter (0x44d307a9ec47aA55a7a30849d065686753C86Db6)\n +++ description: None\n```"
}
]
},
{
"id": "2b96fdd1",
"date": "Fri, 14 Feb 2025 13:24:42 GMT",
"timestamp": 1739539482,
"description": "TaikoL1 upgrade:\n- old proposeBlock() removed\n- formatting, comments, small fixes\n\nTierRouter:\n- RISC0 from 1/200 to 1/1000\n- SP1 from 1/40 to 1/10\n...of daofallback proposer batches",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0x5ced94c638514ff09ace408fda7efb4bd52077a7e9ce2f20e154419454ac3869\"\n+ \"0xb0f9a7fd86a26f933460b09bf9ddb6f3fcb1926850109b97c24801d6230186e3\"\n values.$implementation:\n- \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n+ \"0x2784423f7c61Bc7B75dB6CdA26959946f437588D\"\n values.$pastUpgrades.22:\n+ [\"2025-02-13T06:57:47.000Z\",\"0xc0e8ec30d1479ca2414d4d28a09a543c2845247d80387f78c179d663ffe55c3c\",[\"0x2784423f7c61Bc7B75dB6CdA26959946f437588D\"]]\n values.$upgradeCount:\n- 22\n+ 23\n values.impl:\n- \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n+ \"0x2784423f7c61Bc7B75dB6CdA26959946f437588D\"\n values.prover_set:\n- \"0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A\"\n+ \"0x280eAbfd252f017B78e15b69580F249F45FB55Fa\"\n values.tier_router:\n- \"0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0\"\n+ \"0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetTierRouter (0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0)\n +++ description: None\n```\n\n```diff\n contract DAOFallbackProposer (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TAIKO token and acts as a Taiko Labs owned proposer and prover proxy. This contract relays `proveBlock` calls to the TaikoL1 contract so that msg.sender doesn't need to hold any TKO. There are several instances of this contract operated by different entities.\n sourceHashes.1:\n- \"0x62ec48ec56b8eb6e604ca35e87dca2922adb6e914b1922139a0ae932750abd61\"\n+ \"0x397ca5d98f464f3096b2ba95f9057ebbc27c56e4d878ebbae83c911594dd7c5b\"\n values.$implementation:\n- \"0xd0d3f025D83D7122de7eC43e86331C57c8A4F30B\"\n+ \"0x280eAbfd252f017B78e15b69580F249F45FB55Fa\"\n values.$pastUpgrades.10:\n+ [\"2025-02-13T06:57:47.000Z\",\"0xc0e8ec30d1479ca2414d4d28a09a543c2845247d80387f78c179d663ffe55c3c\",[\"0x280eAbfd252f017B78e15b69580F249F45FB55Fa\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.impl:\n- \"0xd0d3f025D83D7122de7eC43e86331C57c8A4F30B\"\n+ \"0x280eAbfd252f017B78e15b69580F249F45FB55Fa\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetProverSet (0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetProverSet (0x280eAbfd252f017B78e15b69580F249F45FB55Fa)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetTierRouter (0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66)\n +++ description: None\n```"
}
]
},
{
"id": "9301d66f",
"date": "Wed, 15 Jan 2025 13:39:32 GMT",
"timestamp": 1736948372,
"description": "Upgrade of both RISC0 and SP1 verifier contracts.\n\n### SP1Verifier\n\nv3.0.0 -> v4.0.0-rc.3\n\nAll-new verifier with new verifier hash: https://github.com/succinctlabs/sp1/releases/tag/v4.0.0-rc.1 ('not production ready').\n\n### RiscZeroGroth16Verifier\n\nv1.1.2 -> v1.2.0\n\nAdds a new Interface `IRiscZeroSelectable` for easily querying the selector. No changes to the zk verification itself",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n values.sp1_remote_verifier:\n- \"0x2D33d748644dAb8B3FB0E07642d9dE96b816d067\"\n+ \"0x68593ad19705E9Ce919b2E368f5Cb7BAF04f7371\"\n values.verifier_RISCZERO_GROTH16_VERIFIER:\n- \"0xcF706D99C265fC2349AE43c5f6BFD7931FE5308D\"\n+ \"0xf31DE43cc0cF75245adE63d3Dabf58d4332855e9\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SP1Verifier (0x2D33d748644dAb8B3FB0E07642d9dE96b816d067)\n +++ description: None\n```\n\n```diff\n contract SP1Verifier (0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452) {\n +++ description: None\n values.sp1RemoteVerifier:\n- \"0x2D33d748644dAb8B3FB0E07642d9dE96b816d067\"\n+ \"0x68593ad19705E9Ce919b2E368f5Cb7BAF04f7371\"\n }\n```\n\n```diff\n- Status: DELETED\n contract RiscZeroGroth16Verifier (0xcF706D99C265fC2349AE43c5f6BFD7931FE5308D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SP1RemoteVerifier (0x68593ad19705E9Ce919b2E368f5Cb7BAF04f7371)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0xf31DE43cc0cF75245adE63d3Dabf58d4332855e9)\n +++ description: None\n```"
}
]
},
{
"id": "e0c4a968",
"date": "Fri, 03 Jan 2025 12:10:19 GMT",
"timestamp": 1735906219,
"description": "MS signer change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (0xb47fE76aC588101BFBdA9E68F66433bA51E8029a) {\n +++ description: None\n values.$members.0:\n- \"0x55d79345Afc87806B690C9f96c4D7BfE2Bca8268\"\n+ \"0x30bc4C0Baf55A37Ccf2d626Bc592bd7715b75De2\"\n }\n```"
}
]
},
{
"id": "4bef4359",
"date": "Thu, 26 Dec 2024 11:48:26 GMT",
"timestamp": 1735213706,
"description": "Tiny change in the MainnetTierRouter, resetting the probabilities for forced validity proofs via the DAO proposer to the old ~1/200, ~1/40 for RISC0 and SP1 respectively. No other changes.",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0xad202d72005832c623578708f77802197e8a681c1621f57c1106161858ba2dca\"\n+ \"0x5ced94c638514ff09ace408fda7efb4bd52077a7e9ce2f20e154419454ac3869\"\n values.$implementation:\n- \"0xd4896d4537c6425aC5d89B9f122d4E4ac4D65e1c\"\n+ \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n values.$pastUpgrades.21:\n+ [\"2024-12-24T14:19:11.000Z\",\"0x77871837d1749b22a7991da475e657baa4371937f5a8cb094d4e170db000cb25\",[\"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"]]\n values.$upgradeCount:\n- 21\n+ 22\n values.impl:\n- \"0xd4896d4537c6425aC5d89B9f122d4E4ac4D65e1c\"\n+ \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n values.tier_router:\n- \"0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66\"\n+ \"0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetTierRouter (0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetTierRouter (0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0)\n +++ description: None\n```"
}
]
},
{
"id": "c74c3e4f",
"date": "Tue, 24 Dec 2024 09:17:36 GMT",
"timestamp": 1735031856,
"description": "Validity proofs reinstated as before (same SP1 and RISC0 contracts), but with new probabilities for the DAO proposer: RISC0 ~1/1000 and SP1 ~1/100.",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0xeeb07b10bec4783237afadc9ac7b0e746138695fef1f85996e97012e2e83b6df\"\n+ \"0xad202d72005832c623578708f77802197e8a681c1621f57c1106161858ba2dca\"\n values.$implementation:\n- \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n+ \"0xd4896d4537c6425aC5d89B9f122d4E4ac4D65e1c\"\n values.$pastUpgrades.20:\n+ [\"2024-12-23T14:55:47.000Z\",\"0x9c2f36af40c0004110041fc45d980b73b0c8dde8064713a55aeb6f69fca77a99\",[\"0xd4896d4537c6425aC5d89B9f122d4E4ac4D65e1c\"]]\n values.$upgradeCount:\n- 20\n+ 21\n values.impl:\n- \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n+ \"0xd4896d4537c6425aC5d89B9f122d4E4ac4D65e1c\"\n values.tier_router:\n- \"0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542\"\n+ \"0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetTierRouter (0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetTierRouter (0x8a4c692F12d3a9750E744A4CE24a1d351bE52E66)\n +++ description: None\n```"
}
]
},
{
"id": "9a571304",
"date": "Mon, 23 Dec 2024 13:46:23 GMT",
"timestamp": 1734961583,
"description": "New TierRouter, removing all validity proofs, leaving only SGX (minTier) and Guardians.\n\nNew DAOFallbackProposer refactors some minor things and deprecates the v1 proposals (only v2 possible).\n\nOther changes are only related to the new TierRouter address.",
"isHighSeverity": true,
"changeCount": 19,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0x5ced94c638514ff09ace408fda7efb4bd52077a7e9ce2f20e154419454ac3869\"\n+ \"0xeeb07b10bec4783237afadc9ac7b0e746138695fef1f85996e97012e2e83b6df\"\n values.$implementation:\n- \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n+ \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n values.$pastUpgrades.19:\n+ [\"2024-12-23T03:12:35.000Z\",\"0xe66aba9f8bfcd86dc0ae32416862ca61a51c47f8ec747799e65f155ef27eeb20\",[\"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"]]\n values.$pastUpgrades.18:\n+ [\"2024-12-23T02:45:11.000Z\",\"0xfa949022e61921e108974e73130e94fc5120463f2c537d26626e5cee2120c944\",[\"0xb74A66b6CF50AD63E29669F0BDE4354E11758162\"]]\n values.$upgradeCount:\n- 18\n+ 20\n values.impl:\n- \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n+ \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n values.tier_router:\n- \"0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0\"\n+ \"0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetTierRouter (0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0)\n +++ description: None\n```\n\n```diff\n contract L1RollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780) {\n +++ description: None\n sourceHashes.1:\n- \"0xe3ef3bce11823157fe0b3d8d8705554e47a8789445c2a255990ca15564e7e945\"\n+ \"0x9dede6e55b7b0db6226ea3cead125c4750d147ad96cef774a61e51e8e9ce6d36\"\n values.$implementation:\n- \"0x52CA3c5566d779b3c6bb5c4f760Ea39E294Fc788\"\n+ \"0x0079a79E5d8DDA67029051d505E5A11DE279B36D\"\n values.$pastUpgrades.10:\n+ [\"2024-12-23T02:45:11.000Z\",\"0xfa949022e61921e108974e73130e94fc5120463f2c537d26626e5cee2120c944\",[\"0x0079a79E5d8DDA67029051d505E5A11DE279B36D\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.impl:\n- \"0x52CA3c5566d779b3c6bb5c4f760Ea39E294Fc788\"\n+ \"0x0079a79E5d8DDA67029051d505E5A11DE279B36D\"\n }\n```\n\n```diff\n contract DAOFallbackProposer (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TAIKO token and acts as a Taiko Labs owned proposer and prover proxy. This contract relays `proveBlock` calls to the TaikoL1 contract so that msg.sender doesn't need to hold any TKO. There are several instances of this contract operated by different entities.\n sourceHashes.1:\n- \"0x6c2e43f356e499e332ee9b82cb8ae970dbe6209146e72d925e9d9f22f5b791e1\"\n+ \"0x62ec48ec56b8eb6e604ca35e87dca2922adb6e914b1922139a0ae932750abd61\"\n values.$implementation:\n- \"0x3022Ed0346CCE0c08268c8ad081458AfD95E8763\"\n+ \"0xd0d3f025D83D7122de7eC43e86331C57c8A4F30B\"\n values.$pastUpgrades.9:\n+ [\"2024-12-23T02:45:11.000Z\",\"0xfa949022e61921e108974e73130e94fc5120463f2c537d26626e5cee2120c944\",[\"0xd0d3f025D83D7122de7eC43e86331C57c8A4F30B\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.impl:\n- \"0x3022Ed0346CCE0c08268c8ad081458AfD95E8763\"\n+ \"0xd0d3f025D83D7122de7eC43e86331C57c8A4F30B\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MainnetTierRouter (0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542)\n +++ description: None\n```"
}
]
},
{
"id": "4db8da94",
"date": "Thu, 05 Dec 2024 06:17:09 GMT",
"timestamp": 1733379429,
"description": "One TaikoAdmin MS member changed to a sub-safe.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoAdmin (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.$members.0:\n- \"0x55d79345Afc87806B690C9f96c4D7BfE2Bca8268\"\n+ \"0xb47fE76aC588101BFBdA9E68F66433bA51E8029a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Safe (0xb47fE76aC588101BFBdA9E68F66433bA51E8029a)\n +++ description: None\n```"
}
]
},
{
"id": "c3061f91",
"date": "Mon, 18 Nov 2024 15:16:10 GMT",
"timestamp": 1731942970,
"description": "These upgrades contain the parameter changes and new deployments that activate Multiproofs, in particular the new ZK-VM tierIds 250 (ZKVM_RISC0) and 251 (ZKVM_SP1).\n\nCurrent active tiers:\n- 200: SGX\n- 250: RISC0\n- 251: SP1\n- 900: guardian minority\n- 1000: guardian\n\nA higher tier can be used to challenge a lower tier before the tier-specific cooldown period has passed. A challenge resets the cooldown window for the proof.\n\nThe ZK tiers are generally not enforced and can always be contested by the higher Guardian tiers.\n\nIn the case of a block being proposed by the `DAO_FALLBACK_PROPOSER` (the ProverSetProxy contract that is used by Taiko and proposes almost all batches), the **minimum proof tier** is determined pseudorandomly at the time of a batch proposal based on a hash depending on the number of blocks in the batch (`keccak256(abi.encode(\"TAIKO_DIFFICULTY\", local.b.numBlocks))`). It can be either of RISC0, SP1 or SGX with certain hardcoded probabilities.\n\nCurrent probabilities assuming a uniformly random input (keccak256) to the function and the dao fallback proposer:\n- RISC0: 0.5% or 1/200\n- SP1: 2.5% or 1/40\n- SGX: 97%\n\nIf any other (not dao_fallback) proposer proposes a batch by posting the required validity bond, the minimum-tier is always SGX.\n\nBoth zk-vm verifiers are currently used multiple times per day.",
"isHighSeverity": true,
"changeCount": 37,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0xeeb07b10bec4783237afadc9ac7b0e746138695fef1f85996e97012e2e83b6df\"\n+ \"0x5ced94c638514ff09ace408fda7efb4bd52077a7e9ce2f20e154419454ac3869\"\n values.$implementation:\n- \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n+ \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n values.$pastUpgrades.17:\n+ [\"2024-11-10T16:10:23.000Z\",\"0x5eb57ab352b3e3c1ddbc3fe468d582901b88c6a137ce49b0d70857d5218d626d\",[\"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"]]\n values.$pastUpgrades.16:\n+ [\"2024-11-10T15:46:23.000Z\",\"0x5efedb806fca83936c58f9e4d30644257ce3a529239131b0b19f630320bcfb04\",[\"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"]]\n values.$pastUpgrades.15:\n+ [\"2024-11-10T15:32:47.000Z\",\"0xa9e285d0f2cc84161ac3fc28962003779e9a618271bd6a54b16fb4001ede5b38\",[\"0x0205ea1e1162bc50E1030F36412E5Dd69daA4040\"]]\n values.$upgradeCount:\n- 15\n+ 18\n values.bond_token:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800\"\n values.impl:\n- \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n+ \"0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B\"\n values.sp1_remote_verifier:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x2D33d748644dAb8B3FB0E07642d9dE96b816d067\"\n values.tier_router:\n- \"0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542\"\n+ \"0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0\"\n values.verifier_RISCZERO_GROTH16_VERIFIER:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0xcF706D99C265fC2349AE43c5f6BFD7931FE5308D\"\n values.verifier_TIER_ZKVM_RISC0:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x55902b2D3DF2A65370A89C86Ae9dd71Ecd508edc\"\n values.verifier_TIER_ZKVM_SP1:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452\"\n }\n```\n\n```diff\n contract L1RollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780) {\n +++ description: None\n sourceHashes.1:\n- \"0x5782d554c7b5637e1f166c61be43d34b6d44dabccd12fea3ed904f2988502d79\"\n+ \"0xe3ef3bce11823157fe0b3d8d8705554e47a8789445c2a255990ca15564e7e945\"\n values.$implementation:\n- \"0x190D5d50D98D2202a618f75B2fD9986e60E096be\"\n+ \"0x52CA3c5566d779b3c6bb5c4f760Ea39E294Fc788\"\n values.$pastUpgrades.9:\n+ [\"2024-11-10T05:21:47.000Z\",\"0x43353a74df973d8f6a379b5c8815ac80935a5099f8ab93a4aa204eb5ef2c663e\",[\"0x52CA3c5566d779b3c6bb5c4f760Ea39E294Fc788\"]]\n values.$pastUpgrades.8:\n+ [\"2024-11-08T08:35:47.000Z\",\"0x5d46840df79d8df508880675e7ea549e9b46137f597ca520c3e0c979439441d1\",[\"0x6D8e6e1a061791AD17A55De5e15a111c58f6Fb3D\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.impl:\n- \"0x190D5d50D98D2202a618f75B2fD9986e60E096be\"\n+ \"0x52CA3c5566d779b3c6bb5c4f760Ea39E294Fc788\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MainnetTierRouter (0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542)\n +++ description: None\n```\n\n```diff\n contract TaikoAdmin (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n receivedPermissions.13:\n+ {\"permission\":\"upgrade\",\"target\":\"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"}\n receivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"target\":\"0xE3D777143Ea25A6E031d1e921F396750885f43aC\"}\n receivedPermissions.11.target:\n- \"0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa\"\n+ \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n receivedPermissions.10.target:\n- \"0xE3D777143Ea25A6E031d1e921F396750885f43aC\"\n+ \"0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81\"\n receivedPermissions.9.target:\n- \"0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC\"\n+ \"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n receivedPermissions.8.target:\n- \"0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81\"\n+ \"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n receivedPermissions.7.target:\n- \"0x9e0a24964e5397B566c1ed39258e21aB5E35C77C\"\n+ \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n receivedPermissions.6.target:\n- \"0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab\"\n+ \"0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9\"\n receivedPermissions.5.target:\n- \"0x8d7C954960a36a7596d7eA4945dDf891967ca8A3\"\n+ \"0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452\"\n receivedPermissions.4.target:\n- \"0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9\"\n+ \"0x579f40D0BE111b823962043702cabe6Aaa290780\"\n receivedPermissions.3.target:\n- \"0x579f40D0BE111b823962043702cabe6Aaa290780\"\n+ \"0x579A8d63a2Db646284CBFE31FE5082c9989E985c\"\n receivedPermissions.2.target:\n- \"0x579A8d63a2Db646284CBFE31FE5082c9989E985c\"\n+ \"0x55902b2D3DF2A65370A89C86Ae9dd71Ecd508edc\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SP1RemoteVerifier (0x2D33d748644dAb8B3FB0E07642d9dE96b816d067)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MainnetTierRouter (0x394E30d83d020469a1F8b16E89D7fD5FdB1935b0)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Risc0Verifier (0x55902b2D3DF2A65370A89C86Ae9dd71Ecd508edc)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (0x5c44f2239925b0d86d2BFEe539f19CD0A08Af452)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RiscZeroGroth16Verifier (0xcF706D99C265fC2349AE43c5f6BFD7931FE5308D)\n +++ description: None\n```"
}
]
},
{
"id": "0a4fa71c",
"date": "Tue, 05 Nov 2024 16:54:14 GMT",
"timestamp": 1730825654,
"description": "Taiko ['Ontake' upgrade](https://taiko.mirror.xyz/OJA4SwCqHjF32Zz0GkNJvnHWlsRYzdJ6hcO9FXVOpLs).\n- batching (for proposing and proving)\n- new verifier slots (SP1, Risc0) (0x00 atm)\n- new Block struct in preconf preparations (preconfRegistry set to 0x00)\n- integration of the TierProvider into the MainnetTierRouter\n- new TIER_SGX challengePeriod of 4h (down from 1d)",
"isHighSeverity": true,
"changeCount": 60,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0xa2bfa567075799db54daaa89afafea79e42c73c36c23112c79926407116d0765\"\n+ \"0xeeb07b10bec4783237afadc9ac7b0e746138695fef1f85996e97012e2e83b6df\"\n values.$implementation:\n- \"0xf0E6d34937701622cA887a75c150cC23d4FFDf2F\"\n+ \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n values.$pastUpgrades.14:\n+ [\"2024-11-03T05:15:23.000Z\",\"0x78ca7c7d9c7e5aa9c5e6ab80e0229289a8d3bc8df2c2b9ba6baa74a0f60a0703\",[\"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"]]\n values.$pastUpgrades.13:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0x4229d14F520848aa83760Cf748abEB8A69cdaB2d\"]]\n values.$upgradeCount:\n- 13\n+ 15\n values.getConfig.checkEOAForCalldataDA:\n- true\n values.getConfig.maxAnchorHeightOffset:\n+ 64\n values.getConfig.baseFeeConfig:\n+ {\"adjustmentQuotient\":8,\"sharingPctg\":75,\"gasIssuancePerSecond\":5000000,\"minGasExcess\":1340000000,\"maxGasIssuancePerBlock\":600000000}\n values.getConfig.ontakeForkHeight:\n+ 538304\n values.impl:\n- \"0xf0E6d34937701622cA887a75c150cC23d4FFDf2F\"\n+ \"0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17\"\n values.tier_router:\n- \"0x6E997f1F22C40ba37F633B08f3b07E10Ed43155a\"\n+ \"0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542\"\n }\n```\n\n```diff\n- Status: DELETED\n contract TierProviderV2 (0x3a1A900680BaADb889202faf12915F7E47B71ddd)\n +++ description: None\n```\n\n```diff\n contract GuardianMinorityProver (0x579A8d63a2Db646284CBFE31FE5082c9989E985c) {\n +++ description: Verifier contract for blocks proven by Guardian minority.\n sourceHashes.1:\n- \"0xb6ed017b0bf49c547dbaa4b24efcbcd5218c26aafd94f8cf06850d009e538347\"\n+ \"0x489b7169b5c7aa13cbb8928934057ad78b37ce9b52651656bf8bda7759533f68\"\n values.$implementation:\n- \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n+ \"0xB866E9046CAf4D75e2cbCD8b5eA3f07Ea74F7B47\"\n values.$pastUpgrades.6:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0xB866E9046CAf4D75e2cbCD8b5eA3f07Ea74F7B47\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.impl:\n- \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n+ \"0xB866E9046CAf4D75e2cbCD8b5eA3f07Ea74F7B47\"\n }\n```\n\n```diff\n contract L1RollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780) {\n +++ description: None\n sourceHashes.1:\n- \"0x06f614affc4908aeeac9faa505010855388740ee8e5ba632fbc0e5f56ee8927d\"\n+ \"0x5782d554c7b5637e1f166c61be43d34b6d44dabccd12fea3ed904f2988502d79\"\n values.$implementation:\n- \"0x4f6D5D3109C07E77035B410602996e445b18E8E9\"\n+ \"0x190D5d50D98D2202a618f75B2fD9986e60E096be\"\n values.$pastUpgrades.7:\n+ [\"2024-11-02T12:04:59.000Z\",\"0xf26d0526aa4b8225c603720ce0dc016803188b959c50677d5446087d1f2c4e60\",[\"0x190D5d50D98D2202a618f75B2fD9986e60E096be\"]]\n values.$pastUpgrades.6:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0x3202Fc255aE09F91DbbD5b000b87dA4A2E04eE37\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.impl:\n- \"0x4f6D5D3109C07E77035B410602996e445b18E8E9\"\n+ \"0x190D5d50D98D2202a618f75B2fD9986e60E096be\"\n }\n```\n\n```diff\n contract ProverSetProxy (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TKO token and acts as a Taiko prover. This contract will simply relay `proveBlock` calls to TaikoL1 so msg.sender doesn't need to hold any TKO.\n sourceHashes.1:\n- \"0x020f0e8ece4630d3f7e6458ef5f1d86c5408ed344c580633e3f32e53393ceab5\"\n+ \"0x6c2e43f356e499e332ee9b82cb8ae970dbe6209146e72d925e9d9f22f5b791e1\"\n values.$implementation:\n- \"0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A\"\n+ \"0x3022Ed0346CCE0c08268c8ad081458AfD95E8763\"\n values.$pastUpgrades.8:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0x3022Ed0346CCE0c08268c8ad081458AfD95E8763\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.impl:\n- \"0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A\"\n+ \"0x3022Ed0346CCE0c08268c8ad081458AfD95E8763\"\n }\n```\n\n```diff\n- Status: DELETED\n contract TierRouter (0x6E997f1F22C40ba37F633B08f3b07E10Ed43155a)\n +++ description: None\n```\n\n```diff\n contract SharedERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) {\n +++ description: None\n sourceHashes.1:\n- \"0x3c7adf8e3200906bd67dec9e0b73fb813681e84ba1499dcede6987370ce146c9\"\n+ \"0x0112b81e89b367f8ffeb6b571bd245b1be7a1279474ffa11591f8374a2c8b14f\"\n values.$implementation:\n- \"0x7ACFBb369a552C45d402448A4d64b9da54C3FF30\"\n+ \"0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63\"\n values.$pastUpgrades.7:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.impl:\n- \"0x7ACFBb369a552C45d402448A4d64b9da54C3FF30\"\n+ \"0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63\"\n }\n```\n\n```diff\n contract SignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: None\n sourceHashes.1:\n- \"0xa5cf6831e233f05c8a2f677c311dd359c75850355d61417bc5201d493db30039\"\n+ \"0xf99b7d5f650d3734e945c5040d8e4776dfdc97ff745666e084c1d471b7973f38\"\n values.$implementation:\n- \"0xDF8642a1FBFc2014de27E8E87283D6f3eEF315DF\"\n+ \"0x45fed11Ba70D4217545F18E27DDAF7D76Ff499f3\"\n values.$pastUpgrades.5:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0x45fed11Ba70D4217545F18E27DDAF7D76Ff499f3\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.impl:\n- \"0xDF8642a1FBFc2014de27E8E87283D6f3eEF315DF\"\n+ \"0x45fed11Ba70D4217545F18E27DDAF7D76Ff499f3\"\n }\n```\n\n```diff\n contract SgxVerifier (0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81) {\n +++ description: Verifier contract for SGX proven blocks.\n sourceHashes.1:\n- \"0xdb8e8268242e52348760b0b2d154955236307b3ef1bc9cb0234fc6c0d01aa70f\"\n+ \"0x076c7d823685a1a394ad6ec677d2d7707207efa9e8e482f479c2cdfd92008904\"\n values.$implementation:\n- \"0x7EE4CEF8a945639e09DDf3032e9d95c8d90f07f3\"\n+ \"0x81DFEA931500cdcf0460e9EC45FA283A6B7f0838\"\n values.$pastUpgrades.5:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0x81DFEA931500cdcf0460e9EC45FA283A6B7f0838\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.impl:\n- \"0x7EE4CEF8a945639e09DDf3032e9d95c8d90f07f3\"\n+ \"0x81DFEA931500cdcf0460e9EC45FA283A6B7f0838\"\n }\n```\n\n```diff\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: None\n sourceHashes.1:\n- \"0x14240ef6b1d8181a009840162a21975c2777f78f27c22e8e550bc66b36357f78\"\n+ \"0x118c20a34164db28141d7fa6496d1fcf9e139354ed77c4e1c3f33e5eaac65977\"\n values.$implementation:\n- \"0xAc96FF285158bceBB8573D20d853e86BB2915aF3\"\n+ \"0x2705B12a971dA766A3f9321a743d61ceAD67dA2F\"\n values.$pastUpgrades.11:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0x2705B12a971dA766A3f9321a743d61ceAD67dA2F\"]]\n values.$upgradeCount:\n- 11\n+ 12\n values.impl:\n- \"0xAc96FF285158bceBB8573D20d853e86BB2915aF3\"\n+ \"0x2705B12a971dA766A3f9321a743d61ceAD67dA2F\"\n }\n```\n\n```diff\n contract GuardianProver (0xE3D777143Ea25A6E031d1e921F396750885f43aC) {\n +++ description: Verifier contract for Guardian proven blocks.\n sourceHashes.1:\n- \"0xb6ed017b0bf49c547dbaa4b24efcbcd5218c26aafd94f8cf06850d009e538347\"\n+ \"0x489b7169b5c7aa13cbb8928934057ad78b37ce9b52651656bf8bda7759533f68\"\n values.$implementation:\n- \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n+ \"0xB866E9046CAf4D75e2cbCD8b5eA3f07Ea74F7B47\"\n values.$pastUpgrades.6:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0xB866E9046CAf4D75e2cbCD8b5eA3f07Ea74F7B47\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.impl:\n- \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n+ \"0xB866E9046CAf4D75e2cbCD8b5eA3f07Ea74F7B47\"\n }\n```\n\n```diff\n contract L1SharedAddressManager (0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa) {\n +++ description: None\n sourceHashes.1:\n- \"0xa0dc6b4537f21ed3a4a43a7fb74645ff827cff8c2b26f2e3e4350ddec470c990\"\n+ \"0x61eadd250e6fee2eea7d778ca5fdb6e04b0fa09044c65eba836b397f585e5535\"\n values.$implementation:\n- \"0x2f7126f78365AD54EAB26fD7faEc60435008E2fD\"\n+ \"0xEC1a9aa1C648F047752fe4eeDb2C21ceab0c6449\"\n values.$pastUpgrades.4:\n+ [\"2024-11-01T09:20:35.000Z\",\"0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd\",[\"0xEC1a9aa1C648F047752fe4eeDb2C21ceab0c6449\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.impl:\n- \"0x2f7126f78365AD54EAB26fD7faEc60435008E2fD\"\n+ \"0xEC1a9aa1C648F047752fe4eeDb2C21ceab0c6449\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MainnetTierRouter (0x8f1C1D58C858e9a9eeCc587d7D51AECfd16b5542)\n +++ description: None\n```"
}
]
},
{
"id": "dd201fff",
"date": "Wed, 16 Oct 2024 09:19:09 GMT",
"timestamp": 1729070349,
"description": "Upgrade of the TaikoL1Contract implementation with a [bug fix](https://github.com/taikoxyz/taiko-mono/pull/18254) in a check ('sametransition') of the proving library.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n sourceHashes.1:\n- \"0xf13ac7cd2ef8d7b72cab625effe80906f11db83cf2a688e85a19d515da43f06f\"\n+ \"0xa2bfa567075799db54daaa89afafea79e42c73c36c23112c79926407116d0765\"\n values.$implementation:\n- \"0xBA1d90BCfA74163bFE09e8eF609b346507D83231\"\n+ \"0xf0E6d34937701622cA887a75c150cC23d4FFDf2F\"\n values.$pastUpgrades.12:\n+ [\"2024-10-16T07:55:23.000Z\",[\"0xf0E6d34937701622cA887a75c150cC23d4FFDf2F\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.impl:\n- \"0xBA1d90BCfA74163bFE09e8eF609b346507D83231\"\n+ \"0xf0E6d34937701622cA887a75c150cC23d4FFDf2F\"\n }\n```"
}
]
},
{
"id": "32e2fe72",
"date": "Tue, 23 Jul 2024 06:40:25 GMT",
"timestamp": 1721716825,
"description": "Small upgrade, no functional changes.",
"isHighSeverity": true,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SgxVerifier (0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81) {\n +++ description: Verifier contract for SGX proven blocks.\n values.$implementation:\n- \"0xEE5F6648307319263FFBaE91f68ac700b188fF24\"\n+ \"0x7EE4CEF8a945639e09DDf3032e9d95c8d90f07f3\"\n values.impl:\n- \"0xEE5F6648307319263FFBaE91f68ac700b188fF24\"\n+ \"0x7EE4CEF8a945639e09DDf3032e9d95c8d90f07f3\"\n }\n```"
}
]
},
{
"id": "9750209c",
"date": "Wed, 17 Jul 2024 10:56:00 GMT",
"timestamp": 1721213760,
"description": "Taiko [upgrade 1.9.0](https://github.com/taikoxyz/taiko-mono/pull/17783). The diff is extensive but logic changes are not since much of the diff is about naming and refactoring. The MainnetXXX contracts are deployed to save gas, logic is supposed to stay the same. Contract diffs were reviewed superficially since the code is changing too often and there seem to be no new features / permissions. Below is a changelog copied from the Taiko monorepo:\n\n### Features\n\n* **protocol:** add withdraw eth function to proverset ([#17800](https://github.com/taikoxyz/taiko-mono/issues/17800)) ([bb2abc5](https://github.com/taikoxyz/taiko-mono/commit/bb2abc510c98e62c89e0bfd9382c11720fb9edc7))\n* **protocol:** update Hekla deployment ([#17795](https://github.com/taikoxyz/taiko-mono/issues/17795)) ([cadaef8](https://github.com/taikoxyz/taiko-mono/commit/cadaef882c0751496809c88ee03ff818e49c4b4a))\n* **protocol:** update risc0 verifier contract to release-1.0 ([#17776](https://github.com/taikoxyz/taiko-mono/issues/17776)) ([2dd30ab](https://github.com/taikoxyz/taiko-mono/commit/2dd30ab2dc92b25105f19a4bcc1ddf7b40886039))\n\n\n### Bug Fixes\n\n* **protocol:** reduce MainnetTaikoL1 code size ([#17792](https://github.com/taikoxyz/taiko-mono/issues/17792)) ([45281b8](https://github.com/taikoxyz/taiko-mono/commit/45281b848f3ef3c45487bfcd1bfd38b382eff4d0))\n\n\n### Documentation\n\n* **protocol:** update L1 deployment ([#17789](https://github.com/taikoxyz/taiko-mono/issues/17789)) ([a889f1a](https://github.com/taikoxyz/taiko-mono/commit/a889f1a3e6c27b6758e873572c371ac9399a3d9a))\n\n\n### Code Refactoring\n\n* **protocol:** add MainnetGuardianProver ([#17805](https://github.com/taikoxyz/taiko-mono/issues/17805)) ([6f68316](https://github.com/taikoxyz/taiko-mono/commit/6f68316e89373670cf2c58bde5e64de196b9c139))\n* **protocol:** add MainnetSgxVerifier ([#17803](https://github.com/taikoxyz/taiko-mono/issues/17803)) ([a4be247](https://github.com/taikoxyz/taiko-mono/commit/a4be247e181861300d79af6454b3fd3776100b48))\n* **protocol:** added cached version of the bridge and vaults ([#17801](https://github.com/taikoxyz/taiko-mono/issues/17801)) ([b70cc57](https://github.com/taikoxyz/taiko-mono/commit/b70cc57704d750081a62a7e8e44f68f32efdc4c1))\n* **protocol:** improve mainnet gas efficiency with addresses cached ([#17791](https://github.com/taikoxyz/taiko-mono/issues/17791)) ([b12227d](https://github.com/taikoxyz/taiko-mono/commit/b12227d4d2b2636fb80e04ee7ebc2dec3c17faa8))\n* **protocol:** name address manager param clearer ([#17806](https://github.com/taikoxyz/taiko-mono/issues/17806)) ([1d5a6ff](https://github.com/taikoxyz/taiko-mono/commit/1d5a6ff191e8457ee12c96cb73c074560c556a2a))",
"isHighSeverity": true,
"changeCount": 33,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n values.$implementation:\n- \"0xcEe590fACd976B9BDE87BC1B7620B284c5edD2C3\"\n+ \"0xBA1d90BCfA74163bFE09e8eF609b346507D83231\"\n values.impl:\n- \"0xcEe590fACd976B9BDE87BC1B7620B284c5edD2C3\"\n+ \"0xBA1d90BCfA74163bFE09e8eF609b346507D83231\"\n values.prover_set:\n- \"0x518845daA8870bE2C59E49620Fc262AD48953C9a\"\n+ \"0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A\"\n derivedName:\n- \"TaikoL1\"\n+ \"MainnetTaikoL1\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ProverSet (0x518845daA8870bE2C59E49620Fc262AD48953C9a)\n +++ description: None\n```\n\n```diff\n contract GuardianMinorityProver (0x579A8d63a2Db646284CBFE31FE5082c9989E985c) {\n +++ description: Verifier contract for blocks proven by Guardian minority.\n values.$implementation:\n- \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n+ \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n values.impl:\n- \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n+ \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n derivedName:\n- \"GuardianProver\"\n+ \"MainnetGuardianProver\"\n }\n```\n\n```diff\n contract L1RollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780) {\n +++ description: None\n values.$implementation:\n- \"0x29a88d60246C76E4F28806b9C8a42d2183154900\"\n+ \"0x4f6D5D3109C07E77035B410602996e445b18E8E9\"\n values.impl:\n- \"0x29a88d60246C76E4F28806b9C8a42d2183154900\"\n+ \"0x4f6D5D3109C07E77035B410602996e445b18E8E9\"\n derivedName:\n- \"L1RollupAddressManager\"\n+ \"MainnetRollupAddressManager\"\n }\n```\n\n```diff\n contract ProverSetProxy (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TKO token and acts as a Taiko prover. This contract will simply relay `proveBlock` calls to TaikoL1 so msg.sender doesn't need to hold any TKO.\n values.$implementation:\n- \"0x518845daA8870bE2C59E49620Fc262AD48953C9a\"\n+ \"0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A\"\n values.impl:\n- \"0x518845daA8870bE2C59E49620Fc262AD48953C9a\"\n+ \"0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A\"\n derivedName:\n- \"ProverSet\"\n+ \"MainnetProverSet\"\n }\n```\n\n```diff\n contract SharedERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) {\n +++ description: None\n values.$implementation:\n- \"0xa303784B0557BF1F1FB8b8abEF2B18a005722689\"\n+ \"0x7ACFBb369a552C45d402448A4d64b9da54C3FF30\"\n values.impl:\n- \"0xa303784B0557BF1F1FB8b8abEF2B18a005722689\"\n+ \"0x7ACFBb369a552C45d402448A4d64b9da54C3FF30\"\n derivedName:\n- \"ERC20Vault\"\n+ \"MainnetERC20Vault\"\n }\n```\n\n```diff\n contract SignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: None\n values.$implementation:\n- \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n+ \"0xDF8642a1FBFc2014de27E8E87283D6f3eEF315DF\"\n values.impl:\n- \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n+ \"0xDF8642a1FBFc2014de27E8E87283D6f3eEF315DF\"\n derivedName:\n- \"SignalService\"\n+ \"MainnetSignalService\"\n }\n```\n\n```diff\n contract SgxVerifier (0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81) {\n +++ description: Verifier contract for SGX proven blocks.\n values.$implementation:\n- \"0xB0b782cf0fCEce896E0C041F8e54f86cA4cC8e9F\"\n+ \"0xEE5F6648307319263FFBaE91f68ac700b188fF24\"\n values.impl:\n- \"0xB0b782cf0fCEce896E0C041F8e54f86cA4cC8e9F\"\n+ \"0xEE5F6648307319263FFBaE91f68ac700b188fF24\"\n derivedName:\n- \"SgxVerifier\"\n+ \"MainnetSgxVerifier\"\n }\n```\n\n```diff\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: None\n values.$implementation:\n- \"0x01E7D369a619eF1B0E92563d8737F42C09789986\"\n+ \"0xAc96FF285158bceBB8573D20d853e86BB2915aF3\"\n values.impl:\n- \"0x01E7D369a619eF1B0E92563d8737F42C09789986\"\n+ \"0xAc96FF285158bceBB8573D20d853e86BB2915aF3\"\n derivedName:\n- \"Bridge\"\n+ \"MainnetBridge\"\n }\n```\n\n```diff\n contract GuardianProver (0xE3D777143Ea25A6E031d1e921F396750885f43aC) {\n +++ description: Verifier contract for Guardian proven blocks.\n values.$implementation:\n- \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n+ \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n values.impl:\n- \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n+ \"0x3c40CC51e78B4a622622F9A4Df1b40068bc8Df98\"\n derivedName:\n- \"GuardianProver\"\n+ \"MainnetGuardianProver\"\n }\n```\n\n```diff\n contract L1SharedAddressManager (0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa) {\n +++ description: None\n values.$implementation:\n- \"0x9496502d7D121B3D5eF25cA6c58d4f7593398a17\"\n+ \"0x2f7126f78365AD54EAB26fD7faEc60435008E2fD\"\n values.impl:\n- \"0x9496502d7D121B3D5eF25cA6c58d4f7593398a17\"\n+ \"0x2f7126f78365AD54EAB26fD7faEc60435008E2fD\"\n derivedName:\n- \"L1SharedAddressManager\"\n+ \"MainnetSharedAddressManager\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MainnetProverSet (0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A)\n +++ description: None\n```"
}
]
},
{
"id": "878a1e06",
"date": "Mon, 15 Jul 2024 07:22:39 GMT",
"timestamp": 1721028159,
"description": "This is the [Taiko protocol v1.8.0 upgrade](https://github.com/taikoxyz/taiko-mono/releases/tag/protocol-v1.8.0).\n\ntldr:\n- TAIKO bonds are escrowed in the TaikoL1 contract and only manually withdrawn using `withdrawBond()` by proposers / provers. For efficiency, bonds can be deposited once in the contract and be left there.\n- ring buffer size increased by 36 000 blocks (5 days worth of blocks @ 12 seconds). `getVerifiedBlockProver` can be called on these blocks to get their prover's address.\n- `CalldataTxList` emitted when calldata is used as DA (to be used for derivation)",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n values.$implementation:\n- \"0x5fc54737ECC1de49D58AE1195d4A296257F1E31b\"\n+ \"0xcEe590fACd976B9BDE87BC1B7620B284c5edD2C3\"\n values.getConfig.blockRingBufferSize:\n- 324512\n+ 360000\n values.impl:\n- \"0x5fc54737ECC1de49D58AE1195d4A296257F1E31b\"\n+ \"0xcEe590fACd976B9BDE87BC1B7620B284c5edD2C3\"\n }\n```\n\n```diff\n contract ProverSetProxy (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TKO token and acts as a Taiko prover. This contract will simply relay `proveBlock` calls to TaikoL1 so msg.sender doesn't need to hold any TKO.\n values.$implementation:\n- \"0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1\"\n+ \"0x518845daA8870bE2C59E49620Fc262AD48953C9a\"\n values.impl:\n- \"0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1\"\n+ \"0x518845daA8870bE2C59E49620Fc262AD48953C9a\"\n }\n```"
}
]
},
{
"id": "c41c60db",
"date": "Mon, 08 Jul 2024 13:19:34 GMT",
"timestamp": 1720444774,
"description": "New ProverSet implementation: added possibility for authorized admin to call depositBond and withdrawBond on TaikoL1contract. These functions don't exist yet on TaikoL1contract, so this change is probably the beginning of a bigger update.\n\nProverSet address changed in L1RollupAddressManager, old implementation still in use under ProverSetProxy.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n values.prover_set:\n- \"0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1\"\n+ \"0x518845daA8870bE2C59E49620Fc262AD48953C9a\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ProverSet (0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (0x518845daA8870bE2C59E49620Fc262AD48953C9a)\n +++ description: None\n```"
}
]
},
{
"id": "4825b53e",
"date": "Wed, 03 Jul 2024 10:37:45 GMT",
"timestamp": 1720003065,
"description": "- L1RollupAddressManager.sol: changed harcoded B_TIER_ROUTER address.\n- Bridge.sol: small change in retryMessage logic.\n- TaikoL1.sol: changes in block verification. assignedProver and hookCalls now DEPRECATED. assignedProver is now msg.sender of proposeBlock tx. New getters (getLastVerifiedBlock, getLastSyncedBlock), and decreased liveness bond to 125 TAIKO. Block proposers can now bribe the Ethereum block builder. Move some functions into libraries.\n- TaikoToken.sol: can now call batchTransfer for multiple recipients and amounts.\n- TierProviderV2.sol: validityBond and contestBond decreased (halved), cooldownWindow decreased (24h to 4h) for tiers TIER_SGX,TIER_GUARDIAN_MINORITY, for TIER_GUARDIAN increased from 1 to 24 hours. maxBlocksToVerifyPerProof now deprecated.\n- TierRouter.sol: change hardcoded tier provider address.",
"isHighSeverity": true,
"changeCount": 27,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n upgradeability.implementation:\n- \"0xB9E1E58bcF33B79CcfF99c298963546a6c334388\"\n+ \"0x5fc54737ECC1de49D58AE1195d4A296257F1E31b\"\n implementations.0:\n- \"0xB9E1E58bcF33B79CcfF99c298963546a6c334388\"\n+ \"0x5fc54737ECC1de49D58AE1195d4A296257F1E31b\"\n values.getConfig.maxBlocksToVerifyPerProposal:\n- 10\n values.getConfig.livenessBond:\n- \"250000000000000000000\"\n+ \"125000000000000000000\"\n values.getConfig.blockSyncThreshold:\n- 32\n values.getConfig.maxBlocksToVerify:\n+ 16\n values.getConfig.stateRootSyncInternal:\n+ 16\n values.impl:\n- \"0xB9E1E58bcF33B79CcfF99c298963546a6c334388\"\n+ \"0x5fc54737ECC1de49D58AE1195d4A296257F1E31b\"\n values.slotA:\n- {\"genesisHeight\":19923613,\"genesisTimestamp\":1716358991,\"lastSyncedBlockId\":105566,\"lastSynecdAt\":1719571751}\n values.slotB:\n- {\"numBlocks\":108928,\"lastVerifiedBlockId\":105588,\"provingPaused\":false,\"__reservedB1\":0,\"__reservedB2\":0,\"__reservedB3\":0,\"lastUnpausedAt\":1716571955}\n values.tier_router:\n- \"0xa8e5D3a2E2052bea7f10bE6a0386454b721d1f9F\"\n+ \"0x6E997f1F22C40ba37F633B08f3b07E10Ed43155a\"\n }\n```\n\n```diff\n contract TaikoToken (0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800) {\n +++ description: None\n upgradeability.implementation:\n- \"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"\n+ \"0xcfe803378D79d1180EbF030455040EA6513869dF\"\n implementations.0:\n- \"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"\n+ \"0xcfe803378D79d1180EbF030455040EA6513869dF\"\n values.impl:\n- \"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"\n+ \"0xcfe803378D79d1180EbF030455040EA6513869dF\"\n }\n```\n\n```diff\n- Status: DELETED\n contract TierProviderV2 (0x4cffe56C947E26D07C14020499776DB3e9AE3a23)\n +++ description: None\n```\n\n```diff\n contract L1RollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780) {\n +++ description: None\n upgradeability.implementation:\n- \"0x8EEf314878A7E56314E8DF285d0B0D649C903aF6\"\n+ \"0x29a88d60246C76E4F28806b9C8a42d2183154900\"\n implementations.0:\n- \"0x8EEf314878A7E56314E8DF285d0B0D649C903aF6\"\n+ \"0x29a88d60246C76E4F28806b9C8a42d2183154900\"\n values.impl:\n- \"0x8EEf314878A7E56314E8DF285d0B0D649C903aF6\"\n+ \"0x29a88d60246C76E4F28806b9C8a42d2183154900\"\n }\n```\n\n```diff\n contract SharedERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) {\n +++ description: None\n upgradeability.implementation:\n- \"0x75b5E276c5C1e9378E899cb3A87977421980Eb22\"\n+ \"0xa303784B0557BF1F1FB8b8abEF2B18a005722689\"\n implementations.0:\n- \"0x75b5E276c5C1e9378E899cb3A87977421980Eb22\"\n+ \"0xa303784B0557BF1F1FB8b8abEF2B18a005722689\"\n values.impl:\n- \"0x75b5E276c5C1e9378E899cb3A87977421980Eb22\"\n+ \"0xa303784B0557BF1F1FB8b8abEF2B18a005722689\"\n }\n```\n\n```diff\n- Status: DELETED\n contract TierRouter (0xa8e5D3a2E2052bea7f10bE6a0386454b721d1f9F)\n +++ description: None\n```\n\n```diff\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: None\n upgradeability.implementation:\n- \"0x40f8Be2969D0D5717768F6799c8840e5D5D603F7\"\n+ \"0x01E7D369a619eF1B0E92563d8737F42C09789986\"\n implementations.0:\n- \"0x40f8Be2969D0D5717768F6799c8840e5D5D603F7\"\n+ \"0x01E7D369a619eF1B0E92563d8737F42C09789986\"\n values.impl:\n- \"0x40f8Be2969D0D5717768F6799c8840e5D5D603F7\"\n+ \"0x01E7D369a619eF1B0E92563d8737F42C09789986\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract TierProvider (0x3a1A900680BaADb889202faf12915F7E47B71ddd)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract TierRouter (0x6E997f1F22C40ba37F633B08f3b07E10Ed43155a)\n +++ description: None\n```"
}
]
},
{
"id": "c1261ed9",
"date": "Fri, 28 Jun 2024 10:59:39 GMT",
"timestamp": 1719572379,
"description": "Update to bridge implementation, main changes include a new calculation of messageCalldataCost, used to calculate minimal gas limit required for sending bridge messages. Also removed SafeCastUpgradeable library.",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: None\n upgradeability.implementation:\n- \"0xD28f2c26aD8bA88b0691F6BB41Ff021878052561\"\n+ \"0x40f8Be2969D0D5717768F6799c8840e5D5D603F7\"\n implementations.0:\n- \"0xD28f2c26aD8bA88b0691F6BB41Ff021878052561\"\n+ \"0x40f8Be2969D0D5717768F6799c8840e5D5D603F7\"\n values.CALLDATA_MESSAGE_SIZE_BYTES:\n- 352\n values.impl:\n- \"0xD28f2c26aD8bA88b0691F6BB41Ff021878052561\"\n+ \"0x40f8Be2969D0D5717768F6799c8840e5D5D603F7\"\n }\n```"
}
]
},
{
"id": "148afcf3",
"date": "Mon, 10 Jun 2024 18:24:02 GMT",
"timestamp": 1718043842,
"description": "Moved consumeTokenQuota from beginning to very end of _transferTokens function. Quota manager contract is currently not set.",
"isHighSeverity": true,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SharedERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) {\n +++ description: None\n upgradeability.implementation:\n- \"0xF8bdaC4E68bA2595Be8381aaa5456917e374E737\"\n+ \"0x75b5E276c5C1e9378E899cb3A87977421980Eb22\"\n implementations.0:\n- \"0xF8bdaC4E68bA2595Be8381aaa5456917e374E737\"\n+ \"0x75b5E276c5C1e9378E899cb3A87977421980Eb22\"\n values.impl:\n- \"0xF8bdaC4E68bA2595Be8381aaa5456917e374E737\"\n+ \"0x75b5E276c5C1e9378E899cb3A87977421980Eb22\"\n }\n```"
}
]
},
{
"id": "bad728f7",
"date": "Sun, 09 Jun 2024 12:06:08 GMT",
"timestamp": 1717934768,
"description": "Added \"payable\" to proposeBlock function in ProverSet. Calling proposeBlocks from ProverSet allows the ProverSetProxy to be the proposer of the block. On proveBlock(), also called from ProverSetProxy, there will be no validityBond posted as net transfers will be zero, since the TaikoL1 needs to return the livenessBond (250 TAIKO) to ProverSetProxy, and the validityBond (250 TAIKO) is of the same amount.\nThere are no special privileges for ProverSetProxy or its set provers in TaikoL1 contract.\n\nAlso new SGX instances registered.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n values.prover_set:\n- \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n+ \"0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ProverSet (0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd)\n +++ description: None\n```\n\n```diff\n contract ProverSetProxy (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TKO token and acts as a Taiko prover. This contract will simply relay `proveBlock` calls to TaikoL1 so msg.sender doesn't need to hold any TKO.\n upgradeability.implementation:\n- \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n+ \"0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1\"\n implementations.0:\n- \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n+ \"0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1\"\n values.impl:\n- \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n+ \"0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1)\n +++ description: None\n```"
}
]
},
{
"id": "bc3c6008",
"date": "Fri, 07 Jun 2024 10:40:21 GMT",
"timestamp": 1717756821,
"description": "- ProverSet.sol: can now propose blocks by calling proposeBlock from proverSet contract, which will in turn call TaikoL1 proposeBlock().\n- ERC20Vault.sol - LibStrings update, typo fixes and gas optimisations.\n- SignalService.sol - Reverted to old implementation of SignalService (0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d). It is now back to old LibStrings, expecting an update soon.\n- Bridge.sol - LibStrings update, added a max size for a calldata message to be processable by a relayer during proof verification.\n- TaikoL1.sol - Added L1_NO_HOOKS error but not used. Fixed a bug where if they passed no hooks in the input params the livenessBond wouldn't be transferred.\n- TaikoToken.sol - Added delegates function, not allowed to delegate to TaikoL1 or ERC20Vault.",
"isHighSeverity": true,
"changeCount": 28,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n upgradeability.implementation:\n- \"0x4b2743B869b85d5F7D8020566f92664995E4f3c5\"\n+ \"0xB9E1E58bcF33B79CcfF99c298963546a6c334388\"\n implementations.0:\n- \"0x4b2743B869b85d5F7D8020566f92664995E4f3c5\"\n+ \"0xB9E1E58bcF33B79CcfF99c298963546a6c334388\"\n values.getConfig.6:\n- 16\n+ 32\n values.getConfig.2:\n- 432512\n+ 324512\n values.getConfig.1:\n- 432000\n+ 324000\n values.impl:\n- \"0x4b2743B869b85d5F7D8020566f92664995E4f3c5\"\n+ \"0xB9E1E58bcF33B79CcfF99c298963546a6c334388\"\n values.prover_set:\n- \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n+ \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n }\n```\n\n```diff\n contract TaikoToken (0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800) {\n +++ description: None\n upgradeability.implementation:\n- \"0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F\"\n+ \"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"\n implementations.0:\n- \"0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F\"\n+ \"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"\n values.impl:\n- \"0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F\"\n+ \"0x55833dA2962c2330ccCF043ff8037e6D2939bCF6\"\n }\n```\n\n```diff\n contract ProverSetProxy (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TKO token and acts as a Taiko prover. This contract will simply relay `proveBlock` calls to TaikoL1 so msg.sender doesn't need to hold any TKO.\n upgradeability.implementation:\n- \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n+ \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n implementations.0:\n- \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n+ \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n values.impl:\n- \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n+ \"0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd\"\n }\n```\n\n```diff\n contract SharedERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) {\n +++ description: None\n upgradeability.implementation:\n- \"0x4F750D13005444407D44dAA30922128db0374ca1\"\n+ \"0xF8bdaC4E68bA2595Be8381aaa5456917e374E737\"\n implementations.0:\n- \"0x4F750D13005444407D44dAA30922128db0374ca1\"\n+ \"0xF8bdaC4E68bA2595Be8381aaa5456917e374E737\"\n values.impl:\n- \"0x4F750D13005444407D44dAA30922128db0374ca1\"\n+ \"0xF8bdaC4E68bA2595Be8381aaa5456917e374E737\"\n }\n```\n\n```diff\n contract SignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: None\n upgradeability.implementation:\n- \"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"\n+ \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n implementations.0:\n- \"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"\n+ \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n values.impl:\n- \"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"\n+ \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n }\n```\n\n```diff\n contract SgxVerifier (0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81) {\n +++ description: Verifier contract for SGX proven blocks.\n values.instances.7:\n+ [\"0x6F6C0837b2c45B1bfE970bd5a0BB171605cb44F3\"]\n values.instances.6:\n+ [\"0x4A9d339c94D1D3b685e3923907A98c73b8168AFF\"]\n values.nextInstanceId:\n- 6\n+ 8\n }\n```\n\n```diff\n- Status: DELETED\n contract ProverSet (0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F)\n +++ description: None\n```\n\n```diff\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: None\n upgradeability.implementation:\n- \"0x3c326483EBFabCf3252205f26dF632FE83d11108\"\n+ \"0xD28f2c26aD8bA88b0691F6BB41Ff021878052561\"\n implementations.0:\n- \"0x3c326483EBFabCf3252205f26dF632FE83d11108\"\n+ \"0xD28f2c26aD8bA88b0691F6BB41Ff021878052561\"\n values.impl:\n- \"0x3c326483EBFabCf3252205f26dF632FE83d11108\"\n+ \"0xD28f2c26aD8bA88b0691F6BB41Ff021878052561\"\n values.CALLDATA_MESSAGE_SIZE_BYTES:\n+ 352\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd)\n +++ description: None\n```"
}
]
},
{
"id": "60403b92",
"date": "Thu, 06 Jun 2024 12:40:03 GMT",
"timestamp": 1717677603,
"description": "TaikoL1Contract implementation update:\n- Retrieve the tier configurations based on router rather than tier_provider\n- Removed L1_UNAUTHORIZED error and _isProposerPermitted function, making block proposing permissionless.\n- checkEOAForCalldataDA is not in getConfig(), used when blob usages is not detected, it will check the calldata for tx data.\n- LibStrings changes: removed assignment_hook, proposer and proposer_one. Proposer and proposer_one still resolve but unused since _isProposerPermitted is removed. \n\nSignalService update: getSyncedChainData to getSyncedChainHeight, some error changes.\n\nProver_set update: reflect changes to LibStrings, made natively aware of taiko token.\n\nSGXVerifier update: reflect changes to LibStrings, some error changes. _replaceInstance only if new instance != old instance.\n\nGuardianProver(s) update: safeApprove and safeTransfer function to approve and transfer. Reflect changes to LibStrings.\n\nL1RollupAddressManager update: removed B_ASSIGNMENT_HOOK, B_PROPOSER, B_PROPOSER_ONE, B_TIER_PROVIDER. Added B_TIER_ROUTER.",
"isHighSeverity": true,
"changeCount": 28,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n upgradeability.implementation:\n- \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n+ \"0x4b2743B869b85d5F7D8020566f92664995E4f3c5\"\n implementations.0:\n- \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n+ \"0x4b2743B869b85d5F7D8020566f92664995E4f3c5\"\n values.assignment_hook:\n- \"0x537a2f0D3a5879b41BCb5A2afE2EA5c4961796F6\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.getConfig.7:\n+ true\n values.impl:\n- \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n+ \"0x4b2743B869b85d5F7D8020566f92664995E4f3c5\"\n values.prover_set:\n- \"0x500735343372Dd6c9B84dBc7a75babf4479742B9\"\n+ \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ProverSet (0x500735343372Dd6c9B84dBc7a75babf4479742B9)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract AssignmentHook (0x537a2f0D3a5879b41BCb5A2afE2EA5c4961796F6)\n +++ description: None\n```\n\n```diff\n contract GuardianMinorityProver (0x579A8d63a2Db646284CBFE31FE5082c9989E985c) {\n +++ description: Verifier contract for blocks proven by Guardian minority.\n upgradeability.implementation:\n- \"0x468F6A9C0ad2e9C8370687D2844A9e70fE942d5c\"\n+ \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n implementations.0:\n- \"0x468F6A9C0ad2e9C8370687D2844A9e70fE942d5c\"\n+ \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n values.impl:\n- \"0x468F6A9C0ad2e9C8370687D2844A9e70fE942d5c\"\n+ \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n }\n```\n\n```diff\n contract L1RollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780) {\n +++ description: None\n upgradeability.implementation:\n- \"0x8Af4669E3068Bae96b92cD73603f5D86beD07a9a\"\n+ \"0x8EEf314878A7E56314E8DF285d0B0D649C903aF6\"\n implementations.0:\n- \"0x8Af4669E3068Bae96b92cD73603f5D86beD07a9a\"\n+ \"0x8EEf314878A7E56314E8DF285d0B0D649C903aF6\"\n values.impl:\n- \"0x8Af4669E3068Bae96b92cD73603f5D86beD07a9a\"\n+ \"0x8EEf314878A7E56314E8DF285d0B0D649C903aF6\"\n }\n```\n\n```diff\n contract ProverSetProxy (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9) {\n +++ description: A contract that holds TKO token and acts as a Taiko prover. This contract will simply relay `proveBlock` calls to TaikoL1 so msg.sender doesn't need to hold any TKO.\n upgradeability.implementation:\n- \"0x500735343372Dd6c9B84dBc7a75babf4479742B9\"\n+ \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n implementations.0:\n- \"0x500735343372Dd6c9B84dBc7a75babf4479742B9\"\n+ \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n values.impl:\n- \"0x500735343372Dd6c9B84dBc7a75babf4479742B9\"\n+ \"0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F\"\n }\n```\n\n```diff\n contract TaikoAdmin (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.nonce:\n- 26\n+ 28\n }\n```\n\n```diff\n contract SignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {\n +++ description: None\n upgradeability.implementation:\n- \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n+ \"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"\n implementations.0:\n- \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n+ \"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"\n values.impl:\n- \"0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d\"\n+ \"0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb\"\n }\n```\n\n```diff\n contract SgxVerifier (0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81) {\n +++ description: Verifier contract for SGX proven blocks.\n upgradeability.implementation:\n- \"0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"\n+ \"0xB0b782cf0fCEce896E0C041F8e54f86cA4cC8e9F\"\n implementations.0:\n- \"0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"\n+ \"0xB0b782cf0fCEce896E0C041F8e54f86cA4cC8e9F\"\n values.impl:\n- \"0xf381868DD6B2aC8cca468D63B42F9040DE2257E9\"\n+ \"0xB0b782cf0fCEce896E0C041F8e54f86cA4cC8e9F\"\n }\n```\n\n```diff\n contract GuardianProver (0xE3D777143Ea25A6E031d1e921F396750885f43aC) {\n +++ description: Verifier contract for Guardian proven blocks.\n upgradeability.implementation:\n- \"0x468F6A9C0ad2e9C8370687D2844A9e70fE942d5c\"\n+ \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n implementations.0:\n- \"0x468F6A9C0ad2e9C8370687D2844A9e70fE942d5c\"\n+ \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n values.impl:\n- \"0x468F6A9C0ad2e9C8370687D2844A9e70fE942d5c\"\n+ \"0x7E717FFD6f7dD1008192bDC7193904FaB25BC8A4\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F)\n +++ description: None\n```"
}
]
},
{
"id": "f9050e4b",
"date": "Tue, 04 Jun 2024 09:25:32 GMT",
"timestamp": 1717493132,
"description": "Two contracts implementation changed, TaikoL1.sol, and Bridge.sol.\n- TaikoL1.sol: introduced B_TIER_ROUTER = bytes32(\"tier_router\") to replace B_TIER_PROVIDER\n- Bridge.sol: Added a max proof size for a message to be processable by a relayer, an insufficent gas check, and added the B_TIER_ROUTER variable support.",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a) {\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n upgradeability.implementation:\n- \"0x3505a0700DB72dEc7AbFF1aF231BB5D87aBF2944\"\n+ \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n implementations.0:\n- \"0x3505a0700DB72dEc7AbFF1aF231BB5D87aBF2944\"\n+ \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n values.impl:\n- \"0x3505a0700DB72dEc7AbFF1aF231BB5D87aBF2944\"\n+ \"0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE\"\n values.tier_router:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0xa8e5D3a2E2052bea7f10bE6a0386454b721d1f9F\"\n }\n```\n\n```diff\n contract TaikoAdmin (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.nonce:\n- 24\n+ 26\n }\n```\n\n```diff\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: None\n upgradeability.implementation:\n- \"0x951B7Ae1bB26d12dB37f01748e8fB62FEf45A8B5\"\n+ \"0x3c326483EBFabCf3252205f26dF632FE83d11108\"\n implementations.0:\n- \"0x951B7Ae1bB26d12dB37f01748e8fB62FEf45A8B5\"\n+ \"0x3c326483EBFabCf3252205f26dF632FE83d11108\"\n values.impl:\n- \"0x951B7Ae1bB26d12dB37f01748e8fB62FEf45A8B5\"\n+ \"0x3c326483EBFabCf3252205f26dF632FE83d11108\"\n values.RELAYER_MAX_PROOF_BYTES:\n+ 200000\n }\n```\n\n```diff\n+ Status: CREATED\n contract TierRouter (0xa8e5D3a2E2052bea7f10bE6a0386454b721d1f9F)\n +++ description: None\n```"
}
]
},
{
"id": "8b7e8a02",
"date": "Mon, 03 Jun 2024 08:06:00 GMT",
"timestamp": 1717401960,
"description": "Change in bridge implementation processMessage function: message Status and B_OUT_OF_ETH_QUOTA revert logic.",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract TaikoAdmin (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) {\n +++ description: None\n values.nonce:\n- 23\n+ 24\n }\n```\n\n```diff\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) {\n +++ description: None\n upgradeability.implementation:\n- \"0x71c2f41AEDe913AAEf2c62596E03702E348D6Cd0\"\n+ \"0x951B7Ae1bB26d12dB37f01748e8fB62FEf45A8B5\"\n implementations.0:\n- \"0x71c2f41AEDe913AAEf2c62596E03702E348D6Cd0\"\n+ \"0x951B7Ae1bB26d12dB37f01748e8fB62FEf45A8B5\"\n values.impl:\n- \"0x71c2f41AEDe913AAEf2c62596E03702E348D6Cd0\"\n+ \"0x951B7Ae1bB26d12dB37f01748e8fB62FEf45A8B5\"\n }\n```"
}
]
},
{
"id": "4345cda4",
"date": "Thu, 30 May 2024 14:43:53 GMT",
"timestamp": 1717080233,
"description": "Provide description of changes. This section will be preserved.",
"isHighSeverity": false,
"changeCount": 18,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract PEMCertChainLib (0x02772b7B3a5Bea0141C993Dbb8D0733C19F46169)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract TaikoL1Contract (0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a)\n +++ description: This contract provides functionalities for proposing, proving, and verifying blocks.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoToken (0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SigVerifyLib (0x47bB416ee947fE4a4b655011aF7d6E3A1B80E6e9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract TierProvider (0x4cffe56C947E26D07C14020499776DB3e9AE3a23)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProverSet (0x500735343372Dd6c9B84dBc7a75babf4479742B9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AssignmentHook (0x537a2f0D3a5879b41BCb5A2afE2EA5c4961796F6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GuardianMinorityProver (0x579A8d63a2Db646284CBFE31FE5082c9989E985c)\n +++ description: Verifier contract for blocks proven by Guardian minority.\n```\n\n```diff\n+ Status: CREATED\n contract L1RollupAddressManager (0x579f40D0BE111b823962043702cabe6Aaa290780)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProverSetProxy (0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9)\n +++ description: A contract that holds TKO token and acts as a Taiko prover. This contract will simply relay `proveBlock` calls to TaikoL1 so msg.sender doesn't need to hold any TKO.\n```\n\n```diff\n+ Status: CREATED\n contract AutomataDcapV3Attestation (0x8d7C954960a36a7596d7eA4945dDf891967ca8A3)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SharedERC20Vault (0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract TaikoAdmin (0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SignalService (0x9e0a24964e5397B566c1ed39258e21aB5E35C77C)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SgxVerifier (0xb0f3186FC1963f774f52ff455DC86aEdD0b31F81)\n +++ description: Verifier contract for SGX proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract TaikoBridge (0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GuardianProver (0xE3D777143Ea25A6E031d1e921F396750885f43aC)\n +++ description: Verifier contract for Guardian proven blocks.\n```\n\n```diff\n+ Status: CREATED\n contract L1SharedAddressManager (0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa)\n +++ description: None\n```"
}
]
}
]
wbeth+17-3
contracts+2-2
{
"addresses": {
"ethereum": [
{
"name": "UnwrapTokenV1ETH",
"isVerified": true,
"address": "eth:0x79973d557CD9dd87eb61E250cc2572c990e20196",
"upgradeability": {
"proxyType": "ZeppelinOS proxy",
"admins": [
"eth:0xA3eE6926edcce93BacF05F4222c243c4d9F6d853"
],
"implementations": [
"eth:0x542059d658624DF6452b22B10302A15a6AB59f10"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Redemption queue for wBETH. The token contract records a claim here when a holder burns wBETH; the claim becomes payable once ETH has been allocated to it (automatically on request if the queue already holds enough, otherwise by the operator) and the lock time of 10d has passed. Only ETH sent by the token operator or the rechargeAddress counts toward allocation; the contract has no way to pull ETH from validators. 134 claims have been recorded so far. The operator can also send any surplus ETH back to the ethBackAddress.\n* Roles:\n * **admin**: EOA 3\n * **blacklister**: EOA 1\n * **operatorAddress**: EOA 2\n * **owner**: EOA 1\n * **pauser**: EOA 1",
"description": "Redemption queue for wBETH. The token contract records a claim here when a holder burns wBETH; the claim becomes payable once ETH has been allocated to it (automatically on request if the queue already holds enough, otherwise by the operator) and the lock time of 10d has passed. Only ETH sent by the token operator or the rechargeAddress counts toward allocation; the contract has no way to pull ETH from validators. 136 claims have been recorded so far. The operator can also send any surplus ETH back to the ethBackAddress.\n* Roles:\n * **admin**: EOA 3\n * **blacklister**: EOA 1\n * **operatorAddress**: EOA 2\n * **owner**: EOA 1\n * **pauser**: EOA 1",
"upgradableBy": [
{
"id": "EOA-3",
"name": "EOA 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x79973d557CD9dd87eb61E250cc2572c990e20196#code"
},
{
"name": "ExchangeRateUpdater",
"isVerified": true,
"address": "eth:0x81720695e43A39C52557Ce6386feB3FAAC215f06",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Rate-limited relay that is the token's registered oracle. Whitelisted callers write the wBETH exchange rate through it, and each caller has an allowance that caps the cumulative absolute change it may push; the allowance refills linearly over the caller's interval. This is the only bound on the exchange rate anywhere in the system, and it can be bypassed by the token owner repointing the oracle.\n* Roles:\n * **callers**: EOA 2\n * **owner**: EOA 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x81720695e43A39C52557Ce6386feB3FAAC215f06#code"
},
{
"name": "wBETH",
"isVerified": true,
"address": "eth:0xa2E3356610840701BDf5611a53974510Ae27E2e1",
"upgradeability": {
"proxyType": "ZeppelinOS proxy",
"admins": [
"eth:0xA3eE6926edcce93BacF05F4222c243c4d9F6d853"
],
"implementations": [
"eth:0x9E021c9607bD3ADB7424D3b25a2D35763ff180BB"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694505887,
"transactionHash": "0x065674d9a54ad1e26823ef1c7381621195bd6c9b39e3d5b01d9dde846884f047",
"implementations": [
"eth:0xfe928A7D8Be9c8cEce7e97F0Ed5704f4fA2cb42A"
]
},
{
"timestamp": 1732265171,
"transactionHash": "0x998e10d608ab532ac7c5fef0263a32bf09a2c35188e7ebafd08c0c766a8d1431",
"implementations": [
"eth:0x9E021c9607bD3ADB7424D3b25a2D35763ff180BB"
]
}
],
"description": "Liquid staking token (wBETH) built on Circle's FiatToken code with a staking layer on top. Anyone can mint by sending ETH to deposit(), receiving ETH ÷ exchangeRate tokens; the ETH stays in this contract until the operator moves it to the ethReceiver. Redemption is requestWithdrawEth(): the tokens are burned at the current rate and an ETH claim is recorded in the unwrap contract. Neither path is open while the token is paused or the caller is blacklisted. The exchange rate is a single storage value written by the oracle address, bounded only to be at least 1e18. Configured minters can additionally mint tokens with no ETH backing, up to their allowance; 3175308537299494959722021 is the live supply.\n* Roles:\n * **admin**: EOA 3\n * **blacklister**: EOA 1\n * **masterMinter**: EOA 1\n * **minters**: OperatorWallet\n * **operator**: EOA 2\n * **oracle**: ExchangeRateUpdater\n * **owner**: EOA 1\n * **pauser**: EOA 1",
"description": "Liquid staking token (wBETH) built on Circle's FiatToken code with a staking layer on top. Anyone can mint by sending ETH to deposit(), receiving ETH ÷ exchangeRate tokens; the ETH stays in this contract until the operator moves it to the ethReceiver. Redemption is requestWithdrawEth(): the tokens are burned at the current rate and an ETH claim is recorded in the unwrap contract. Neither path is open while the token is paused or the caller is blacklisted. The exchange rate is a single storage value written by the oracle address, bounded only to be at least 1e18. Configured minters can additionally mint tokens with no ETH backing, up to their allowance; 3175313719288555978183752 is the live supply.\n* Roles:\n * **admin**: EOA 3\n * **blacklister**: EOA 1\n * **masterMinter**: EOA 1\n * **minters**: OperatorWallet\n * **operator**: EOA 2\n * **oracle**: ExchangeRateUpdater\n * **owner**: EOA 1\n * **pauser**: EOA 1",
"upgradableBy": [
{
"id": "EOA-3",
"name": "EOA 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa2E3356610840701BDf5611a53974510Ae27E2e1#code"
},
{
"name": "OperatorWallet",
"isVerified": true,
"address": "eth:0xb05a6449f383a1A43A172970858B97394FEcDAD6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7CfE99c15537753682def016D17d4b29A7caB4EE"
],
"implementations": [
"eth:0x18cB25F214B95bFac05d594d14eF68bB94D55813"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1681893923,
"transactionHash": "0xef001a4cacec4958a37a2cb4a40750d12c366a907d5c7ff0fe1f005232ab1aa0",
"implementations": [
"eth:0x18cB25F214B95bFac05d594d14eF68bB94D55813"
]
}
],
"description": "Binance's minting wallet. It is the only configured wBETH minter and its allowance is unlimited. Its operator or owner can mint wBETH to itself or to a registered hot wallet with no ETH deposited on-chain; this is how wBETH is issued to users who wrap BETH on the exchange, and it accounts for nearly all of the supply. The owner can also add hot wallets, pause the wallet, and execute arbitrary calls from it, which lets it mint to any address.\n* Roles:\n * **admin**: EOA 4\n * **operator**: EOA 5\n * **owner**: EOA 6",
"upgradableBy": [
{
"id": "EOA-4",
"name": "EOA 4",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb05a6449f383a1A43A172970858B97394FEcDAD6#code"
}
]
},
"risks": []
}
[
{
"id": "a64bb987",
"date": "Tue, 15 Sep 2026 11:48:25 GMT",
"timestamp": 1789472833,
"description": "Config change (no change onchain).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract UnwrapTokenV1ETH (eth:0x79973d557CD9dd87eb61E250cc2572c990e20196) [wbeth/UnwrapTokenV1ETH] {\n +++ description: Redemption queue for wBETH. The token contract records a claim here when a holder burns wBETH; the claim becomes payable once ETH has been allocated to it (automatically on request if the queue already holds enough, otherwise by the operator) and the lock time of 10d has passed. Only ETH sent by the token operator or the rechargeAddress counts toward allocation; the contract has no way to pull ETH from validators. 136 claims have been recorded so far. The operator can also send any surplus ETH back to the ethBackAddress.\n description:\n- \"Redemption queue for wBETH. The token contract records a claim here when a holder burns wBETH; the claim becomes payable once ETH has been allocated to it (automatically on request if the queue already holds enough, otherwise by the operator) and the lock time of 10d has passed. Only ETH sent by the token operator or the rechargeAddress counts toward allocation; the contract has no way to pull ETH from validators. 134 claims have been recorded so far. The operator can also send any surplus ETH back to the ethBackAddress.\"\n+ \"Redemption queue for wBETH. The token contract records a claim here when a holder burns wBETH; the claim becomes payable once ETH has been allocated to it (automatically on request if the queue already holds enough, otherwise by the operator) and the lock time of 10d has passed. Only ETH sent by the token operator or the rechargeAddress counts toward allocation; the contract has no way to pull ETH from validators. 136 claims have been recorded so far. The operator can also send any surplus ETH back to the ethBackAddress.\"\n }\n```\n\n```diff\n contract wBETH (eth:0xa2E3356610840701BDf5611a53974510Ae27E2e1) [wbeth/WrapTokenV3ETH] {\n +++ description: Liquid staking token (wBETH) built on Circle's FiatToken code with a staking layer on top. Anyone can mint by sending ETH to deposit(), receiving ETH ÷ exchangeRate tokens; the ETH stays in this contract until the operator moves it to the ethReceiver. Redemption is requestWithdrawEth(): the tokens are burned at the current rate and an ETH claim is recorded in the unwrap contract. Neither path is open while the token is paused or the caller is blacklisted. The exchange rate is a single storage value written by the oracle address, bounded only to be at least 1e18. Configured minters can additionally mint tokens with no ETH backing, up to their allowance; 3175313719288555978183752 is the live supply.\n description:\n- \"Liquid staking token (wBETH) built on Circle's FiatToken code with a staking layer on top. Anyone can mint by sending ETH to deposit(), receiving ETH ÷ exchangeRate tokens; the ETH stays in this contract until the operator moves it to the ethReceiver. Redemption is requestWithdrawEth(): the tokens are burned at the current rate and an ETH claim is recorded in the unwrap contract. Neither path is open while the token is paused or the caller is blacklisted. The exchange rate is a single storage value written by the oracle address, bounded only to be at least 1e18. Configured minters can additionally mint tokens with no ETH backing, up to their allowance; 3175308537299494959722021 is the live supply.\"\n+ \"Liquid staking token (wBETH) built on Circle's FiatToken code with a staking layer on top. Anyone can mint by sending ETH to deposit(), receiving ETH ÷ exchangeRate tokens; the ETH stays in this contract until the operator moves it to the ethReceiver. Redemption is requestWithdrawEth(): the tokens are burned at the current rate and an ETH claim is recorded in the unwrap contract. Neither path is open while the token is paused or the caller is blacklisted. The exchange rate is a single storage value written by the oracle address, bounded only to be at least 1e18. Configured minters can additionally mint tokens with no ETH backing, up to their allowance; 3175313719288555978183752 is the live supply.\"\n }\n```"
}
]
},
{
"id": "ec9ba57d",
"date": "Mon, 07 Sep 2026 14:12:17 GMT",
"timestamp": 1788041852,
"description": "Initial discovery of Binance's wBETH: the token, its unwrap queue, the rate-limited oracle and the exchange-side minting wallet.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract UnwrapTokenV1ETH (eth:0x79973d557CD9dd87eb61E250cc2572c990e20196) [wbeth/UnwrapTokenV1ETH]\n +++ description: Redemption queue for wBETH. The token contract records a claim here when a holder burns wBETH; the claim becomes payable once ETH has been allocated to it (automatically on request if the queue already holds enough, otherwise by the operator) and the lock time of 10d has passed. Only ETH sent by the token operator or the rechargeAddress counts toward allocation; the contract has no way to pull ETH from validators. 134 claims have been recorded so far. The operator can also send any surplus ETH back to the ethBackAddress.\n```\n\n```diff\n+ Status: CREATED\n contract ExchangeRateUpdater (eth:0x81720695e43A39C52557Ce6386feB3FAAC215f06) [wbeth/ExchangeRateUpdater]\n +++ description: Rate-limited relay that is the token's registered oracle. Whitelisted callers write the wBETH exchange rate through it, and each caller has an allowance that caps the cumulative absolute change it may push; the allowance refills linearly over the caller's interval. This is the only bound on the exchange rate anywhere in the system, and it can be bypassed by the token owner repointing the oracle.\n```\n\n```diff\n+ Status: CREATED\n contract wBETH (eth:0xa2E3356610840701BDf5611a53974510Ae27E2e1) [wbeth/WrapTokenV3ETH]\n +++ description: Liquid staking token (wBETH) built on Circle's FiatToken code with a staking layer on top. Anyone can mint by sending ETH to deposit(), receiving ETH ÷ exchangeRate tokens; the ETH stays in this contract until the operator moves it to the ethReceiver. Redemption is requestWithdrawEth(): the tokens are burned at the current rate and an ETH claim is recorded in the unwrap contract. Neither path is open while the token is paused or the caller is blacklisted. The exchange rate is a single storage value written by the oracle address, bounded only to be at least 1e18. Configured minters can additionally mint tokens with no ETH backing, up to their allowance; 3175308537299494959722021 is the live supply.\n```\n\n```diff\n+ Status: CREATED\n contract OperatorWallet (eth:0xb05a6449f383a1A43A172970858B97394FEcDAD6) [wbeth/OperatorWallet]\n +++ description: Binance's minting wallet. It is the only configured wBETH minter and its allowance is unlimited. Its operator or owner can mint wBETH to itself or to a registered hot wallet with no ETH deposited on-chain; this is how wBETH is issued to users who wrap BETH on the exchange, and it accounts for nearly all of the supply. The owner can also add hot wallets, pause the wallet, and execute arbitrary calls from it, which lets it mint to any address.\n```"
}
]
}
]