69e1ffc0 (main)
and
2d7c3ebf (PR)
+1 -1
+1 -1
{
"baseTimestamp": 1776765734,
"baseTimestamp": 1777295886,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+10 -10
+2 -2
[
{
"address": "0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"sinceTimestamp": 1737090335,
"tokens": [
"USDC",
"ETH",
"LIT",
"LINK",
"AAVE",
"UNI",
"SKY",
"LDO",
"AZTEC"
],
"contract": {
"isVerified": true,
"address": "eth:0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"upgradeability": {
"proxyType": "zkLighter proxy",
"admins": [
"eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67"
],
"implementations": [
"eth:0xE315CbEDc21c5beC186bF478D899e91A604a6bC8",
"eth:0x84E480C589e715D0CE7de004b1EEA69f8D714936"
"eth:0x13d4Ed7Db9d2cF73C7A45bfA6e23aa9742e8598C",
"eth:0x22F05515497ce8D78f3898088C474403Ac9C668f"
]
},
"chain": "ethereum",
"url": "https://etherscan.io/address/0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
]
+1 -1
{
"dataAvailability": [
{
"name": "Data published onchain, but state reconstruction is blocked",
"description": "Account delta data is published onchain in the form of blobs. However, a prover migration (gnark/MIMC → plonky2/Poseidon2) occurred at block 23,711,820 without publishing a state snapshot. The old gnark circuit was never open-sourced, so ~60k pre-migration blobs cannot be decoded. Without this snapshot, users cannot reconstruct the latest accounts state required for forced exits.",
"risks": [],
"references": [
{
"title": "Lighter Prover v0.0.1 (first public release, Dec 2025)",
"url": "https://github.com/elliottech/lighter-prover"
},
{
"title": "StateRootUpdate event — gnark to plonky2 migration",
"url": "https://etherscan.io/tx/0x6a50b2b00444914e5c53df2fb48404078a098f93fc3911e6fcbde1c7b6418225"
}
]
}
],
"exitMechanisms": [
{
"name": "Regular exit",
"description": "The user initiates the withdrawal by submitting a regular transaction on this chain. When the block containing that transaction is settled the funds become available for withdrawal on L1. ZK proofs are required to settle blocks. Finally the user submits an L1 transaction to claim the funds.",
"risks": [],
"references": []
},
{
"name": "Escape hatch through ZK proofs",
"description": "If the centralized operators fail to process forced transactions after the deadline, the system can be frozen (desert mode) and users are expected to exit by reconstructing the latest settled state and providing a ZK proof of balance. In practice, this is not currently possible: the desert mode circuit source code is not public, and pre-migration blob data cannot be decoded (see data availability note). Users must rely on operator cooperation to exit.",
"risks": [],
"references": []
}
],
"forceTransactions": {
"name": "Users can force their transactions on L1",
"description": "If the centralized operators fail to include user transactions, users can force them themselves through L1. The possible transaction types that users can force are: deposits, withdrawals, order creation, order cancellation, and burning of pool shares. If the operators do not process forced transactions within 14d, the system can be frozen (desert mode) and users can exit using the latest settled state. All open positions are settled using the latest index price.",
"risks": [],
"references": []
},
"operator": {
"name": "Centralized operators",
"description": "Only the centralized operators can submit batches and verify them with a ZK proof, i.e. advance the state of the protocol.",
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
],
"references": []
},
"otherConsiderations": [
{
"name": "External oracles used for index prices",
"description": "Lighter uses a combination of oracles to determine index prices, with Stork as the primary source. External signatures are currently not verified and the sequencer must be trusted to truthfully report data.",
"risks": [
{
"category": "Funds can be lost if",
"text": "the oracle prices are manipulated."
}
],
"references": [
{
"title": "Lighter docs - Fair Price Marking",
"url": "https://docs.lighter.xyz/perpetual-futures/fair-price-marking"
}
]
}
],
"stateValidation": {
"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 transactions to the previous state. This includes user transactions originating from L1 and L2, as well as internal transactions created by L2 operators. In the desert mode, valid proofs of exit must be generated. These proofs are then verified on Ethereum by a smart contract.",
"categories": [
{
"title": "Prover Architecture",
"description": "[This repo](https://github.com/elliottech/lighter-prover/tree/main) contains the circuits and prover code for normal (i.e. non-desert) operation mode of Lighter. It includes the logic to generate and verify proofs of valid state transition according to the Lighter [matching engine](https://github.com/elliottech/lighter-prover/blob/d0ff2304aea516b22f3a5223881006b6a9af1cc9/circuit/src/matching_engine.rs)."
},
{
"title": "ZK Circuits",
"description": "Lighter transition is proven with custom Plonky2 circuits, compiled into ZK Lighter Verifier and Desert Verifier. ZK Lighter verifier implements the perp DEX and spot trading logic and could be found in this [prover repo](https://github.com/elliottech/lighter-prover/tree/main/circuit/src). Desert verifier consists of circuits proving valid L2 -> L1 withdrawals in the desert mode. More details in [ZK Catalog](https://l2beat.com/zk-catalog/lighterprover#proof-system)."
},
{
"title": "Verification Keys Generation",
"description": "Lighter wraps its validity proof into a Plonk-based proof system which requires a trusted setup. The verification keys are hardcoded in the verifier contract on-chain. Lighter prover repo contains a [script](https://github.com/elliottech/lighter-prover/blob/main/build_circuits.sh) that regenerates circuits and verification keys.",
"references": [
{
"title": "ZK Lighter verifier verification keys",
"url": "https://etherscan.io/address/0x7B2cAc7b45E87d0392ACCf7c88764b7d2288938f#code#F1#L54"
"url": "https://etherscan.io/address/0xD76E5C5507C56D721BB9cE6601DCd379d09AFaD2#code#F1#L54"
},
{
"title": "Desert verifier verification keys",
"url": "https://etherscan.io/address/0xd4460475F00307845082d3a146f36661354FBc67#code#F1#L39"
}
]
}
]
},
"upgradesAndGovernance": "Regular upgrades are initiated by the \"network governor\" and executed with a 21d delay. The \"security council\" is allowed to reduce the upgrade delay to zero in case of an emergency. The security council does not currently satisfy the Stage 1 requirements. The network governor also retains the ability to add or remove validators.",
"warning": "Apr 9 2026: the desert mode circuit source code is not publicly available, and L2BEAT research found that full state reconstruction from L1 data alone is not currently feasible. A prover migration (gnark → plonky2) occurred at block 23,711,820 without publishing a state snapshot, leaving pre-migration accounts unreconstructable. Users cannot exit without operator cooperation."
}
+6 -6
{
"addresses": {
"ethereum": [
{
"name": "Lighter",
"isVerified": true,
"address": "eth:0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"upgradeability": {
"proxyType": "zkLighter proxy",
"admins": [
"eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67"
],
"implementations": [
"eth:0xE315CbEDc21c5beC186bF478D899e91A604a6bC8",
"eth:0x84E480C589e715D0CE7de004b1EEA69f8D714936"
"eth:0x13d4Ed7Db9d2cF73C7A45bfA6e23aa9742e8598C",
"eth:0x22F05515497ce8D78f3898088C474403Ac9C668f"
]
},
"chain": "ethereum",
"description": "The main rollup contract. It processes L2 batches, manages token deposits and withdrawals, allows users to submit censorship-resistant L2 transactions and controls desert mode (escape hatch). Logic is split between two contracts because of code-size limits, many operations are delegated to AdditionalZKLighter.\n* Roles:\n * **admin**: UpgradeGatekeeper; ultimately Lighter Multisig 2",
"upgradableBy": [
{
"name": "Lighter Multisig 2",
"delay": "21d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7#code"
},
{
"name": "UpgradeGatekeeper",
"isVerified": true,
"address": "eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Governance contract functioning like an upgrade timelock for downstream contracts. The current delay is 21d and can be entirely skipped by Lighter Multisig.\n* Roles:\n * **getMaster**: Lighter Multisig 2\n * **securityCouncilAddress**: Lighter Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67#code"
},
{
"name": "Governance",
"isVerified": true,
"address": "eth:0xa464DA0B43f80EE3FfC4795cbbFC78472b5c81A1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67"
],
"implementations": [
"eth:0x46D3C0c01D5DAae4FE8e3f54f32901d9Fbde1f08"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Manages the list of validators and the network governor.\n* Roles:\n * **admin**: UpgradeGatekeeper; ultimately Lighter Multisig 2\n * **networkGovernor**: Lighter Multisig 2\n * **validators**: EOA 1, EOA 2, EOA 3",
"upgradableBy": [
{
"name": "Lighter Multisig 2",
"delay": "21d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa464DA0B43f80EE3FfC4795cbbFC78472b5c81A1#code"
},
{
"name": "ZkLighterVerifier",
"isVerified": true,
"address": "eth:0xac3Ce44B6ff4E402858C99D5699ff63131572BaA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67"
],
"implementations": [
"eth:0x7B2cAc7b45E87d0392ACCf7c88764b7d2288938f"
"eth:0xD76E5C5507C56D721BB9cE6601DCd379d09AFaD2"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main ZK verifier of Lighter, settles the proofs of correct L2 state transition in the case of normal rollup operation.\n* Roles:\n * **admin**: UpgradeGatekeeper; ultimately Lighter Multisig 2",
"upgradableBy": [
{
"name": "Lighter Multisig 2",
"delay": "21d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xac3Ce44B6ff4E402858C99D5699ff63131572BaA#code"
},
{
"name": "DesertVerifier",
"isVerified": true,
"address": "eth:0xd4460475F00307845082d3a146f36661354FBc67",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "ZK verifier used to verify forced exits during desert mode.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd4460475F00307845082d3a146f36661354FBc67#code"
}
]
},
"escrows": [
{
"address": "0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"sinceTimestamp": 1737090335,
"tokens": [
"USDC",
"ETH",
"LIT",
"LINK",
"AAVE",
"UNI",
"SKY",
"LDO",
"AZTEC"
],
"contract": {
"isVerified": true,
"address": "eth:0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"upgradeability": {
"proxyType": "zkLighter proxy",
"admins": [
"eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67"
],
"implementations": [
"eth:0xE315CbEDc21c5beC186bF478D899e91A604a6bC8",
"eth:0x84E480C589e715D0CE7de004b1EEA69f8D714936"
"eth:0x13d4Ed7Db9d2cF73C7A45bfA6e23aa9742e8598C",
"eth:0x22F05515497ce8D78f3898088C474403Ac9C668f"
]
},
"chain": "ethereum",
"url": "https://etherscan.io/address/0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"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:0x7B2cAc7b45E87d0392ACCf7c88764b7d2288938f",
"eth:0xD76E5C5507C56D721BB9cE6601DCd379d09AFaD2",
"eth:0xd4460475F00307845082d3a146f36661354FBc67"
]
}
+1 -1
{
"baseTimestamp": 1776697693,
"baseTimestamp": 1777298658,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+2 -20
+2 -20
{
"creator": "Lighter",
"projectsForTvs": [
{
"projectId": "lighter",
"sinceTimestamp": 1759356000
}
],
"proofSystemInfo": "\n## Description\n\nLighter prover is a zk proving system for Lighter L2 based on [Plonky2](https://github.com/0xPolygonZero/plonky2/tree/main) circuits. It verifies the logic for regular state transition of Lighter L2, as well as state transitions in the “desert mode” when L2 is shut down and users exit, using different sets of circuits. The circuits are proven with a STARK which is wrapped into a Plonk SNARK before settling onchain.\n\n## Proof system\n\n[Plonky2](https://github.com/0xPolygonZero/plonky2) implements a circuit aritmetization based on TurboPlonk over Goldilocks field, but it replaces KZG polynomial commitment scheme with a FRI-based polynomial testing scheme. In this way proving Plonky2 circuits requires no trusted setup, i.e. it is a STARK. \n\nHowever Lighter wraps these STARK in a [gnark](https://github.com/Consensys/gnark) implementation of Plonk over BN254 curve, which requires a trusted setup.\n\n### Circuits\n\nThe proof system operates on Lighter STF circuits and desert mode circuits. All published circuits are available [here](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit), note that the Lighter team has not published the desert circuits yet. \n\nLighter proof system defines circuits for proving all transactions, including internal, L1 and L2 transactions. The full list of available transactions that define Lighter STF can be seen [here](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/transactions). \n\nTransaction circuits use custom implementations for arithmetic operations ([bigint](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/bigint), [uint](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/uint)), cryptographic primitives ([ecdsa](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/ecdsa) on the Secp256k1 curve, [eddsa](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/eddsa) on the ECgFp5 curve, [keccak](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/keccak), [poseidon_bn128](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/poseidon_bn128)) and other helper circuits.\n\n### Recursion\n\nLighter prover implements recursive aggregation of transaction proofs to make the whole pipeline more efficient and parallelizable. First, fixed-size blocks of consecutive transactions are processed and proven by [BlockTx circuit](https://github.com/elliottech/lighter-prover/blob/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/block_tx_constraints.rs), which can be done on separate machines. Next, arbitrary number of BlockTx proofs are aggregated into a single proof by [BlockTxChain circuit](https://github.com/elliottech/lighter-prover/blob/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/block_tx_chain_constraints.rs), which includes continuity checks across all BlockTx proofs.\n",
"techStack": {
"snark": [
{
"id": "Plonky2",
"type": "Plonk",
"name": "Plonky2",
"description": "Toolkit for developing transparent SNARKs based on PLONK and FRI developed by Polygon Zero team."
},
{
"id": "Goldilocks",
"type": "Field",
"name": "Goldilocks",
"description": "Prime field of order p = 2**64 - 2**32 + 1."
},
{
"id": "CustomCircuits",
"type": "Other",
"name": "App-specific circuits",
"description": "This project uses custom app-specific ZK circuits."
}
],
"finalWrap": [
{
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
}
],
"verifierHashes": [
{
"hash": "0x8c32fc851a0b9ccebc5587c3a270627770f41bf568f08aca50bdee6b19427875",
"hash": "0x321c1f2ac9b466d8c7671ec325b260501541aa373a90d52e1c227452dbaf649b",
"name": "Lighter verifier",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "eth:0x7B2cAc7b45E87d0392ACCf7c88764b7d2288938f"
"address": "eth:0xD76E5C5507C56D721BB9cE6601DCd379d09AFaD2"
}
],
"verificationStatus": "notVerified",
"verificationSteps": "The sources for the verifier circuits are not published and thus the verifier cannot be independently regenerated.",
"description": "Custom verifier ID: SHA256 hash of all VK_... values from the smart contract, abi packed in the same order they are defined."
},
{
"hash": "0x5748f2cfc9d31f5d13f096ee5f5d96988fa5dbc8cbd3895612aead78e2664417",
"name": "Lighter verifier",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "eth:0xC8A6CCec3f41dF6a80905030251c39A6b434f0b4"
}
],
"verificationStatus": "notVerified",
"verificationSteps": "The sources for the verifier circuits are not published and thus the verifier cannot be independently regenerated.",
"description": "Custom verifier ID: SHA256 hash of all VK_... values from the smart contract, abi packed in the same order they are defined."
},
{
"hash": "0xc3d58029fabf2a93d6cb9b96315c484e4bea2e238aaa081460c9027863c650e7",
"name": "Lighter Desert verifier",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "eth:0xd4460475F00307845082d3a146f36661354FBc67"
}
],
"verificationStatus": "unsuccessful",
"verificationSteps": "The sources for desert verifier circuits are not published and thus the verifier cannot be independently regenerated.",
"description": "Custom verifier ID: SHA256 hash of all VK_... values from the smart contract, abi packed in the same order they are defined."
}
]
}
+26 -78
+25 -77
{
"ethereum": {
"roles": [
{
"id": "Validator",
"name": "Validator",
"description": "Permissioned to call the functions to commit, prove, execute and revert L2 batches through the ValidatorTimelock in the main Diamond contract.",
"accounts": [
{
"address": "eth:0xE222D6354b49eaF8a7099fC4E7F9C0B4FE72d1E7",
"address": "eth:0xdC26B08F0335b68721F64001C38b05D0BC9B539d",
"type": "Contract",
"isVerified": true,
"name": "ExecutionMultisigValidator",
"url": "#ExecutionMultisigValidator"
"name": "EraMultisigValidator",
"url": "#EraMultisigValidator"
},
{
"address": "eth:0x882A6C2ecbAbfFc40686D599a9375ad3b35427Fd",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1-and-EOA-2"
},
{
"address": "eth:0xc75cDcBEef3aE3365ABF0217815748586F9047F1",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-1-and-EOA-2"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "EmergencyUpgradeBoard",
"name": "EmergencyUpgradeBoard",
"accounts": [
{
"address": "eth:0xECE8e30bFc92c2A8e11e6cb2e17B70868572E3f6",
"type": "Contract",
"isVerified": true,
"name": "0xECE8…E3f6",
"url": "https://etherscan.io/address/0xECE8e30bFc92c2A8e11e6cb2e17B70868572E3f6"
}
],
"chain": "ethereum",
"description": "A custom contract allowing a 3/3 of SecurityCouncil, ZK Foundation Multisig and Guardians to `executeEmergencyUpgrade()` via the ProtocolUpgradeHandler.\n* Can upgrade **with no delay**\n * BridgeHub [via: ProtocolUpgradeHandler → ProxyAdmin]\n * MessageRoot [via: ProtocolUpgradeHandler → ProxyAdmin]\n * CTMDeploymentTracker [via: ProtocolUpgradeHandler → ProxyAdmin]\n * L1AssetRouter [via: ProtocolUpgradeHandler → ProxyAdmin]\n * L1NativeTokenVault [via: ProtocolUpgradeHandler → ProxyAdmin]\n * ChainTypeManager [via: ProtocolUpgradeHandler → ProxyAdmin]\n * L1Nullifier [via: ProtocolUpgradeHandler → ProxyAdmin]\n * ChainAssetHandler [via: ProtocolUpgradeHandler → ProxyAdmin]\n * ProtocolUpgradeHandler [via: ProtocolUpgradeHandler → ProxyAdmin]\n* Can interact with BridgeHub\n * set critical contract addresses for the shared cluster, register settlement layers, pause and unpause migrations and the bridge and manage zk chain registration [via: ProtocolUpgradeHandler]\n* Can interact with L1NativeTokenVault\n * pause / unpause the bridge [via: ProtocolUpgradeHandler]\n* Can interact with ChainTypeManager\n * manage the shared ValidatorTimelock contract address and the admin role, register and execute upgrades (and set their deadlines), freeze, revert batches and set permissioned validators and fee params for all connected chains [via: ProtocolUpgradeHandler]\n* Can interact with L1Nullifier\n * pause, unpause and set critical escrow address references [via: ProtocolUpgradeHandler]\n* Can interact with ChainAssetHandler\n * pause, resume chain migrations [via: ProtocolUpgradeHandler]\n* Can interact with RollupDAManager\n * manage allowed rollup DA pairs (allowed to be used by rollups in permanent rollup mode) [via: ProtocolUpgradeHandler]",
"discoveryDrivenData": true
},
{
"id": "Matter Labs Multisig",
"name": "Matter Labs Multisig",
"description": "A Multisig with 5/8 threshold. \n* Can upgrade **with no delay**\n * ServerNotifier [via: EraChainAdminProxy → ProxyAdmin]\n* Can interact with BridgeHub\n * create new zk chains (based on the current version), register tokens (ZK cluster Admin role) [via: EraChainAdminProxy]\n* Can interact with ChainTypeManager\n * revert batches for any connected chain (ZK cluster Admin role) [via: EraChainAdminProxy]",
"accounts": [
{
"address": "eth:0x4e4943346848c4867F81dFb37c4cA9C5715A7828",
"type": "Contract",
"isVerified": true,
"name": "0x4e49…7828",
"url": "https://etherscan.io/address/0x4e4943346848c4867F81dFb37c4cA9C5715A7828"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x4A333c167Ce76C46149c6B0197977ae02aaeC929",
"type": "EOA",
"isVerified": true,
"name": "0x4A33…C929",
"url": "https://etherscan.io/address/0x4A333c167Ce76C46149c6B0197977ae02aaeC929"
},
{
"address": "eth:0x3F0009D00cc78979d00Eb635490F23E8d6aCc481",
"type": "EOA",
"isVerified": true,
"name": "0x3F00…c481",
"url": "https://etherscan.io/address/0x3F0009D00cc78979d00Eb635490F23E8d6aCc481"
},
{
"address": "eth:0x5C7E59Dba6557C7dAB3B69ccd3E309d1965Cf1B1",
"type": "EOA",
"isVerified": true,
"name": "0x5C7E…f1B1",
"url": "https://etherscan.io/address/0x5C7E59Dba6557C7dAB3B69ccd3E309d1965Cf1B1"
},
{
"address": "eth:0x3068415e0F857A5eEd03302A1F7E44f67468d2Bc",
"type": "EOA",
"isVerified": true,
"name": "0x3068…d2Bc",
"url": "https://etherscan.io/address/0x3068415e0F857A5eEd03302A1F7E44f67468d2Bc"
},
{
"address": "eth:0x702caCafA54B88e9c54449563Fb2e496e85c78b7",
"type": "EOA",
"isVerified": true,
"name": "0x702c…78b7",
"url": "https://etherscan.io/address/0x702caCafA54B88e9c54449563Fb2e496e85c78b7"
},
{
"address": "eth:0xFAdb20191Ab38362C50f52909817B74214CA79AE",
"type": "EOA",
"isVerified": true,
"name": "0xFAdb…79AE",
"url": "https://etherscan.io/address/0xFAdb20191Ab38362C50f52909817B74214CA79AE"
},
{
"address": "eth:0xAf0B2B58289857e9A6Cf91Fd30410dDcad9D9B28",
"type": "EOA",
"isVerified": true,
"name": "0xAf0B…9B28",
"url": "https://etherscan.io/address/0xAf0B2B58289857e9A6Cf91Fd30410dDcad9D9B28"
},
{
"address": "eth:0x7408A268e5E6e8F08917c5b71015F4B9044970C7",
"type": "EOA",
"isVerified": true,
"name": "0x7408…70C7",
"url": "https://etherscan.io/address/0x7408A268e5E6e8F08917c5b71015F4B9044970C7"
}
],
"discoveryDrivenData": true
},
{
"id": "Guardians",
"name": "Guardians",
"description": "A Multisig with 5/8 threshold. \nCustom Multisig implementation that has a general threshold of 5 and a specific threshold for extending the legal voting period of 2.\n* Can interact with ProtocolUpgradeHandler\n * extend the legal veto period, approve a protocol upgrade \n* Can interact with EmergencyUpgradeBoard\n * one of its 3/3 signers ",
"accounts": [
{
"address": "eth:0x600dA620Ab29F41ABC6596a15981e14cE58c86b8",
"type": "Contract",
"isVerified": true,
"name": "0x600d…86b8",
"url": "https://etherscan.io/address/0x600dA620Ab29F41ABC6596a15981e14cE58c86b8"
}
],
"chain": "ethereum",
"references": [
{
"title": "Guardians - ZK Nation docs",
"url": "https://docs.zknation.io/zksync-governance/schedule-4-zksync-guardians"
}
],
"participants": [
{
"address": "eth:0x015318c16AE443a20DE0A776dB06a59F0D279057",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x015318c16AE443a20DE0A776dB06a59F0D279057"
},
{
"address": "eth:0x178D8Eb1A1fb81B5102808A83318Bb04C6a9fC6D",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x178D8Eb1A1fb81B5102808A83318Bb04C6a9fC6D"
},
{
"address": "eth:0x2A90830083C5Ca1f18d7AA7fCDC2998f93475384",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x2A90830083C5Ca1f18d7AA7fCDC2998f93475384"
},
{
"address": "eth:0x538612F6eba6ff80FBD95D60dCDee16b8FfF2c0f",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x538612F6eba6ff80FBD95D60dCDee16b8FfF2c0f"
},
{
"address": "eth:0x55c671BcE13120387Ded710A1d1b80C0e3d8E857",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x55c671BcE13120387Ded710A1d1b80C0e3d8E857"
},
{
"address": "eth:0x590926dBCDfD19627c3BbD2A6Eb96DeC7a3AbF69",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x590926dBCDfD19627c3BbD2A6Eb96DeC7a3AbF69"
},
{
"address": "eth:0x6D26874130A174839b9cd8CB87Ed4E09D0c1a5f0",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x6D26874130A174839b9cd8CB87Ed4E09D0c1a5f0"
},
{
"address": "eth:0xCe7a3dFcc35602155809920Ff65e093aa726f6cf",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xCe7a3dFcc35602155809920Ff65e093aa726f6cf"
}
],
"discoveryDrivenData": true
},
{
"id": "SecurityCouncil",
"name": "SecurityCouncil",
"description": "A Multisig with 9/12 threshold. \nCustom Multisig implementation that has a general threshold of 9 but also specific thresholds for upgrade approvals (6) or soft freezes (3).\n* Can interact with ProtocolUpgradeHandler\n * soft freeze, hard freeze, approve a protocol upgrade \n* Can interact with EmergencyUpgradeBoard\n * one of its 3/3 signers ",
"accounts": [
{
"address": "eth:0x66E4431266DC7E04E7d8b7FE9d2181253df7F410",
"type": "Contract",
"isVerified": true,
"name": "0x66E4…F410",
"url": "https://etherscan.io/address/0x66E4431266DC7E04E7d8b7FE9d2181253df7F410"
}
],
"chain": "ethereum",
"references": [
{
"title": "Security Council members - ZK Nation docs",
"url": "https://docs.zknation.io/zksync-governance/schedule-3-zksync-security-council"
}
],
"participants": [
{
"address": "eth:0x13f07d9BF17615f6a17F272fe1A913168C275A66",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x13f07d9BF17615f6a17F272fe1A913168C275A66"
},
{
"address": "eth:0x34Ea62D4b9bBB8AD927eFB6ab31E3Ab3474aC93a",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x34Ea62D4b9bBB8AD927eFB6ab31E3Ab3474aC93a"
},
{
"address": "eth:0x35eA56fd9eAd2567F339Eb9564B6940b9DD5653F",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x35eA56fd9eAd2567F339Eb9564B6940b9DD5653F"
},
{
"address": "eth:0x3888777686F0b0d8c3108fc22ad8DE9E049bE26F",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x3888777686F0b0d8c3108fc22ad8DE9E049bE26F"
},
{
"address": "eth:0x69462a81ba94D64c404575f1899a464F123497A2",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x69462a81ba94D64c404575f1899a464F123497A2"
},
{
"address": "eth:0x725065b4eB99294BaaE57AdDA9c32e42F453FA8A",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x725065b4eB99294BaaE57AdDA9c32e42F453FA8A"
},
{
"address": "eth:0x84BF0Ac41Eeb74373Ddddae8b7055Bf2bD3CE6E0",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x84BF0Ac41Eeb74373Ddddae8b7055Bf2bD3CE6E0"
},
{
"address": "eth:0x9B39Ea22e838B316Ea7D74e7C4B07d91D51ccA88",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x9B39Ea22e838B316Ea7D74e7C4B07d91D51ccA88"
},
{
"address": "eth:0x9B8Be3278B7F0168D82059eb6BAc5991DcdfA803",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x9B8Be3278B7F0168D82059eb6BAc5991DcdfA803"
},
{
"address": "eth:0xB7aC3A79A23B148c85fba259712c5A1e7ad0ca44",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xB7aC3A79A23B148c85fba259712c5A1e7ad0ca44"
},
{
"address": "eth:0xc3Abc9f9AA75Be8341E831482cdA0125a7B1A23e",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xc3Abc9f9AA75Be8341E831482cdA0125a7B1A23e"
},
{
"address": "eth:0xFB90Da9DC45378A1B50775Beb03aD10C7E8DC231",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xFB90Da9DC45378A1B50775Beb03aD10C7E8DC231"
}
],
"discoveryDrivenData": true
},
{
"id": "ValidatorTimelock",
"name": "ValidatorTimelock",
"accounts": [
{
"address": "eth:0x2e5110cF18678Ec99818bFAa849B8C881744b776",
"type": "Contract",
"isVerified": true,
"name": "0x2e51…b776",
"url": "https://etherscan.io/address/0x2e5110cF18678Ec99818bFAa849B8C881744b776"
}
],
"chain": "ethereum",
"description": "Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 3h.\n* Can interact with Diamond\n * commit, prove, execute, revert batches directly in the main Diamond contract. This role is typically held by a proxying ValidatorTimelock ",
"discoveryDrivenData": true
},
{
"id": "ExecutionMultisigValidator",
"name": "ExecutionMultisigValidator",
"id": "ProxyAdmin",
"name": "ProxyAdmin",
"accounts": [
{
"address": "eth:0xE222D6354b49eaF8a7099fC4E7F9C0B4FE72d1E7",
"address": "eth:0x0D8d1be440f997bDB9CA44C0140fD12551f99BBB",
"type": "Contract",
"isVerified": true,
"name": "0xE222…d1E7",
"url": "https://etherscan.io/address/0xE222D6354b49eaF8a7099fC4E7F9C0B4FE72d1E7"
"name": "0x0D8d…9BBB",
"url": "https://etherscan.io/address/0x0D8d1be440f997bDB9CA44C0140fD12551f99BBB"
}
],
"chain": "ethereum",
"description": "Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 3h. NOTE: This is a modified version of validatorTimelock, where a sufficient number of execution multisig members must approve a batch before execution. Multisig members are kept in a mapping and updates emit no events, so the only way to track them is to manually analyze all trxs from the owner.\n* A Validator - acting directly",
"description": "* Can upgrade **with no delay**\n * EraMultisigValidator ",
"discoveryDrivenData": true
},
{
"id": "EraMultisigValidator",
"name": "EraMultisigValidator",
"accounts": [
{
"address": "eth:0xdC26B08F0335b68721F64001C38b05D0BC9B539d",
"type": "Contract",
"isVerified": true,
"name": "0xdC26…539d",
"url": "https://etherscan.io/address/0xdC26B08F0335b68721F64001C38b05D0BC9B539d"
}
],
"chain": "ethereum",
"description": "Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 3h. NOTE: This is a modified version of validatorTimelock, where a sufficient number of execution multisig members must approve a batch before execution. Multisig members are kept in a mapping.\n* A Validator - acting directly",
"discoveryDrivenData": true
},
{
"id": "ZK Foundation Multisig",
"name": "ZK Foundation Multisig",
"description": "A Multisig with 3/5 threshold. \n* Can interact with EmergencyUpgradeBoard\n * one of its 3/3 signers ",
"accounts": [
{
"address": "eth:0xbC1653bd3829dfEc575AfC3816D4899cd103B51c",
"type": "Contract",
"isVerified": true,
"name": "0xbC16…B51c",
"url": "https://etherscan.io/address/0xbC1653bd3829dfEc575AfC3816D4899cd103B51c"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xA10fcD4B012467FAC48ce63838B7bE56AB16bE52",
"type": "EOA",
"isVerified": true,
"name": "0xA10f…bE52",
"url": "https://etherscan.io/address/0xA10fcD4B012467FAC48ce63838B7bE56AB16bE52"
},
{
"address": "eth:0x56B3120c32AE9C3188fafc5Cc542F9c53B0b2222",
"type": "EOA",
"isVerified": true,
"name": "0x56B3…2222",
"url": "https://etherscan.io/address/0x56B3120c32AE9C3188fafc5Cc542F9c53B0b2222"
},
{
"address": "eth:0x441e5c8910Ef39996B2D01499509861228cbc2d1",
"type": "EOA",
"isVerified": true,
"name": "0x441e…c2d1",
"url": "https://etherscan.io/address/0x441e5c8910Ef39996B2D01499509861228cbc2d1"
},
{
"address": "eth:0x0B2E7ffbcD1E3e6f5034555Fb638889FE7564709",
"type": "EOA",
"isVerified": true,
"name": "0x0B2E…4709",
"url": "https://etherscan.io/address/0x0B2E7ffbcD1E3e6f5034555Fb638889FE7564709"
},
{
"address": "eth:0x610e45F112e0c8a9aA7137677C83E7A198A1b991",
"type": "EOA",
"isVerified": true,
"name": "0x610e…b991",
"url": "https://etherscan.io/address/0x610e45F112e0c8a9aA7137677C83E7A198A1b991"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 2/7 threshold. ",
"accounts": [
{
"address": "eth:0xd972d03C8A45eF3c7937a279d998E4AeCCc2b63D",
"type": "Contract",
"isVerified": true,
"name": "0xd972…b63D",
"url": "https://etherscan.io/address/0xd972d03C8A45eF3c7937a279d998E4AeCCc2b63D"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x4A333c167Ce76C46149c6B0197977ae02aaeC929",
"type": "EOA",
"isVerified": true,
"name": "0x4A33…C929",
"url": "https://etherscan.io/address/0x4A333c167Ce76C46149c6B0197977ae02aaeC929"
},
{
"address": "eth:0x3F0009D00cc78979d00Eb635490F23E8d6aCc481",
"type": "EOA",
"isVerified": true,
"name": "0x3F00…c481",
"url": "https://etherscan.io/address/0x3F0009D00cc78979d00Eb635490F23E8d6aCc481"
},
{
"address": "eth:0x5C7E59Dba6557C7dAB3B69ccd3E309d1965Cf1B1",
"type": "EOA",
"isVerified": true,
"name": "0x5C7E…f1B1",
"url": "https://etherscan.io/address/0x5C7E59Dba6557C7dAB3B69ccd3E309d1965Cf1B1"
},
{
"address": "eth:0x3068415e0F857A5eEd03302A1F7E44f67468d2Bc",
"type": "EOA",
"isVerified": true,
"name": "0x3068…d2Bc",
"url": "https://etherscan.io/address/0x3068415e0F857A5eEd03302A1F7E44f67468d2Bc"
},
{
"address": "eth:0xFAdb20191Ab38362C50f52909817B74214CA79AE",
"type": "EOA",
"isVerified": true,
"name": "0xFAdb…79AE",
"url": "https://etherscan.io/address/0xFAdb20191Ab38362C50f52909817B74214CA79AE"
},
{
"address": "eth:0x7408A268e5E6e8F08917c5b71015F4B9044970C7",
"type": "EOA",
"isVerified": true,
"name": "0x7408…70C7",
"url": "https://etherscan.io/address/0x7408A268e5E6e8F08917c5b71015F4B9044970C7"
},
{
"address": "eth:0xAf0B2B58289857e9A6Cf91Fd30410dDcad9D9B28",
"type": "EOA",
"isVerified": true,
"name": "0xAf0B…9B28",
"url": "https://etherscan.io/address/0xAf0B2B58289857e9A6Cf91Fd30410dDcad9D9B28"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 1 and EOA 2",
"accounts": [
{
"address": "eth:0x882A6C2ecbAbfFc40686D599a9375ad3b35427Fd",
"type": "EOA",
"isVerified": true,
"name": "0x882A…27Fd",
"url": "https://etherscan.io/address/0x882A6C2ecbAbfFc40686D599a9375ad3b35427Fd"
},
{
"address": "eth:0xc75cDcBEef3aE3365ABF0217815748586F9047F1",
"type": "EOA",
"isVerified": true,
"name": "0xc75c…47F1",
"url": "https://etherscan.io/address/0xc75cDcBEef3aE3365ABF0217815748586F9047F1"
}
],
"chain": "ethereum",
"description": "* A Validator - acting directly",
"discoveryDrivenData": true
},
{
"id": "ProtocolTimelockController(L2->L1)",
"name": "ProtocolTimelockController(L2->L1)",
"accounts": [
{
"address": "eth:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"type": "EOA",
"isVerified": true,
"name": "0x085b…c714",
"url": "https://etherscan.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714"
}
],
"chain": "ethereum",
"description": "* Can interact with ProtocolUpgradeHandler\n * start (queue) upgrades ",
"discoveryDrivenData": true
}
]
},
"zksync2": {
"roles": [],
"actors": [
{
"id": "ZkProtocolGovernor",
"name": "ZkProtocolGovernor",
"accounts": [
{
"address": "zksync:0x76705327e682F2d96943280D99464Ab61219e34f",
"type": "Contract",
"isVerified": true,
"name": "0x7670…e34f",
"url": "https://explorer.zksync.io/address/0x76705327e682F2d96943280D99464Ab61219e34f"
}
],
"chain": "zksync2",
"description": "Main Governance contract allowing for token voting (simple majority) with the ZK token through delegates. This contract is used for protocol upgrade proposals (ZIPs) that start on ZKsync Era, go through Ethereum Layer 1 and can - from there - target all L1 and L2 contracts. At least 21M ZK tokens are necessary to start a proposal and a 630M quorum of voted tokens must be met to succeed.\n* Can interact with ProtocolTimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles and change the minimum delay [via: ProtocolTimelockController]\n * propose transactions ",
"discoveryDrivenData": true
},
{
"id": "ZkTokenGovernor",
"name": "ZkTokenGovernor",
"accounts": [
{
"address": "zksync:0xb83FF6501214ddF40C91C9565d095400f3F45746",
"type": "Contract",
"isVerified": true,
"name": "0xb83F…5746",
"url": "https://explorer.zksync.io/address/0xb83FF6501214ddF40C91C9565d095400f3F45746"
}
],
"chain": "zksync2",
"description": "Governance contract allowing for token voting (simple majority) with the ZK token through delegates. This contract is used for Token Program Proposals (TPPs) usually targeting the ZK token on ZKsync Era. At least 21M ZK tokens are necessary to start a proposal (for delegates) and a 630M quorum of voted tokens must be met to succeed.\n* Can interact with ZkToken\n * grant the MINTER_ROLE to arbitrary addresses, thus controlling the minting of the ZK token **with 3d delay** [via: ZkTokenTimelockController with 3d delay]\n* Can interact with ZkTokenTimelockController\n * manage all access control roles and change the minimum delay **with 6d delay** [via: ZkTokenTimelockController with 3d delay with 3d delay]\n * cancel queued transactions \n * execute transactions that are ready \n * propose transactions ",
"discoveryDrivenData": true
},
{
"id": "ZkGovOpsGovernor",
"name": "ZkGovOpsGovernor",
"accounts": [
{
"address": "zksync:0xEEEa739a8b6fB1b8f703E23C9Be03CeeA643b160",
"type": "Contract",
"isVerified": true,
"name": "0xEEEa…b160",
"url": "https://explorer.zksync.io/address/0xEEEa739a8b6fB1b8f703E23C9Be03CeeA643b160"
}
],
"chain": "zksync2",
"description": "Governance contract allowing for token voting (simple majority) with the ZK token through delegates. This contract is used for Governance Advisory Proposals (GAPs) that are not executable onchain. At least 21M ZK tokens are necessary to start a proposal and a 630M quorum of voted tokens must be met to succeed.\n* Can interact with GovOpsTimelockController\n * manage all access control roles and change the minimum delay **with 6d delay** [via: GovOpsTimelockController with 3d delay with 3d delay]\n * cancel queued transactions \n * execute transactions that are ready \n * propose transactions ",
"discoveryDrivenData": true
},
{
"id": "Guardians_l2Alias",
"name": "Guardians_l2Alias",
"accounts": [
{
"address": "zksync:0x711ea620AB29f41AbC6596a15981e14ce58C97c9",
"type": "EOA",
"isVerified": true,
"name": "0x711e…97c9",
"url": "https://explorer.zksync.io/address/0x711ea620AB29f41AbC6596a15981e14ce58C97c9"
}
],
"chain": "zksync2",
"description": "* Can interact with ZkTokenGovernor\n * cancel proposals while they are pending (after having been proposed) or active (during the voting period) \n* Can interact with ZkGovOpsGovernor\n * cancel proposals while they are pending (after having been proposed) or active (during the voting period) ",
"discoveryDrivenData": true
},
{
"id": "ZKFoundationMultisig_l2Alias",
"name": "ZKFoundationMultisig_l2Alias",
"accounts": [
{
"address": "zksync:0xcd2753Bd3829dfeC575AFC3816d4899CD103C62D",
"type": "EOA",
"isVerified": true,
"name": "0xcd27…C62D",
"url": "https://explorer.zksync.io/address/0xcd2753Bd3829dfeC575AFC3816d4899CD103C62D"
}
],
"chain": "zksync2",
"description": "* Can interact with ZkTokenGovernor\n * make direct proposals without owning ZK tokens. In propose-guarded mode, this address is the ONLY allowed proposer. Propose-guarded mode is currently set to false ",
"discoveryDrivenData": true
},
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"accounts": [
{
"address": "zksync:0xF41EcA3047B37dc7d88849de4a4dc07937Ad6bc4",
"type": "EOA",
"isVerified": true,
"name": "0xF41E…6bc4",
"url": "https://explorer.zksync.io/address/0xF41EcA3047B37dc7d88849de4a4dc07937Ad6bc4"
}
],
"chain": "zksync2",
"description": "* Can upgrade **with no delay**\n * ZkToken [via: ZkTokenProxyAdmin]\n* Can interact with ZkToken\n * control all roles in the ZkToken access control, including the minter roles ",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1776765734,
"baseTimestamp": 1777296071,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}