Search

Search projects, tokens and protocols by name or address

Badges

About

Gravity (GRVT) is a hybrid crypto derivatives exchange, providing a centralized exchange-like experience while being based on the ZK stack Validium codebase with confidential data availability and transaction filtering enabled. Most of the exchange...


  • Total Value SecuredTVS
    No data
  • Past day UOPSDaily UOPS
    No data
  • Type
    Other

  • Purpose
    Exchange

  • Tokens breakdown

    Value secured breakdown

    View TVS breakdown
    Sequencer failureState validationData availabilityExit windowProposer failure

    Badges

    About

    Gravity (GRVT) is a hybrid crypto derivatives exchange, providing a centralized exchange-like experience while being based on the ZK stack Validium codebase with confidential data availability and transaction filtering enabled. Most of the exchange...

    Why is the project listed in others?

    There is no data availability bridge

    Consequence: projects without a data availability bridge fully rely on single entities (the sequencer) to honestly rely available data roots on Ethereum. A malicious sequencer can collude with the proposer to finalize an unavailable state, which can cause loss of funds.

    Learn more about the recategorisation here.

    The section shows the operating costs that L2s pay to Ethereum.



    Total cost
    Avg cost per L2 UOP
    Avg cost per day

    Compare with other projects

    This section shows how "live" the project's operators are by displaying how frequently they submit transactions of the selected type. It also highlights anomalies - significant deviations from their typical schedule.

    No ongoing anomalies detected

    Avg. proof subs. interval
    Avg. state updates interval
    Past 30 days anomalies
    97% normal uptime

    Last 30 day anomalies

    All liveness anomalies detected for this project in the last 30 days, helping you review recent downtime and availability issues.

    No State updates were performed for 1h 35m (from until ). These typically occur every 17m 51s on average.

    No State updates were performed for 1h 45m (from until ). These typically occur every 17m 51s on average.

    No Proof submissions were performed for 1h 47m (from until ). These typically occur every 7m 17s on average.

    No State updates were performed for 1h 44m (from until ). These typically occur every 17m 51s on average.

    No State updates were performed for 3h 1m (from until ). These typically occur every 17m 51s on average.

    Mainnet alpha launch

    20 Dec 2024

    GRVT mainnet alpha launches for all users.

    Learn more
    Sequencer failureState validationData availabilityExit windowProposer failure
    Sequencer failure
    No mechanism

    There is no mechanism to have transactions be included if the sequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs. is down or censoring. The OperatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades. actively uses a TransactionFilterer contract, which requires accounts that enqueue or force transactions from L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. to be whitelisted.

    State validation
    Validity proofs (ST, SN)

    STARKs and SNARKs are zero knowledge proofs that ensure state correctness. STARKs proofs are wrapped in SNARKs proofs for efficiency. SNARKs require a trusted setupGeneration of a piece of data that must then be used for some cryptographic protocol to run. Generating this data requires some secret information. The "trust" comes from the fact the secret must be destroyed after the ceremony, otherwise cryptographic properties of the protocol could be broken. Once the data is generated, and the secrets are forgotten, no further participation from the creators of the ceremony is required. There are two types of trusted setups for SNARKs: (i) trusted setup per circuit where it is generated from scratch for each circuit, (ii) trusted universal setup per proving system where it can be used for several circuits..

    Data availability
    External

    Proof construction and state derivation rely fully on data that is NOT published onchain.

    Exit window
    None (emergency upgrade path)
    4d 3h (regular upgrade path)

    Non-emergency upgrades go through a 4d 3h delay, but the central operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades. can still censor withdrawal transactions by implementing a TransactionFilterer with no delay.

    There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.

    Proposer failure
    Replace proposer

    Only the whitelisted proposers can publish state rootsA cryptographic hash succinctly representing a state using a Merkle tree. on L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development., so in the event of failure the withdrawals are frozen. There is a decentralized Governance system that can attempt changing Proposers with an upgrade.

    GRVT
    GRVT is not even a
    Stage 0
    project.

    Learn more about Stages
    Please keep in mind that these stages do not reflect project security, this is an opinionated assessment of project maturity based on subjective criteria, created with a goal of incentivizing projects to push toward better decentralization. Each team may have taken different paths to achieve this goal.

    Data is not stored on chain

    The transaction data is not recorded on the Ethereum main chain. Transaction data is stored off-chain and only the hashes are posted onchain by the centralized SequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs..

    • Funds can be lost if the external data becomes unavailable (CRITICAL).

    1. ExecutorFacet - _commitOneBatch() function

    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.


    Prover Architecture

    ZKsync Era proof systemThe infrastructure that allows projects to verify their state transitions. It is composed by onchain verifiers and offchain provers. The main two flavors are optimistic and ZK proof systems, but they can be combined in a hybrid model. In general though, if a system is able to accept state roots optimistically, even if it has a ZK component, it is considered an optimistic proof system. Boojum can be found here and contains essential tools like the ProverAn entity that generates the cryptographic proof to convince the verifier that the statement is true. In a ZK-Rollup, the prover generates the ZK (validity) proof to submit to the verifier contract., the VerifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover., and other backend components. The specs of the system can be found here.

    ZK Circuits

    ZKsync Era circuits are built from Boojum and are designed to replicate the behavior of the EVM. The source code can be found here. The circuits are checked against tests that can be found here.

    • Funds can be lost if the proof system is implemented incorrectly.

    Verification Keys Generation

    SNARKShort for "succinct non-interactive argument of knowledge", a SNARK is a widely used type of zero-knowledge proof that is short and fast to verify. Different kinds of SNARKs are usually systematized by proof size, verification time, and type of setup. The most famous SNARKs are Groth16, PLONK/Marlin, Bulletproofs, and STARKs. verification keys can be generated and checked against the Ethereum verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. contract using this tool. The system requires a trusted setupGeneration of a piece of data that must then be used for some cryptographic protocol to run. Generating this data requires some secret information. The "trust" comes from the fact the secret must be destroyed after the ceremony, otherwise cryptographic properties of the protocol could be broken. Once the data is generated, and the secrets are forgotten, no further participation from the creators of the ceremony is required. There are two types of trusted setups for SNARKs: (i) trusted setup per circuit where it is generated from scratch for each circuit, (ii) trusted universal setup per proving system where it can be used for several circuits..

    PROVER

    Trusted Setups

    Onchain verifier

    Used in

    ZKsync Era logoCronos zkEVM logoAbstract logoSophon logo

    Onchain verifier

    Used in

    ZKsync Era logoCronos zkEVM logoAbstract logoSophon logo

    Onchain verifier

    Used in

    ZKsync Era logoCronos zkEVM logoAbstract logoSophon logo

    Onchain verifier

    Used in

    ZKsync Era logoCronos zkEVM logoAbstract logoSophon logo

    Program Hashes

    Hash
    Repository
    Verification
    Used in
    0x0100...51e6
    ZKsync Era logoCronos zkEVM logoAbstract logoSophon logo
    A diagram of the upgrades and governance
    A diagram of the upgrades and governance

    There are two main paths for contract upgrades in the shared ZK stack ecosystem - standard and emergency - both converging on the shared upgrade management contract ProtocolUpgradeHandler. The standard path involves a governance proposal and voting through the DAO, multiple timelock delays and finally approval by the Guardians or 4 SecurityCouncil participants. The emergency path allows for contract upgrades without any delay by the EmergencyUpgradeBoard, which acts as a 3/3 Multisig between SecurityCouncil, Guardians and the FoundationMultisig.

    Standard path

    On ZKsync Era

    Delegates can start new proposals by reaching a threshold of 21M ZK tokens on the ZKsync Era RollupA blockchain that inherits consensus and data availability from another blockchain called L1. Rollups enable trust minimized bridges with the base layer via proof systems, either optimistic or zero-knowledge. A rollup without a bridge, or without considering the bridge, is called a sovereign rollup.’s ZkProtocolGovernor contract. This launches a 3d ‘voting delay’ after which the 7d voting period starts. During these first two periods, the proposal can be canceled by the proposerIn the context of L2s, the actor that proposes a claimed state root on L1. The term is also used in the context of Ethereum to refer to the actor that proposes a new block. or if it falls below the proposing threshold. A proposal is only successful if it reaches both quorum (630M ZK tokens) and simple majority. When it reaches quorum, a remaining voting period of 3d is guaranteed by a potential late quorum vote extension. In the successful case, it can be queued in the 0s timelock which forwards it via the Gateway to Ethereum as an L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups.->L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. log.

    On Ethereum

    After the execution of the proposal-containing batch (3h delay), the proposal is now picked up by the ProtocolUpgradeHandler and enters the 3d ‘legal veto period’. This serves as a window in which a veto could be coordinated offchain, to be then enforced by non-approval of Guardians and SecurityCouncil. A threshold of 2 Guardians can extend the veto period to 7d. After this a proposal enters a waiting state of 1mo, from which it can be immediately approved (cancelling the delay) by 4 participants of the SecurityCouncil. For the unlikely case that the Security CouncilA Security Council is a sufficiently decentralized set of members that is able to upgrade a system. A properly set up Security Council consists of at least 8 members with a threshold greater than 75%. What 'sufficiently decentralized' means is fundamentally subjective and ETHBEAT evaluates each case individually. A Security Council is allowed to instantly upgrade Stage 1 rollups. does not approve here, the Guardians can instead approve the proposal, or nobody. In the two latter cases, the waiting period is enforced in full. A proposal cannot be actively cancelled in the ProtocolUpgradeHandler, but will expire if not approved within the waiting period. An approved proposal now enters the pendingExecution state for a final delay of 1d and can then be executed.

    Other governance tracks

    There are two other tracks of Governance also starting with DAO Delegate proposals the ZKsync Era rollup: 1) Token Program Proposals that add new minters, allocations or upgrade the ZK token and 2) Governance Advisory Proposals that e.g. change the ZK Credo or other offchain Governance Procedures without onchain targets. The protocol for these two other tracks is similar to the first part of the standard path described above (albeit having different quorum and timelock values), and not passing over to the Ethereum L1. Further customizations are that the ZkFoundationMultisig can propose to the ZkTokenGovernor without a threshold and that the Guardians’ L2 alias can cancel proposals in the ZkTokenGovernor and the ZkGovOpsGovernor.

    Emergency path

    SecurityCouncil (6/8), Guardians (5/8) and ZkFoundationMultisig (3/6) form a de-facto 3/3 Multisig by pushing an immediate upgrade proposal through the EmergencyUpgradeBoard, which circumvents all delays and executes immediately via the ProtocolUpgradeHandler.

    Upgrade Delays

    The cumulative duration of the upgrade paths from the moment of a voted ‘successful’ proposal is 4d 3h or 8d 3h (depending on Guardians extending the LegalVetoPeriod) for Standard, 0 for Emergency and 1mo 4d for the path in which the SecurityCouncil is not approving the proposal.

    Freezing

    The SecurityCouncil can freeze (pause withdrawals and settlementThe mechanism with which the execution of rollup blocks and the resultant state is verified and possible disputes are resolved. In the context of rollups or other modular blockchains, it often refers to the proof system used--validity (ZK) or fraud proofs, or a combination thereof. Sometimes it will refer to this mechanism along with where the mechanism's outputs are ultimately published and verified, as in Ethereum being a settlement layer by verifying the proofs and allowing for withdrawals.) all chains connected to the current ChainTypeManager. Either for a softFreeze of 12h or a hardFreeze of 7d. After a softFreeze and / or a hardFreeze, a proposal from the EmergencyUpgradeBoard has to be passed before subsequent freezes are possible. Only the SecurityCouncil can unfreeze an active freeze.

    ZK cluster Admin and Chain Admin

    Apart from the paths that can upgrade all shared implementations, the ZK stack governance system defines other roles that can modify the system: A single ZK cluster Admin role who governs parameters in the shared contracts and a Chain Admin role (defined in each chain-specific diamond contract) for managing parameters of each individual ZK chain that builds on the stack. These chain-specific actions include critical operations like setting a transaction filterer that can censor L1 -> L2 messages, changing the DA mode, migrating the chain to a different settlement layer and standard operations like setting fee parameters and adding / removing ValidatorsIn the context of L2s, a Validator is an actor that validates the correctness of state transitions. For optimistic rollups this corresponds to challengers, and for ZK rollups this corresponds to the onchain verifier in the ValidatorTimelock. For rollups, data availabilityThe property of a rollup's data being reachable by any node retrieving the data that were rolled up and executed to reach the proposed state. Data availability (DA), specifically decoupling it from the rollup nodes themselves, is one of the preeminent factors which allows a rollup to scale securely. A rollup is faced with a decision of what to use as a DA layer to guarantee that any node can retrieve this data--permissionlessly under any circumstance. For this reason, using Ethereum for DA currently provides the strongest security guarantees. If data is stored somewhere other than a permissionless L1, then the project is not a rollup, but rather a validium or an optimium. on Ethereum is validated by a RollupL1DAValidator contract (or a RelayedSLDAValidator on the Gateway). Each rollup can become a permanent rollup (through their Chain Admin) which disallows DA changes to non-whitelisted sources or settlement layers in the future. The source of truth for rollup-compliant DA validator contracts is the RollupDAManager contract, which is administered via the ProtocolUpgradeHandler. ZKsync Era’s Chain Admin differs from the others as it also has the above ZK cluster Admin role in the shared ZK stack contracts.

    Past upgrades

    The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included.

    Count of upgrades
    55
    Last upgrade
    1d ago
    Avg upgrade interval
    4mo 1d
    High severity
    8changes

    ZIP-18 (protocol v31) was executed on the shared L1 contracts (see shared-zk-stack): the shared ValidatorTimelock got a redeployed implementation with identical code (metadata hash only). The GRVT chain itself is unchanged and still on protocol 0.30.1; the v31 diamond cut is staged in the EraChainTypeManager but not applied yet. GrvtChainAdminMultisig set itself as the withdrawalRecipient of the YieldRecipientTreasury (https://etherscan.io/tx/0xab5133ebba9d89d7a63a5b347c1ab106a0f7cad4b9335b45439d96f9db93cba3), replacing the 3/6 Safe 0xcE7a…23Ca, which left the discovery together with its deployer EOA; harvested yield now goes to the chain admin multisig. The strategy balances of the GRVTL1TreasuryVault are no longer watched.

    contract ValidatorTimelock (eth:0x2e5110cF18678Ec99818bFAa849B8C881744b776) [shared-zk-stack/ValidatorTimelock_v31] {
    +++ description: Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by at least 3h. Duration could be configured individually for zk stack chains by chain admins. All delays are capped at 30 days.
    values.$implementation:
    - "eth:0x556DdC1617D7620f56317d2F2002FE440EA9Ad35"
    + "eth:0x26C45Df28dABb4DC43fC980913C0501cBC3D69F2"
    values.$pastUpgrades.2:
    + ["2026-11-03T10:08:59.000Z","0x2b77fe3ec567013163f431bb8a39e3b1db06b5288f6a05c4cd946513a257da50",["eth:0x26C45Df28dABb4DC43fC980913C0501cBC3D69F2"]]
    values.$upgradeCount:
    - 2
    + 3
    implementationNames.eth:0x556DdC1617D7620f56317d2F2002FE440EA9Ad35:
    - "ValidatorTimelock"
    implementationNames.eth:0x26C45Df28dABb4DC43fC980913C0501cBC3D69F2:
    + "ValidatorTimelock"
    }
    contract YieldRecipientTreasury (eth:0x31641AE3A4c0A29Bf04c020E266cBc8fF2EdecA4) [grvt/YieldRecipientTreasury] {
    +++ description: Receives the yield harvested from the strategies of the GRVTL1TreasuryVault and reimburses the vault for strategy entry and exit fees. The owner and authorized withdrawers can send its balance to the withdrawalRecipient.
    values.withdrawalRecipient:
    - "eth:0xcE7aC6b6E8559a6E0634223d9692d6ea99bE23Ca"
    + "eth:0x3a23919d4aA39e096E9d6420fd6a2861A20B19e5"
    }
    - Status: DELETED
    EOA (eth:0x4296a124A6546473D19bD9CeC3ff4213102a77bB)
    +++ description: None
    - Status: DELETED
    contract GnosisSafe (eth:0xcE7aC6b6E8559a6E0634223d9692d6ea99bE23Ca) [GnosisSafe]
    +++ description: None
    High severity
    84changes

    GRVTBridgeProxy upgraded (https://disco.l2beat.com/diff/eth:0x7F9FCdaf7f65Fd5737De61d8bF5617A9AA8cFaF1/eth:0x8bc3249fEc4f61440Af91Ea2F3506F156039297C): a new depositFromCompartment() lets contracts registered in the new CompartmentRegistry deposit to GRVT without a DepositApprover signature, only to the L2 deposit proxy of their vault. Compartments hold capital of GRVT vaults withdrawn to Ethereum and deploy it into Axcess, Nest and Wildcat venues. Added the GRVTL1TreasuryVault (Grvt Yield Layer) with its yield strategies, that existed before but was not tracked. The exchange withdraws most of its reserves from the shared bridge to this vault, which invests them in Aave, sGHO and USDY, without any user control.

    contract GenericSwapStrategy (eth:0x189b2c1CE2f4Cd8e535E98B005A2d7e798124B18) [grvt/GenericSwapStrategy] {
    +++ description: Yield strategy of the GRVTL1TreasuryVault for one vault token. Whitelisted operators swap registered receipt tokens (e.g. tokenized treasuries) with the strategy at the price of their price sources, within per-swap and per-token exposure caps. Only the vault can allocate to and withdraw from it.
    values.positionBreakdown.1.amount:
    - "1072984984145405455093102"
    + "5930000000000000000000"
    values.totalExposure:
    - 1093796354443
    + 6338884826
    values.totalExposureStrict:
    - 1093796354443
    + 6338884826
    }
    contract GrvtChainAdminMultisig (eth:0x3a23919d4aA39e096E9d6420fd6a2861A20B19e5) [GnosisSafe] {
    +++ description: None
    receivedPermissions.4:
    + {"permission":"interact","from":"eth:0x55e271ae274BE015Fc46cdf43a2C7C96eF1dFB89","description":"create compartments with an arbitrary implementation and vault ID. A new compartment can deposit to GRVT through the GRVTBridgeProxy without a DepositApprover signature.","role":".compartmentCreator"}
    receivedPermissions.5:
    + {"permission":"interact","from":"eth:0x55e271ae274BE015Fc46cdf43a2C7C96eF1dFB89","description":"grant and revoke the operator, rebalancer and pauser roles of all compartments.","role":".configAdmin"}
    receivedPermissions.6:
    + {"permission":"interact","from":"eth:0x55e271ae274BE015Fc46cdf43a2C7C96eF1dFB89","description":"list and remove the external yield venues of all compartments, and upgrade all compartments and the CompartmentRegistry without delay through the UpgradeAuthority.","role":".registryAdmin"}
    receivedPermissions.7:
    + {"permission":"interact","from":"eth:0x55e271ae274BE015Fc46cdf43a2C7C96eF1dFB89","description":"manage all roles in the CompartmentRegistry.","role":".defaultAdmin"}
    receivedPermissions.8:
    + {"permission":"interact","from":"eth:0x55e271ae274BE015Fc46cdf43a2C7C96eF1dFB89","description":"pause the creation of compartments and deposits of all compartments into their yield venues.","role":".pauser"}
    receivedPermissions.9:
    + {"permission":"interact","from":"eth:0x55e271ae274BE015Fc46cdf43a2C7C96eF1dFB89","description":"unpause the CompartmentRegistry and all compartments, and manage the pauser role of all compartments.","role":".unpauser"}
    receivedPermissions.20:
    - {"permission":"upgrade","from":"eth:0xAB3B124052F0389D1cbED221d912026Ac995bb95","role":"admin"}
    }
    EOA (eth:0x5c8de5821dd9263F124E8ddbff11C3368Ff86a37) {
    +++ description: None
    receivedPermissions:
    + [{"permission":"interact","from":"eth:0xE17aeD2fC55f4A876315376ffA49FE6358113a65","description":"approve deposits to GRVT via the GRVTBridgeProxy.","role":".depositApprover"}]
    }
    contract AaveV3StrategyV2 (eth:0x646123424BEcBF14a7542bc44340AdB241BA32b3) [grvt/AaveV3StrategyV2] {
    +++ description: Yield strategy of the GRVTL1TreasuryVault that supplies the vault token to Aave V3. Only the vault can allocate to and withdraw from it.
    values.positionBreakdown.0.amount:
    - 49511454
    + 49570799
    values.totalExposure:
    - 49511454
    + 49570799
    values.totalExposureStrict:
    - 49511454
    + 49570799
    values.withdrawableExposure:
    - 49511454
    + 49570799
    }
    contract SGHOStrategy (eth:0x89D76f493AECaEe10caBbC1a67dbdC92E947b85E) [grvt/SGHOStrategy] {
    +++ description: Yield strategy of the GRVTL1TreasuryVault that converts the vault token to GHO through the Aave GHO Stability Module and deposits it into sGHO. Only the vault can allocate to and withdraw from it.
    values.positionBreakdown.0.amount:
    - "19977762494104552735433370"
    + "15386635615417910131"
    values.positionBreakdown.1.amount:
    - 538000000000
    + 554000000000
    values.totalExposure:
    - 20359890187419
    + 15700357
    values.totalExposureStrict:
    - 20359890187419
    + 15700357
    values.withdrawableExposure:
    - 20359890187419
    + 15700357
    }
    - Status: DELETED
    contract GRVTBaseToken (eth:0xAB3B124052F0389D1cbED221d912026Ac995bb95) [N/A]
    +++ description: None
    contract Governance (eth:0xbdC07D62fA117B195E579c2e299f037b158E7335) [adi/Governance] {
    +++ description: Allows scheduling transparent and shadow proposals, 'securityCouncil' role can execute without delay.
    +++ description: Number of executed proposals
    values.executedCount:
    - 54
    + 57
    +++ description: Number of scheduled transparent proposals
    values.scheduledTransparentCount:
    - 54
    + 57
    }
    contract GRVTBridgeProxy (eth:0xE17aeD2fC55f4A876315376ffA49FE6358113a65) [grvt/GRVTBridgeProxy] {
    +++ description: Checks the signature of the DepositApprover for each user deposit and, on succeeding, forwards the user's funds and bridging request to the L1SharedBridge contract to deposit to GRVT. Compartments registered in the compartmentRegistry can deposit without a signature, but only to the L2 deposit proxy derived from their registered vault ID.
    sourceHashes.1:
    - "0x5061251553a3aefbac60a53a4ca37e0da1a7979b38e33e09934e41db023506be"
    + "0x73fd5ff7c83f381e99cdd24e7228efdb5339414c31c8ad82da2ebaadc350c062"
    values.$implementation:
    - "eth:0x7F9FCdaf7f65Fd5737De61d8bF5617A9AA8cFaF1"
    + "eth:0x8bc3249fEc4f61440Af91Ea2F3506F156039297C"
    values.$pastUpgrades.3:
    + ["2026-10-30T17:33:11.000Z","0xe19e147e4b75d26f519159deea105c5b152e55806c4269a37ab76499c1e94961",["eth:0x8bc3249fEc4f61440Af91Ea2F3506F156039297C"]]
    values.$upgradeCount:
    - 3
    + 4
    +++ description: Every compartment registered in this registry can deposit its tokens to GRVT without a DepositApprover signature. The zero address disables compartment deposits.
    +++ severity: MEDIUM
    values.compartmentRegistry:
    + "eth:0x55e271ae274BE015Fc46cdf43a2C7C96eF1dFB89"
    +++ description: Beacon of the vault deposit proxies on GRVT, used to derive the L2 destination of compartment deposits.
    values.vaultDepositProxyBeacon:
    + "eth:0x2bdfFc4a90aE73bca865AafC89A6719BA5fafCAC"
    implementationNames.eth:0x7F9FCdaf7f65Fd5737De61d8bF5617A9AA8cFaF1:
    - "GRVTBridgeProxy"
    implementationNames.eth:0x8bc3249fEc4f61440Af91Ea2F3506F156039297C:
    + "GRVTBridgeProxy"
    template:
    + "grvt/GRVTBridgeProxy"
    description:
    + "Checks the signature of the DepositApprover for each user deposit and, on succeeding, forwards the user's funds and bridging request to the L1SharedBridge contract to deposit to GRVT. Compartments registered in the compartmentRegistry can deposit without a signature, but only to the L2 deposit proxy derived from their registered vault ID."
    fieldMeta:
    + {"compartmentRegistry":{"severity":"MEDIUM","description":"Every compartment registered in this registry can deposit its tokens to GRVT without a DepositApprover signature. The zero address disables compartment deposits."},"vaultDepositProxyBeacon":{"description":"Beacon of the vault deposit proxies on GRVT, used to derive the L2 destination of compartment deposits.","type":"L2"}}
    }
    external contract ProtocolUpgradeHandler (eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3) {
    +++ description: None
    directlyReceivedPermissions.4:
    - {"permission":"interact","from":"eth:0x18cC381705761aa2d2e8ea62888a4029A0fAd3aB","description":"set the ecosystem-wide minimum execution delay, manage the shared set of commit validators and its signing threshold, and allow chains to use a custom commit validator set.","role":".owner"}
    directlyReceivedPermissions.5:
    - {"permission":"interact","from":"eth:0x1adF137F59949c9081157D5de1e002D1C992071F","description":"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.","role":".owner"}
    directlyReceivedPermissions.6:
    - {"permission":"interact","from":"eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213","description":"set critical contract addresses for the shared cluster, register settlement layers, pause and unpause migrations and the bridge and manage zk chain registration.","role":".owner"}
    directlyReceivedPermissions.7:
    - {"permission":"interact","from":"eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6","description":"pause / unpause the bridge.","role":".owner"}
    directlyReceivedPermissions.8:
    - {"permission":"interact","from":"eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C","description":"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.","role":".owner"}
    directlyReceivedPermissions.9:
    - {"permission":"interact","from":"eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB","description":"pause, unpause and set critical escrow address references.","role":".owner"}
    directlyReceivedPermissions.10:
    - {"permission":"interact","from":"eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076","description":"pause, resume chain migrations.","role":".owner"}
    directlyReceivedPermissions.11:
    - {"permission":"interact","from":"eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45","description":"manage allowed rollup DA pairs (allowed to be used by rollups in permanent rollup mode).","role":".owner"}
    directlyReceivedPermissions.12:
    - {"permission":"interact","from":"zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E","description":"control all roles in the ZkToken access control, including the minter roles.","role":".DefaultAdmin"}
    receivedPermissions:
    + [{"permission":"interact","from":"eth:0x1adF137F59949c9081157D5de1e002D1C992071F","description":"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.","role":".owner"},{"permission":"interact","from":"eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213","description":"set critical contract addresses for the shared cluster, register settlement layers, pause and unpause migrations and the bridge and manage zk chain registration.","role":".owner"},{"permission":"interact","from":"eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6","description":"pause / unpause the bridge.","role":".owner"},{"permission":"interact","from":"eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C","description":"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.","role":".owner"},{"permission":"interact","from":"eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB","description":"pause, unpause and set critical escrow address references.","role":".owner"},{"permission":"interact","from":"eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076","description":"pause, resume chain migrations.","role":".owner"},{"permission":"interact","from":"eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45","description":"manage allowed rollup DA pairs (allowed to be used by rollups in permanent rollup mode).","role":".owner"},{"permission":"interact","from":"zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E","description":"control all roles in the ZkToken access control, including the minter roles.","role":".DefaultAdmin"},{"permission":"upgrade","from":"eth:0x18cC381705761aa2d2e8ea62888a4029A0fAd3aB","role":"admin","via":[{"address":"eth:0xff3582a0310916cd62442A4CA88Bf1C757D68938"}]},{"permission":"upgrade","from":"eth:0x1adF137F59949c9081157D5de1e002D1C992071F","role":"admin","via":[{"address":"eth:0xff3582a0310916cd62442A4CA88Bf1C757D68938"}]},{"permission":"upgrade","from":"eth:0x2e5110cF18678Ec99818bFAa849B8C881744b776","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"}]},{"permission":"upgrade","from":"eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"}]},{"permission":"upgrade","from":"eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"}]},{"permission":"upgrade","from":"eth:0x6078F6B379f103de1Aa912dc46bb8Df0c8809860","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"}]},{"permission":"upgrade","from":"eth:0x8829AD80E425C646DAB305381ff105169FeEcE56","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"}]},{"permission":"upgrade","from":"eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"}]},{"permission":"upgrade","from":"eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"}]},{"permission":"upgrade","from":"eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"}]},{"permission":"upgrade","from":"eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"}]},{"permission":"upgrade","from":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3","role":"admin","via":[{"address":"eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e"}]},{"permission":"upgrade","from":"zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E","role":"admin","via":[{"address":"zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC"}]}]
    }
    contract GenericSwapStrategy (eth:0xEC33298A3aC7A5F5B3f21A3218a5D8E862Da8a12) [grvt/GenericSwapStrategy] {
    +++ description: Yield strategy of the GRVTL1TreasuryVault for one vault token. Whitelisted operators swap registered receipt tokens (e.g. tokenized treasuries) with the strategy at the price of their price sources, within per-swap and per-token exposure caps. Only the vault can allocate to and withdraw from it.
    values.positionBreakdown.0.amount:
    - 76479130
    + 3548421827035
    values.positionBreakdown.1.amount:
    - "2683281529804244184171032"
    + "17378643166255400528293966"
    values.positionBreakdown.2.amount:
    - "4997002475696442790276727"
    + 442790276727
    values.totalExposure:
    - 8180133391164
    + 23565049876400
    values.totalExposureStrict:
    - 8180133391164
    + 23565049876400
    values.withdrawableExposure:
    - 76479130
    + 3548421827035
    }
    external contract (eth:0x29D2e773A31C07D375c50F0110422832bd044d08) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"interact","from":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3","description":"soft freeze, hard freeze (all chains of the Era and ZKsync OS ChainTypeManagers), approve a protocol upgrade.","role":".securityCouncil"}
    }
    external contract (eth:0x600dA620Ab29F41ABC6596a15981e14cE58c86b8) {
    +++ description: None
    receivedPermissions:
    - [{"permission":"interact","from":"zksync:0xb83FF6501214ddF40C91C9565d095400f3F45746","description":"cancel proposals while they are pending (after having been proposed) or active (during the voting period).","role":".VETO_GUARDIAN"},{"permission":"interact","from":"zksync:0xEEEa739a8b6fB1b8f703E23C9Be03CeeA643b160","description":"cancel proposals while they are pending (after having been proposed) or active (during the voting period).","role":".VETO_GUARDIAN"}]
    }
    external contract (eth:0x8f525e55F76050d8dFdDa4870DA1b3ede54E908F) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"interact","from":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3","description":"extend the legal veto period, approve a protocol upgrade.","role":".guardians"}
    }
    external contract (eth:0x91989F9BB8391D3471D2672Ec001921cB14C4b7C) {
    +++ description: None
    receivedPermissions:
    - [{"permission":"interact","from":"eth:0x18cC381705761aa2d2e8ea62888a4029A0fAd3aB","description":"set the ecosystem-wide minimum execution delay, manage the shared set of commit validators and its signing threshold, and allow chains to use a custom commit validator set.","role":".owner","via":[{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"interact","from":"eth:0x1adF137F59949c9081157D5de1e002D1C992071F","description":"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.","role":".owner","via":[{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"interact","from":"eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213","description":"set critical contract addresses for the shared cluster, register settlement layers, pause and unpause migrations and the bridge and manage zk chain registration.","role":".owner","via":[{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"interact","from":"eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6","description":"pause / unpause the bridge.","role":".owner","via":[{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"interact","from":"eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C","description":"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.","role":".owner","via":[{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"interact","from":"eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB","description":"pause, unpause and set critical escrow address references.","role":".owner","via":[{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"interact","from":"eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076","description":"pause, resume chain migrations.","role":".owner","via":[{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"interact","from":"eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45","description":"manage allowed rollup DA pairs (allowed to be used by rollups in permanent rollup mode).","role":".owner","via":[{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"interact","from":"zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E","description":"control all roles in the ZkToken access control, including the minter roles.","role":".DefaultAdmin","via":[{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"upgrade","from":"eth:0x18cC381705761aa2d2e8ea62888a4029A0fAd3aB","role":"admin","via":[{"address":"eth:0xff3582a0310916cd62442A4CA88Bf1C757D68938"},{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"upgrade","from":"eth:0x1adF137F59949c9081157D5de1e002D1C992071F","role":"admin","via":[{"address":"eth:0xff3582a0310916cd62442A4CA88Bf1C757D68938"},{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"upgrade","from":"eth:0x2e5110cF18678Ec99818bFAa849B8C881744b776","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"},{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"upgrade","from":"eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"},{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"upgrade","from":"eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"},{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"upgrade","from":"eth:0x6078F6B379f103de1Aa912dc46bb8Df0c8809860","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"},{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"upgrade","from":"eth:0x8829AD80E425C646DAB305381ff105169FeEcE56","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"},{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"upgrade","from":"eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"},{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"upgrade","from":"eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"},{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"upgrade","from":"eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"},{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"upgrade","from":"eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076","role":"admin","via":[{"address":"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"},{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"upgrade","from":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3","role":"admin","via":[{"address":"eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e"},{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]},{"permission":"upgrade","from":"zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E","role":"admin","via":[{"address":"zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC"},{"address":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3"}]}]
    directlyReceivedPermissions:
    - [{"permission":"act","from":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3","role":".emergencyUpgradeBoard"}]
    }
    external contract (zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714) {
    +++ description: None
    directlyReceivedPermissions:
    - [{"permission":"interact","from":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3","description":"start (queue) upgrades.","role":".L2_PROTOCOL_GOVERNOR"},{"permission":"interact","from":"zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714","description":"manage all access control roles and change the minimum delay.","role":".timelockAdminAC"}]
    }
    external contract (zksync:0x76705327e682F2d96943280D99464Ab61219e34f) {
    +++ description: None
    receivedPermissions:
    - [{"permission":"interact","from":"eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3","description":"start (queue) upgrades.","role":".L2_PROTOCOL_GOVERNOR","via":[{"address":"zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714"}]},{"permission":"interact","from":"zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714","description":"cancel queued transactions.","role":".Canceller"},{"permission":"interact","from":"zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714","description":"execute transactions that are ready.","role":".Executor"},{"permission":"interact","from":"zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714","description":"manage all access control roles and change the minimum delay.","role":".timelockAdminAC","via":[{"address":"zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714"}]},{"permission":"interact","from":"zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714","description":"propose transactions.","role":".Proposer"}]
    directlyReceivedPermissions:
    - [{"permission":"act","from":"zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714","role":".Executor"}]
    }
    external contract (zksync:0xb83FF6501214ddF40C91C9565d095400f3F45746) {
    +++ description: None
    receivedPermissions:
    - [{"permission":"interact","from":"zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E","description":"grant the MINTER_ROLE to arbitrary addresses, thus controlling the minting of the ZK token.","role":".MinterAdmin","via":[{"address":"zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d","delay":259200}]},{"permission":"interact","from":"zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d","delay":259200,"description":"manage all access control roles and change the minimum delay.","role":".timelockAdminAC","via":[{"address":"zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d","delay":259200}]},{"permission":"interact","from":"zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d","description":"cancel queued transactions.","role":".Canceller"},{"permission":"interact","from":"zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d","description":"execute transactions that are ready.","role":".Executor"},{"permission":"interact","from":"zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d","description":"propose transactions.","role":".Proposer"}]
    directlyReceivedPermissions:
    - [{"permission":"act","from":"zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d","delay":259200,"role":".Executor"}]
    }
    external contract (zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC) {
    +++ description: None
    directlyReceivedPermissions:
    - [{"permission":"upgrade","from":"zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E","role":"admin"}]
    }
    external contract (zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d) {
    +++ description: None
    directlyReceivedPermissions:
    - [{"permission":"interact","from":"zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E","description":"grant the MINTER_ROLE to arbitrary addresses, thus controlling the minting of the ZK token.","role":".MinterAdmin"},{"permission":"interact","from":"zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d","delay":259200,"description":"manage all access control roles and change the minimum delay.","role":".timelockAdminAC"}]
    }
    + Status: CREATED
    contract CompartmentRegistry (eth:0x55e271ae274BE015Fc46cdf43a2C7C96eF1dFB89) [grvt/CompartmentRegistry]
    +++ description: Registry of compartments: contracts on Ethereum that hold the capital of GRVT vaults withdrawn from L2, deploy it into external yield venues and bridge it back to the vaults on GRVT. The registry also holds the roles and the global pause for all compartments.
    + Status: CREATED
    contract Bootstrap (eth:0x68b7e779b0219401ec1959067a30597b34E0de56) [grvt/Bootstrap]
    +++ description: Placeholder implementation that new compartment proxies are deployed with, so that their CREATE2 address does not depend on the real implementation. The CompartmentRegistry upgrades a compartment to its real implementation in the same transaction.
    + Status: CREATED
    contract UpgradeAuthority (eth:0x736258fdd7dc998A1180333AFec1C045868EAcdf) [grvt/UpgradeAuthority]
    +++ description: Owns the ProxyAdmins of the CompartmentRegistry and of every compartment. Accounts with the REGISTRY_ADMIN_ROLE in the CompartmentRegistry can use it to upgrade these contracts without delay.
    + Status: CREATED
    contract ProxyAdmin (eth:0x8196Df3c158E67963021e869e972d2c2254Ed485) [global/ProxyAdmin]
    +++ description: None
    + Status: CREATED
    contract HighYieldEarnVaultCompartment (eth:0xD3A975f7dca47D7bDfA426BB7cD64F4145CcEc44) [grvt/HighYieldEarnVaultCompartment]
    +++ description: Compartment of a GRVT vault. It holds vault capital withdrawn from GRVT and deploys it into listed Axcess loan vaults, Nest vaults and Wildcat V2 markets. Proceeds of venue exits always return to the compartment, and funds can only leave it to a listed venue or to the vault's deposit proxy on GRVT through the GRVTBridgeProxy. Venues are listed by the REGISTRY_ADMIN_ROLE of the CompartmentRegistry.
    + Status: CREATED
    contract ProxyAdmin (eth:0xf311e82885d51425cd6798eD44AF3b8FA7DF03F6) [global/ProxyAdmin]
    +++ description: None

    New and verified contracts

    + Status: CREATED
    contract NativeBridgeGateway (eth:0x17CBac7631063d8A79ddb5c3fc7C2336F0161915) [grvt/NativeBridgeGateway]
    +++ description: Bridges ETH of the GRVTL1TreasuryVault to the exchange on GRVT and returns failed ETH deposits to the vault. Only the vault can bridge through it.
    + Status: CREATED
    contract GenericSwapStrategy (eth:0x189b2c1CE2f4Cd8e535E98B005A2d7e798124B18) [grvt/GenericSwapStrategy]
    +++ description: Yield strategy of the GRVTL1TreasuryVault for one vault token. Whitelisted operators swap registered receipt tokens (e.g. tokenized treasuries) with the strategy at the price of their price sources, within per-swap and per-token exposure caps. Only the vault can allocate to and withdraw from it.
    + Status: CREATED
    contract AaveV3Strategy (eth:0x1ff873538e62BA19cd36CE97e48F6fC84D07a5E4) [grvt/AaveV3Strategy]
    +++ description: Yield strategy of the GRVTL1TreasuryVault that supplies the vault token to Aave V3. Only the vault can allocate to and withdraw from it.
    + Status: CREATED
    contract ProxyAdmin (eth:0x2B19C664F7b1D389A6a9d483acd283098613D84A) [global/ProxyAdmin]
    +++ description: None
    + Status: CREATED
    contract YieldRecipientTreasury (eth:0x31641AE3A4c0A29Bf04c020E266cBc8fF2EdecA4) [grvt/YieldRecipientTreasury]
    +++ description: Receives the yield harvested from the strategies of the GRVTL1TreasuryVault and reimburses the vault for strategy entry and exit fees. The owner and authorized withdrawers can send its balance to the withdrawalRecipient.
    + Status: CREATED
    contract ProxyAdmin (eth:0x421a3f9b8665174B4FcF5fD4A9012B79be457f51) [global/ProxyAdmin]
    +++ description: None
    + Status: CREATED
    contract TimelockController (eth:0x4e29715b7Ca2569678027c01627D936235eA36De) [global/TimelockController]
    +++ description: A timelock with access control. The current minimum delay is 2d.
    + Status: CREATED
    contract AaveV3StrategyV2 (eth:0x646123424BEcBF14a7542bc44340AdB241BA32b3) [grvt/AaveV3StrategyV2]
    +++ description: Yield strategy of the GRVTL1TreasuryVault that supplies the vault token to Aave V3. Only the vault can allocate to and withdraw from it.
    + Status: CREATED
    contract (eth:0x67fB799C70ee1Ecbc015AcB25F0BA8E77F20F251) [N/A]
    +++ description: None
    + Status: CREATED
    contract SGHOStrategy (eth:0x89D76f493AECaEe10caBbC1a67dbdC92E947b85E) [grvt/SGHOStrategy]
    +++ description: Yield strategy of the GRVTL1TreasuryVault that converts the vault token to GHO through the Aave GHO Stability Module and deposits it into sGHO. Only the vault can allocate to and withdraw from it.
    + Status: CREATED
    contract GRVTBaseToken (eth:0xAB3B124052F0389D1cbED221d912026Ac995bb95) [N/A]
    +++ description: None
    + Status: CREATED
    contract GRVTL1TreasuryVault (eth:0xC95Fedb8Bdc763e4ef093D14e8196afafBB48f45) [grvt/GRVTL1TreasuryVault]
    +++ description: Holds most of the exchange reserves of GRVT on Ethereum, which the exchange withdraws from GRVT to this vault. The funds can be allocated to whitelisted yield strategies, bridged back to the exchange on GRVT, and yield above the allocated principal is harvested to the yieldRecipient. Strategies and their allocation caps are whitelisted by the VAULT_ADMIN_ROLE.
    + Status: CREATED
    contract TimelockController (eth:0xcAc7375CaA2A8E3024Cd8FB44309ee3246e9B0d3) [global/TimelockController]
    +++ description: A timelock with access control. The current minimum delay is 3d.
    + Status: CREATED
    contract GnosisSafe (eth:0xcE7aC6b6E8559a6E0634223d9692d6ea99bE23Ca) [GnosisSafe]
    +++ description: None
    + Status: CREATED
    contract GenericSwapStrategy (eth:0xEC33298A3aC7A5F5B3f21A3218a5D8E862Da8a12) [grvt/GenericSwapStrategy]
    +++ description: Yield strategy of the GRVTL1TreasuryVault for one vault token. Whitelisted operators swap registered receipt tokens (e.g. tokenized treasuries) with the strategy at the price of their price sources, within per-swap and per-token exposure caps. Only the vault can allocate to and withdraw from it.
    + Status: CREATED
    contract ProxyAdmin (eth:0xF57Be7cB5B1c5e37fDb19DdF8E5A359A5e381575) [global/ProxyAdmin]
    +++ description: None
    2changes

    Governance approved proposal that sends trxs to L2: https://tools.l2beat.com/decoder-new/?hash=0x301cafca68144cabff26ffe4007100c05ef451203bf461840acd2756ddc0f27d&data=AwA.

    contract Governance (eth:0xbdC07D62fA117B195E579c2e299f037b158E7335) [adi/Governance] {
    +++ description: Allows scheduling transparent and shadow proposals, 'securityCouncil' role can execute without delay.
    +++ description: Number of executed proposals
    values.executedCount:
    - 53
    + 54
    +++ description: Number of scheduled transparent proposals
    values.scheduledTransparentCount:
    - 53
    + 54
    }
    2changes

    Governance executed an L2 transaction on GRVT through the Bridgehub: https://tools.l2beat.com/decoder-new/?hash=0x6ecfb2cc39c3522d22e1083b402bbcd494385f32fe69e6615608b59a1f66d1a1&data=AwA.

    contract Governance (eth:0xbdC07D62fA117B195E579c2e299f037b158E7335) [adi/Governance] {
    +++ description: Allows scheduling transparent and shadow proposals, 'securityCouncil' role can execute without delay.
    +++ description: Number of executed proposals
    values.executedCount:
    - 52
    + 53
    +++ description: Number of scheduled transparent proposals
    values.scheduledTransparentCount:
    - 52
    + 53
    }
    2changes

    Governance proposal to execute some L2 upgrade: https://tools.l2beat.com/decoder-new/?hash=0xc5846160840110f972ee0542b77cdf5744a3d374f58a308ded4b1de12b12131f&data=AwA.

    contract Governance (eth:0xbdC07D62fA117B195E579c2e299f037b158E7335) [adi/Governance] {
    +++ description: Allows scheduling transparent and shadow proposals, 'securityCouncil' role can execute without delay.
    +++ description: Number of executed proposals
    values.executedCount:
    - 51
    + 52
    +++ description: Number of scheduled transparent proposals
    values.scheduledTransparentCount:
    - 51
    + 52
    }

    The system has a centralized operator

    The operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades. is the only entity that can propose blocksAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over.. A live and trustworthy operator is vital to the health of the system.

    • MEV can be extracted if the operator exploits their centralized position and frontruns user transactions.

    Users can't force all transactions

    If a user is censored by the L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. SequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs., they cannot by default force their transaction via the L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. queue. An active TransactionFilterer contract which allows only whitelisted accounts to enqueue, prevents it. Even if a user was specifically whitelisted, there is no mechanism that forces L2 Sequencer to include transactions from the queue in an L2 blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over., as they have the choice to process the queue in order or not at all.

    • Users can be censored if the operator refuses to include their transactions.

    • Users can be censored if the Operator does not specifically whitelist them in the TransactionFilterer.

    1. L1 - L2 interoperability - Developer's documentation
    2. Mailbox facet
    3. TransactionFilterer

    Regular messaging

    The user initiates L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups.->L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. messages by submitting a regular transaction on this chain. When the blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. containing that transaction is settled, the message becomes available for processing on L1. ZK proofs are required to settle blocks.

    1. Withdrawing funds - ZKsync documentation

    Forced messaging

    If the user experiences censorship from the operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades. with regular L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups.->L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. messaging they can submit their messages directly on L1. The system is then obliged to service this request or halt all messages from L1, including all forced withdrawals and deposits. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular message.

    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner

    Ethereum

    Actors:

    EmergencyUpgradeBoard0x9198…4b7C

    A custom contract allowing a 3/3 of SecurityCouncil, ZK Foundation Multisig and Guardians to executeEmergencyUpgrade() via the ProtocolUpgradeHandler.

    • Can upgrade with no delay
      • MultisigCommitter
      • ZKsyncOSChainTypeManager
      • ValidatorTimelock
      • BridgeHub
      • ChainRegistrationSender
      • L1MessageRoot
      • CTMDeploymentTracker
      • L1AssetTracker
      • ZKsyncOSPermissionlessValidator
      • L1AssetRouter
      • L1NativeTokenVault
      • EraChainTypeManager
      • L1Nullifier
      • L1ChainAssetHandler
      • EraPermissionlessValidator
      • ProtocolUpgradeHandler
      • ZkToken
    • Can interact with MultisigCommitter
      • set the ecosystem-wide minimum execution delay, manage the shared set of commit validatorsIn the context of L2s, a Validator is an actor that validates the correctness of state transitions. For optimistic rollups this corresponds to challengers, and for ZK rollups this corresponds to the onchain verifier and its signing threshold, and allow chains to use a custom commit validator set
    • Can interact with ZKsyncOSChainTypeManager
      • manage the shared ValidatorTimelock contract address and the admin role, register upgrades and patch upgrades together with the verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. of each protocol version (and set their deadlines), execute upgrades, freeze, revert batches, deactivate Priority Mode and set permissioned validators and fee params for all connected chains
    • Can interact with BridgeHub
      • set critical contract addresses for the shared cluster (asset router, CTM deployer, message root, chain asset handler, chain registration sender), add and remove chain type managers, whitelist settlementThe mechanism with which the execution of rollup blocks and the resultant state is verified and possible disputes are resolved. In the context of rollups or other modular blockchains, it often refers to the proof system used--validity (ZK) or fraud proofs, or a combination thereof. Sometimes it will refer to this mechanism along with where the mechanism's outputs are ultimately published and verified, as in Ethereum being a settlement layer by verifying the proofs and allowing for withdrawals. layers, pause and unpause the bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. and register already deployed zk chains
    • Can interact with ZKsyncOSDualVerifier_v31
      • add and remove the FFLONK/PLONKA zk-SNARK proving system introduced by Gabizon, Williamson and Ciobotaru in 2019 that allows proving custom circuits. Plonk is based on KZG polynomial commitments and thus requires a universal trusted setup. verifier pairs that proofs of ZKsync OS chains can select by version
    • Can interact with L1AssetTracker
      • pause / unpause the tracker and re-sync its ChainAssetHandler reference from the Bridgehub
    • Can interact with L1NativeTokenVault
      • pause / unpause the bridge and set the L1AssetTracker that enforces the per-chain balances
    • Can interact with EraChainTypeManager
      • manage the shared ValidatorTimelock contract address and the admin role, register upgrades and patch upgrades together with the verifier of each protocol version (and set their deadlines), execute upgrades, freeze, revert batches, deactivate Priority Mode and set permissioned validators and fee params for all connected chains
    • Can interact with L1Nullifier
      • pause, unpause and set critical escrow address references
    • Can interact with L1ChainAssetHandler
      • pause and resume chain migrations, pause and unpause the handler, re-sync its MessageRoot and AssetRouter references from the Bridgehub and backfill historical migration intervals of chains that settled on the legacy Gateway
    • Can interact with RollupDAManager
      • manage allowed rollupA blockchain that inherits consensus and data availability from another blockchain called L1. Rollups enable trust minimized bridges with the base layer via proof systems, either optimistic or zero-knowledge. A rollup without a bridge, or without considering the bridge, is called a sovereign rollup. DA pairs (allowed to be used by rollups in permanent rollup mode)
    • Can interact with ZkToken
      • control all roles in the ZkToken access control, including the minter roles
    Used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    Matter Labs Multisig0x4e49…7828

    A Multisig with 4/7 threshold.

    • Can upgrade with no delay
      • ZKsyncOSServerNotifier
      • ServerNotifier
    • Can interact with ZKsyncOSChainTypeManager
      • set the pending admin of this contract and the ServerNotifier contract address (ZK cluster Admin role)
    • Can interact with BridgeHub
      • create new zk chains (based on the current version), register tokens (ZK cluster Admin role)
    • Can interact with EraChainTypeManager
      • set the pending admin of this contract and the ServerNotifier contract address (ZK cluster Admin role)
    Used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    GrvtChainAdminMultisig0x3a23…19e5

    A Multisig with 4/7 threshold.

    • Can upgrade with no delay
      • NativeBridgeGateway
      • GenericSwapStrategy
      • AaveV3Strategy
      • GRVTTransactionFilterer
      • AaveV3StrategyV2
      • SGHOStrategy
      • GRVTL1TreasuryVault
      • GRVTBridgeProxy
      • GenericSwapStrategy
    • Can interact with GenericSwapStrategy
      • register receipt tokens with their price sources and caps, and whitelist price sources with 3d delay
    • Can interact with TimelockController
      • cancel queued transactions
      • manage all access control roles
      • propose transactions
    • Can interact with CompartmentRegistry
      • create compartments with an arbitrary implementation and vault ID. A new compartment can deposit to GRVT through the GRVTBridgeProxy without a DepositApprover signature
      • grant and revoke the operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades., rebalancer and pauser roles of all compartments
      • list and remove the external yield venues of all compartments, and upgrade all compartments and the CompartmentRegistry without delay through the UpgradeAuthority
      • manage all roles in the CompartmentRegistry
      • pause the creation of compartments and deposits of all compartments into their yield venues
      • unpause the CompartmentRegistry and all compartments, and manage the pauser role of all compartments
    • Can interact with GrvtZkEvmAdmin
      • set the conversion factor for gasA virtual fuel used to execute smart contracts on a rollup. The EVM (or other VM within the rollup) uses an accounting mechanism to correspond the consumption of gas to the consumption of computing resources, and to limit the consumption of computing resources. token deposits
    • Can interact with GRVTL1TreasuryVault
      • manage the VAULT_ADMIN_ROLE in the GRVTL1TreasuryVault
      • whitelist yield strategies and their allocation caps, set the supported and bridgeable tokens, manage the operational roles, pause and unpause, withdraw funds from strategies, harvest yield and send ETH to the yield recipient
    • Can interact with TimelockController
      • cancel queued transactions
      • execute transactions that are ready
      • manage all access control roles with 3d delay
      • propose transactions
    • Can interact with Diamond
      • administrate operator roles for this chain in the ValidatorTimelock, manage fees, apply predefined upgrades, manage censorship through a TransactionFilterer, set DA mode, migrate the chain to whitelisted settlementThe mechanism with which the execution of rollup blocks and the resultant state is verified and possible disputes are resolved. In the context of rollups or other modular blockchains, it often refers to the proof system used--validity (ZK) or fraud proofs, or a combination thereof. Sometimes it will refer to this mechanism along with where the mechanism's outputs are ultimately published and verified, as in Ethereum being a settlement layer by verifying the proofs and allowing for withdrawals. layers (Chain Admin role)
    • Can interact with GenericSwapStrategy
      • register receipt tokens with their price sources and caps, and whitelist price sources with 3d delay
    SecurityCouncil0x29D2…4d08

    A Multisig with 6/8 threshold. Custom Multisig implementation that has a general threshold of 6 but also specific thresholds for upgrade approvals (4) or soft freezes (3).

    • Can interact with EmergencyUpgradeBoard
      • one of its 3/3 signers
    • Can interact with ProtocolUpgradeHandler
      • soft freeze, hard freeze (all chains of the Era and ZKsync OS ChainTypeManagers), approve a protocol upgrade
    Used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    1. Security Council members - ZK Nation docs
    Guardians0x8f52…908F

    A Multisig with 5/8 threshold. Custom Multisig implementation that has a general threshold of 5 and a specific threshold for extending the legal voting period of 2.

    • Can interact with EmergencyUpgradeBoard
      • one of its 3/3 signers
    • Can interact with ProtocolUpgradeHandler
      • extend the legal veto period, approve a protocol upgrade
    Used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    1. Guardians - ZK Nation docs
    LegacyGuardians0x600d…86b8

    A Multisig with 5/8 threshold. Custom Multisig implementation that has a general threshold of 5 and a specific threshold for extending the legal voting period of 2.

    • Can interact with ZkTokenGovernor
      • cancel proposals while they are pending (after having been proposed) or active (during the voting period)
    Used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    1. Guardians - ZK Nation docs
    ZK Foundation Multisig0xbC16…B51c

    A Multisig with 3/6 threshold.

    • Can interact with EmergencyUpgradeBoard
      • one of its 3/3 signers
    • Can interact with ZkTokenGovernor
      • make direct proposals without owning ZK tokens. In propose-guarded mode, this address is the ONLY allowed proposerIn the context of L2s, the actor that proposes a claimed state root on L1. The term is also used in the context of Ethereum to refer to the actor that proposes a new block.. Propose-guarded mode is currently set to false
    Used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    ValidatorTimelock0x2e51…b776

    Intermediary contract between the ValidatorsIn the context of L2s, a Validator is an actor that validates the correctness of state transitions. For optimistic rollups this corresponds to challengers, and for ZK rollups this corresponds to the onchain verifier and the central diamond contract that delays blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. execution (ie withdrawals and other L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. --> L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. messages) by at least 3h. Duration could be configured individually for zk stack chains by chain admins. All delays are capped at 30 days.

    • Can interact with Diamond
      • commit, prove, execute, revert batches directly in the main Diamond contract. This role is typically held by a proxying ValidatorTimelock
    Used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    GRVTTransactionFilterer0x3Cd5…109a
    • Can interact with Diamond
      • define addresses that can send transactions from L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. to L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. (e.g. for deposits, withdrawals, queued transactions). This is enforced in the Mailbox Facet
    GrvtBridgeAdminMultisig0x5CC3…B65c

    A Multisig with 4/7 threshold.

    • Can interact with GRVTTransactionFilterer
      • manage the whitelist of addresses
    • Can interact with GenericSwapStrategy
      • swap registered receipt tokens with the strategy at the price of their price sources, within the configured caps
    • Can interact with GenericSwapStrategy
      • swap registered receipt tokens with the strategy at the price of their price sources, within the configured caps
    UpgradeAuthority0x7362…Acdf

    Owns the ProxyAdmins of the CompartmentRegistry and of every compartment. Accounts with the REGISTRY_ADMIN_ROLE in the CompartmentRegistry can use it to upgrade these contracts without delay.

    • Can upgrade with no delay
      • CompartmentRegistry
      • HighYieldEarnVaultCompartment
    Governance0xbdC0…7335

    Allows scheduling transparent and shadow proposals, ‘securityCouncil’ role can execute without delay.

    • Can interact with GRVTTransactionFilterer
      • address is part of the GRVTTransactionFilterer whitelist
    GRVTBridgeProxy0xE17a…3a65

    Checks the signature of the DepositApprover for each user deposit and, on succeeding, forwards the user’s funds and bridging request to the L1SharedBridge contract to deposit to GRVT. Compartments registered in the compartmentRegistry can deposit without a signature, but only to the L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. deposit proxy derived from their registered vault ID.

    • Can interact with GRVTTransactionFilterer
      • address is part of the GRVTTransactionFilterer whitelist
    Governance0xe81d…a9d1
    • Can interact with GRVTTransactionFilterer
      • address is part of the GRVTTransactionFilterer whitelist
    L1AssetRouter0x8829…cE56

    Canonical central asset router for all ZK stack chains. Routes deposits and withdrawals to the respective asset handlers (like the L1NativeTokenVault); does not escrow funds itself.

    • Can interact with GRVTTransactionFilterer
      • address is part of the GRVTTransactionFilterer whitelist
    Used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    L1Nullifier0xD7f9…B2cB

    Contract responsible for bookkeeping L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. bridging transactions. Used to finalize withdrawals and reclaim failed deposits, verifying the proofs through the MessageRoot since v31. Does not escrow funds.

    • Can interact with GRVTTransactionFilterer
      • address is part of the GRVTTransactionFilterer whitelist
    Used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    • Can interact with TimelockController
      • execute transactions that are ready
      • manage all access control roles with 2d delay
    • Can interact with GRVTL1TreasuryVault
      • allocate the funds of the GRVTL1TreasuryVault to whitelisted strategies and withdraw them back to the vault
      • bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. funds from the GRVTL1TreasuryVault to the exchange on GRVT
      • pause allocations to strategies, yield harvests and bridging to GRVT in the GRVTL1TreasuryVault

    Member of GrvtChainAdminMultisig, GrvtBridgeAdminMultisig.

    • Can interact with YieldRecipientTreasury
      • send the balance of the YieldRecipientTreasury to its withdrawalRecipient
    • Can interact with TimelockController
      • execute transactions that are ready
      • manage all access control roles with 2d delay
    • Can interact with GRVTL1TreasuryVault
      • allocate the funds of the GRVTL1TreasuryVault to whitelisted strategies and withdraw them back to the vault
      • bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. funds from the GRVTL1TreasuryVault to the exchange on GRVT
      • harvest the yield above the allocated principal from the strategies of the GRVTL1TreasuryVault to the yield recipient
      • pause allocations to strategies, yield harvests and bridging to GRVT in the GRVTL1TreasuryVault
    • Can interact with GRVTBridgeProxy
      • approve deposits to GRVT via the GRVTBridgeProxy

    Member of GrvtChainAdminMultisig, GrvtBridgeAdminMultisig.

    • Can interact with GRVTL1TreasuryVault
      • allocate the funds of the GRVTL1TreasuryVault to whitelisted strategies and withdraw them back to the vault
      • bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. funds from the GRVTL1TreasuryVault to the exchange on GRVT
      • pause allocations to strategies, yield harvests and bridging to GRVT in the GRVTL1TreasuryVault
    • Can interact with HighYieldEarnVaultCompartment
      • bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. the compartment’s funds to its vault on GRVT
      • deposit the compartment’s funds into its listed Axcess, Nest and Wildcat venues and withdraw them back to the compartment

    Member of GrvtChainAdminMultisig, GrvtBridgeAdminMultisig.

    • Can interact with GenericSwapStrategy
      • swap registered receipt tokens with the strategy at the price of their price sources, within the configured caps
    • Can interact with GenericSwapStrategy
      • swap registered receipt tokens with the strategy at the price of their price sources, within the configured caps
    • Can interact with GRVTTransactionFilterer
      • address is part of the GRVTTransactionFilterer whitelist

    ZKsync Era

    Actors:

    ZkProtocolGovernor0x7670…e34f

    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 1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. and can - from there - target all L1 and L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. contracts. At least 21M ZK tokens are necessary to start a proposal and a 630M quorum of voted tokens must be met to succeed.

    • Can interact with ProtocolUpgradeHandler
      • start (queue) upgrades
    • Can interact with ProtocolTimelockController
      • cancel queued transactions
      • execute transactions that are ready
      • manage all access control roles and change the minimum delay
      • propose transactions
    Used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    ZkTokenGovernor0xb83F…5746

    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.

    • Can interact with ZkToken
      • grant the MINTER_ROLE to arbitrary addresses, thus controlling the minting of the ZK token with 3d delay
    • Can interact with ZkTokenTimelockController
      • manage all access control roles and change the minimum delay with 6d delay
      • cancel queued transactions
      • execute transactions that are ready
      • propose transactions
    Used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner
    A diagram of the smart contract architecture
    A diagram of the smart contract architecture

    Ethereum

    The main contract defining the Layer 2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups.. OperatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades. actions like commiting blocksAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over., providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. --> L2 and L2 --> L1 transactions.

    • Roles:
      • getAdmin: GrvtZkEvmAdmin; ultimately GrvtChainAdminMultisig
      • getTransactionFilterer: GRVTTransactionFilterer
      • validatorsIn the context of L2s, a Validator is an actor that validates the correctness of state transitions. For optimistic rollups this corresponds to challengers, and for ZK rollups this corresponds to the onchain verifier: ValidatorTimelock
    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    ValidiumL1DAValidator0x907b…146A

    Contract that ‘verifies’ the data availabilityThe property of a rollup's data being reachable by any node retrieving the data that were rolled up and executed to reach the proposed state. Data availability (DA), specifically decoupling it from the rollup nodes themselves, is one of the preeminent factors which allows a rollup to scale securely. A rollup is faced with a decision of what to use as a DA layer to guarantee that any node can retrieve this data--permissionlessly under any circumstance. For this reason, using Ethereum for DA currently provides the strongest security guarantees. If data is stored somewhere other than a permissionless L1, then the project is not a rollup, but rather a validium or an optimium. for validiums. This implementation only checks the correct formatting and does not serve as a DA oracle. Can be used by ZK stack validiums as the L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. part of a DAValidator pair.

    Implementation used in:
    Cronos zkEVM logo

    Intermediary contract between the ValidatorsIn the context of L2s, a Validator is an actor that validates the correctness of state transitions. For optimistic rollups this corresponds to challengers, and for ZK rollups this corresponds to the onchain verifier and the central diamond contract that delays blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. execution (ie withdrawals and other L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. --> L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. messages) by at least 0s. Duration could be configured individually for zk stack chains by chain admins. All delays are capped at 30 days. This version (MultisigCommitter) can additionally require batch commitments to be signed by a set of commit validators: by default the shared set of 3 validators with a threshold of 0 (0 means no signatures are required), or a custom per-chain set and threshold if enabled by the owner.

    • Roles:
      • admin: ProxyAdmin; ultimately EmergencyUpgradeBoard
      • owner: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    Defines L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. diamond contract versions, creation and upgrade data and the proof systemThe infrastructure that allows projects to verify their state transitions. It is composed by onchain verifiers and offchain provers. The main two flavors are optimistic and ZK proof systems, but they can be combined in a hybrid model. In general though, if a system is able to accept state roots optimistically, even if it has a ZK component, it is considered an optimistic proof system. for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. Since v31 the verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. of each protocol version is registered here and written into a chain when it applies the upgrade. The current protocol version is 0,31,2.

    • Roles:
      • admin: ChainAdminOwnable, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig
      • owner: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    The main registry (hub) for all the contracts in the ZK stack cluster and central entrypoint for bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token and from chainId to settlementThe mechanism with which the execution of rollup blocks and the resultant state is verified and possible disputes are resolved. In the context of rollups or other modular blockchains, it often refers to the proof system used--validity (ZK) or fraud proofs, or a combination thereof. Sometimes it will refer to this mechanism along with where the mechanism's outputs are ultimately published and verified, as in Ethereum being a settlement layer by verifying the proofs and allowing for withdrawals. layer. Since v31 the L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups.->L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. message and log inclusion proofs it offers are verified by the MessageRoot instead of each chain’s diamond.

    • Roles:
      • admin: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig
      • owner: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    Service contract that registers one ZK stack chain on another for interop by sending an L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development.->L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. service transaction through the Bridgehub. Only chains settling on the same settlementThe mechanism with which the execution of rollup blocks and the resultant state is verified and possible disputes are resolved. In the context of rollups or other modular blockchains, it often refers to the proof system used--validity (ZK) or fraud proofs, or a combination thereof. Sometimes it will refer to this mechanism along with where the mechanism's outputs are ultimately published and verified, as in Ethereum being a settlement layer by verifying the proofs and allowing for withdrawals. layer can be registered with each other.

    • Roles:
      • admin: ProxyAdmin; ultimately EmergencyUpgradeBoard
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    ZKsyncOSDualVerifier_v310x433b…da2F

    A router contract for verifiers of ZKsync OS chains. Routes verification requests to the PLONKA zk-SNARK proving system introduced by Gabizon, Williamson and Ciobotaru in 2019 that allows proving custom circuits. Plonk is based on KZG polynomial commitments and thus requires a universal trusted setup. verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. of the version selected in the proof, currently ZKsyncOSVerifierPlonk_v31 (version 0). The owner can add and remove verifier versions without a chain upgrade.

    • Roles:
      • owner: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard
    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    Stores the batch roots of all ZK stack chains and verifies the L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups.->L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. message, log and L1->L2 transaction status proofs used for withdrawals and failed deposit claims. Batch roots are appended by each chain while it settles on Ethereum; proofs of chains settling on a whitelisted settlementThe mechanism with which the execution of rollup blocks and the resultant state is verified and possible disputes are resolved. In the context of rollups or other modular blockchains, it often refers to the proof system used--validity (ZK) or fraud proofs, or a combination thereof. Sometimes it will refer to this mechanism along with where the mechanism's outputs are ultimately published and verified, as in Ethereum being a settlement layer by verifying the proofs and allowing for withdrawals. layer are verified recursively through that layer’s roots. Batches produced before a chain’s v31 upgrade are still verified against the chain’s own diamond.

    • Roles:
      • admin: ProxyAdmin; ultimately EmergencyUpgradeBoard
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    Asset deployment tracker where the ‘asset’ is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlementThe mechanism with which the execution of rollup blocks and the resultant state is verified and possible disputes are resolved. In the context of rollups or other modular blockchains, it often refers to the proof system used--validity (ZK) or fraud proofs, or a combination thereof. Sometimes it will refer to this mechanism along with where the mechanism's outputs are ultimately published and verified, as in Ethereum being a settlement layer by verifying the proofs and allowing for withdrawals. layer, for example the Gateway.

    • Roles:
      • admin: ProxyAdmin; ultimately EmergencyUpgradeBoard
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    RollupL1DAValidator0x7221…9119

    Contract that verifies the data availabilityThe property of a rollup's data being reachable by any node retrieving the data that were rolled up and executed to reach the proposed state. Data availability (DA), specifically decoupling it from the rollup nodes themselves, is one of the preeminent factors which allows a rollup to scale securely. A rollup is faced with a decision of what to use as a DA layer to guarantee that any node can retrieve this data--permissionlessly under any circumstance. For this reason, using Ethereum for DA currently provides the strongest security guarantees. If data is stored somewhere other than a permissionless L1, then the project is not a rollup, but rather a validium or an optimium. of ethereum calldata and blobsThe data that a rollup publishes to its L1/data availability (DA) layer. They consist of the L2 transactions that are rolled up, along with some metadata. Blobs are introduced as a new transaction type within Ethereum with EIP-4844, and has rollup scaling specifically in mind. Blobs persist on Ethereum’s Beacon Chain ephemerally.. Can be used by ZK stack rollups as the L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. part of a DAValidator pair.

    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    Keeps the per-chain token balances of the L1NativeTokenVault escrow: every deposit increases and every withdrawal or failed deposit claim decreases the balance of the chain (or of its whitelisted settlementThe mechanism with which the execution of rollup blocks and the resultant state is verified and possible disputes are resolved. In the context of rollups or other modular blockchains, it often refers to the proof system used--validity (ZK) or fraud proofs, or a combination thereof. Sometimes it will refer to this mechanism along with where the mechanism's outputs are ultimately published and verified, as in Ethereum being a settlement layer by verifying the proofs and allowing for withdrawals. layer), and a withdrawal that exceeds it reverts. Also migrates balances between a chain and its settlement layer on chain migrations. Legacy balances are moved here from the vault token by token through the permissionlessAnyone willing should be able to join and leave the network at any time, without causing significant disturbance to the network or being detrimental to the party in question. No single entity should have the power to allowlist or blocklist participants. registerLegacyToken().

    • Roles:
      • admin: ProxyAdmin; ultimately EmergencyUpgradeBoard
      • owner: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    ZKsyncOSPermissionlessValidator0x8509…2CAAImplementation (Upgradable)Admin

    The only address allowed to commit, prove and execute batches of a chain while its Priority Mode (escape hatchThe facility for any user of a rollup to exit the system with their assets under any circumstance. Most relevant in rollups with a centralized proposer, wherein users do not have the ability to propose blocks, but can nonetheless exit the rollup by interacting with a smart contract on L1.) is active. Anyone can call it to settle batches of such a chain in one transaction, bypassing the ValidatorTimelock delay. In Priority Mode each batch can contain only priority (L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. queue) transactions. Anyone can activate Priority Mode once the first unprocessed priority transaction is older than 4 days. This requires a permanent rollupA blockchain that inherits consensus and data availability from another blockchain called L1. Rollups enable trust minimized bridges with the base layer via proof systems, either optimistic or zero-knowledge. A rollup without a bridge, or without considering the bridge, is called a sovereign rollup. whose admin has permanently allowed Priority Mode.

    • Roles:
      • admin: ProxyAdmin; ultimately EmergencyUpgradeBoard
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    Canonical central asset escrow for all ZK stack chains. Since v31 the per-chain balance accounting that caps what each chain can withdraw is enforced by the L1AssetTracker, which the vault calls on every deposit, withdrawal and failed deposit claim.

    • Roles:
      • admin: ProxyAdmin; ultimately EmergencyUpgradeBoard
      • owner: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    Defines L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. diamond contract versions, creation and upgrade data and the proof systemThe infrastructure that allows projects to verify their state transitions. It is composed by onchain verifiers and offchain provers. The main two flavors are optimistic and ZK proof systems, but they can be combined in a hybrid model. In general though, if a system is able to accept state roots optimistically, even if it has a ZK component, it is considered an optimistic proof system. for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. Since v31 the verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. of each protocol version is registered here and written into a chain when it applies the upgrade. The current protocol version is 0,33,0.

    • Roles:
      • admin: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig
      • owner: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    Specialized asset handler for chains as assets, i.e. chain migrations between Ethereum and whitelisted settlementThe mechanism with which the execution of rollup blocks and the resultant state is verified and possible disputes are resolved. In the context of rollups or other modular blockchains, it often refers to the proof system used--validity (ZK) or fraud proofs, or a combination thereof. Sometimes it will refer to this mechanism along with where the mechanism's outputs are ultimately published and verified, as in Ethereum being a settlement layer by verifying the proofs and allowing for withdrawals. layers. It records the migration number and the batch intervals of each chain per settlement layer, which the MessageRoot uses to validate proofs, and gates migrations on the chain being upgraded to v31 with its base token registered in the L1AssetTracker.

    • Roles:
      • admin: ProxyAdmin; ultimately EmergencyUpgradeBoard
      • owner: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    The only address allowed to commit, prove and execute batches of a chain while its Priority Mode (escape hatchThe facility for any user of a rollup to exit the system with their assets under any circumstance. Most relevant in rollups with a centralized proposer, wherein users do not have the ability to propose blocks, but can nonetheless exit the rollup by interacting with a smart contract on L1.) is active. Anyone can call it to settle batches of such a chain in one transaction, bypassing the ValidatorTimelock delay. In Priority Mode each batch can contain only priority (L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. queue) transactions. Anyone can activate Priority Mode once the first unprocessed priority transaction is older than 4 days. This requires a permanent rollupA blockchain that inherits consensus and data availability from another blockchain called L1. Rollups enable trust minimized bridges with the base layer via proof systems, either optimistic or zero-knowledge. A rollup without a bridge, or without considering the bridge, is called a sovereign rollup. whose admin has permanently allowed Priority Mode.

    • Roles:
      • admin: ProxyAdmin; ultimately EmergencyUpgradeBoard
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    The central upgrade contract and Governance proxy for all ZK stack contracts. Accepts successful DAO proposals from L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. and emergency proposals from the EmergencyUpgradeBoard. The three members of the EmergencyUpgradeBoard also have special roles and permissions in this contract.

    • Roles:
      • admin: ProxyAdmin; ultimately EmergencyUpgradeBoard
      • emergencyUpgradeBoard: EmergencyUpgradeBoard
      • guardians: Guardians
      • l2_protocol_governor: ProtocolTimelockController; ultimately ZkProtocolGovernor
      • securityCouncil: SecurityCouncil
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    RollupDAManager0xE689…3C45

    Simple registry for allowed DA address pairs for the ‘rollupA blockchain that inherits consensus and data availability from another blockchain called L1. Rollups enable trust minimized bridges with the base layer via proof systems, either optimistic or zero-knowledge. A rollup without a bridge, or without considering the bridge, is called a sovereign rollup.’ data availabilityThe property of a rollup's data being reachable by any node retrieving the data that were rolled up and executed to reach the proposed state. Data availability (DA), specifically decoupling it from the rollup nodes themselves, is one of the preeminent factors which allows a rollup to scale securely. A rollup is faced with a decision of what to use as a DA layer to guarantee that any node can retrieve this data--permissionlessly under any circumstance. For this reason, using Ethereum for DA currently provides the strongest security guarantees. If data is stored somewhere other than a permissionless L1, then the project is not a rollup, but rather a validium or an optimium. mode (can be permanently enforced with isPermanentRollup=true). Rollup DA address pairs (especially the L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. part) usually point to contracts that validate if data was made available on Ethereum.

    • Roles:
      • owner: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard
    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    GrvtZkEvmAdmin0x6308…3e7D

    A governance proxy that lets GrvtChainAdminMultisig act through it.

    • Roles:
      • owner: GrvtChainAdminMultisig
      • tokenMultiplierSetter: GrvtChainAdminMultisig
    EraChainAdminProxy0x2cf3…5063

    A governance proxy that lets Matter Labs Multisig act through it.

    • Roles:
      • owner: Matter Labs Multisig
    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    ChainAdminOwnable0x933d…0172

    A governance proxy that lets Matter Labs Multisig act through it.

    • Roles:
      • owner: Matter Labs Multisig
    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    EraVerifierPlonk0x0DAA…6DbF

    Verifies a zk-SNARKShort for "succinct non-interactive argument of knowledge", a SNARK is a widely used type of zero-knowledge proof that is short and fast to verify. Different kinds of SNARKs are usually systematized by proof size, verification time, and type of setup. The most famous SNARKs are Groth16, PLONK/Marlin, Bulletproofs, and STARKs. proof using an implementation of the PlonKA zk-SNARK proving system introduced by Gabizon, Williamson and Ciobotaru in 2019 that allows proving custom circuits. Plonk is based on KZG polynomial commitments and thus requires a universal trusted setup. proof systemThe infrastructure that allows projects to verify their state transitions. It is composed by onchain verifiers and offchain provers. The main two flavors are optimistic and ZK proof systems, but they can be combined in a hybrid model. In general though, if a system is able to accept state roots optimistically, even if it has a ZK component, it is considered an optimistic proof system..

    Implementation used in:
    ZKsync Era logoCronos zkEVM logoAbstract logoSophon logoLens logo

    Bridges ETH of the GRVTL1TreasuryVault to the exchange on GRVT and returns failed ETH deposits to the vault. Only the vault can bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. through it.

    • Roles:
      • admin: ProxyAdmin; ultimately GrvtChainAdminMultisig

    Yield strategy of the GRVTL1TreasuryVault for one vault token. Whitelisted operators swap registered receipt tokens (e.g. tokenized treasuries) with the strategy at the price of their price sources, within per-swap and per-token exposure caps. Only the vault can allocate to and withdraw from it.

    • Roles:
      • admin: GrvtChainAdminMultisig
      • operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades.: , EOA 6
      • owner: TimelockController; ultimately GrvtChainAdminMultisig
    The following tokens are included in the value secured calculation:
    USDC token logoUSDY token logosGho token logo

    Yield strategy of the GRVTL1TreasuryVault that supplies the vault token to Aave V3. Only the vault can allocate to and withdraw from it.

    • Roles:
      • admin: ProxyAdmin; ultimately GrvtChainAdminMultisig
    • Roles:
      • owner: GrvtChainAdminMultisig
    YieldRecipientTreasury0x3164…ecA4

    Receives the yield harvested from the strategies of the GRVTL1TreasuryVault and reimburses the vault for strategy entry and exit fees. The owner and authorized withdrawers can send its balance to the withdrawalRecipient.

    • Roles:
      • authorizedWithdrawers: EOA 2
    TimelockController0x4e29…36De

    A timelock with access control. The current minimum delay is 2d.

    • Roles:
      • canceller: GrvtChainAdminMultisig
      • defaultAdmin: GrvtChainAdminMultisig, TimelockController; ultimately EOA 1, EOA 2
      • executor: EOA 1, EOA 2
      • proposerIn the context of L2s, the actor that proposes a claimed state root on L1. The term is also used in the context of Ethereum to refer to the actor that proposes a new block.: GrvtChainAdminMultisig

    Registry of compartments: contracts on Ethereum that hold the capital of GRVT vaults withdrawn from L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups., deploy it into external yield venues and bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. it back to the vaults on GRVT. The registry also holds the roles and the global pause for all compartments.

    • Roles:
      • admin: ProxyAdmin; ultimately UpgradeAuthority
      • compartmentCreator: GrvtChainAdminMultisig
      • configAdmin: GrvtChainAdminMultisig
      • defaultAdmin: GrvtChainAdminMultisig
      • pauser: GrvtChainAdminMultisig
      • registryAdmin: GrvtChainAdminMultisig
      • unpauser: GrvtChainAdminMultisig

    Yield strategy of the GRVTL1TreasuryVault that supplies the vault token to Aave V3. Only the vault can allocate to and withdraw from it.

    • Roles:
      • admin: GrvtChainAdminMultisig
    Bootstrap0x68b7…de56

    Placeholder implementation that new compartment proxies are deployed with, so that their CREATE2 address does not depend on the real implementation. The CompartmentRegistry upgrades a compartment to its real implementation in the same transaction.

    ProxyAdmin
    2 instances
    0x8196…d4850xf311…03F6
    • Roles:
      • owner: UpgradeAuthority
    EraVerifierFflonk0x8470…eDe9

    Verifies a zk-SNARKShort for "succinct non-interactive argument of knowledge", a SNARK is a widely used type of zero-knowledge proof that is short and fast to verify. Different kinds of SNARKs are usually systematized by proof size, verification time, and type of setup. The most famous SNARKs are Groth16, PLONK/Marlin, Bulletproofs, and STARKs. proof using an implementation of the fflonk proof systemThe infrastructure that allows projects to verify their state transitions. It is composed by onchain verifiers and offchain provers. The main two flavors are optimistic and ZK proof systems, but they can be combined in a hybrid model. In general though, if a system is able to accept state roots optimistically, even if it has a ZK component, it is considered an optimistic proof system..

    Implementation used in:
    ZKsync Era logoCronos zkEVM logoAbstract logoSophon logoLens logo

    Yield strategy of the GRVTL1TreasuryVault that converts the vault token to GHO through the Aave GHO Stability Module and deposits it into sGHO. Only the vault can allocate to and withdraw from it.

    • Roles:
      • admin: GrvtChainAdminMultisig
    The following tokens are included in the value secured calculation:
    USDT token logosGho token logo

    Holds most of the exchange reserves of GRVT on Ethereum, which the exchange withdraws from GRVT to this vault. The funds can be allocated to whitelisted yield strategies, bridged back to the exchange on GRVT, and yield above the allocated principal is harvested to the yieldRecipient. Strategies and their allocation caps are whitelisted by the VAULT_ADMIN_ROLE.

    • Roles:
      • admin: ProxyAdmin; ultimately GrvtChainAdminMultisig
      • allocator: EOA 1, EOA 2, EOA 4
      • defaultAdmin: GrvtChainAdminMultisig
      • pauser: EOA 1, EOA 2, EOA 4
      • rebalancer: EOA 1, EOA 2, EOA 4
      • vaultAdmin: GrvtChainAdminMultisig
      • yieldHarvester: EOA 2
    The following tokens are included in the value secured calculation:
    USDT token logoUSDC token logo
    TimelockController0xcAc7…B0d3

    A timelock with access control. The current minimum delay is 3d.

    • Roles:
      • canceller: GrvtChainAdminMultisig
      • defaultAdmin: TimelockController; ultimately GrvtChainAdminMultisig
      • executor: GrvtChainAdminMultisig
      • proposerIn the context of L2s, the actor that proposes a claimed state root on L1. The term is also used in the context of Ethereum to refer to the actor that proposes a new block.: GrvtChainAdminMultisig
    EraDualVerifier0xCeF0…7081

    A router contract for verifiers. Routes verification requests to EraVerifierFflonk or EraVerifierPlonk depending on the supplied proof type.

    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    Compartment of a GRVT vault. It holds vault capital withdrawn from GRVT and deploys it into listed Axcess loan vaults, Nest vaults and Wildcat V2 markets. Proceeds of venue exits always return to the compartment, and funds can only leave it to a listed venue or to the vault’s deposit proxy on GRVT through the GRVTBridgeProxy. Venues are listed by the REGISTRY_ADMIN_ROLE of the CompartmentRegistry.

    • Roles:
      • admin: ProxyAdmin; ultimately UpgradeAuthority
      • operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades.: EOA 5
      • rebalancer: EOA 5

    Yield strategy of the GRVTL1TreasuryVault for one vault token. Whitelisted operators swap registered receipt tokens (e.g. tokenized treasuries) with the strategy at the price of their price sources, within per-swap and per-token exposure caps. Only the vault can allocate to and withdraw from it.

    • Roles:
      • admin: GrvtChainAdminMultisig
      • operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades.: , EOA 6
      • owner: TimelockController; ultimately GrvtChainAdminMultisig
    The following tokens are included in the value secured calculation:
    USDT token logoUSDY token logosGho token logo
    • Roles:
      • owner: ProtocolUpgradeHandler
    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    ProxyAdmin0x257F…D29B
    • Roles:
      • owner: EraChainAdminProxy
    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    ZKsyncOSVerifierPlonk_v310x47a2…F415

    Verifies a zk-SNARKShort for "succinct non-interactive argument of knowledge", a SNARK is a widely used type of zero-knowledge proof that is short and fast to verify. Different kinds of SNARKs are usually systematized by proof size, verification time, and type of setup. The most famous SNARKs are Groth16, PLONK/Marlin, Bulletproofs, and STARKs. proof using an implementation of the PlonKA zk-SNARK proving system introduced by Gabizon, Williamson and Ciobotaru in 2019 that allows proving custom circuits. Plonk is based on KZG polynomial commitments and thus requires a universal trusted setup. proof systemThe infrastructure that allows projects to verify their state transitions. It is composed by onchain verifiers and offchain provers. The main two flavors are optimistic and ZK proof systems, but they can be combined in a hybrid model. In general though, if a system is able to accept state roots optimistically, even if it has a ZK component, it is considered an optimistic proof system..

    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    EraDualVerifier_v330x5D5d…4711

    A router contract for verifiers. Routes verification requests to EraVerifierFflonk_v33 or EraVerifierPlonk_v33 depending on the supplied proof type.

    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    EraVerifierPlonk_v330x71ef…8001

    Verifies a zk-SNARKShort for "succinct non-interactive argument of knowledge", a SNARK is a widely used type of zero-knowledge proof that is short and fast to verify. Different kinds of SNARKs are usually systematized by proof size, verification time, and type of setup. The most famous SNARKs are Groth16, PLONK/Marlin, Bulletproofs, and STARKs. proof using an implementation of the PlonKA zk-SNARK proving system introduced by Gabizon, Williamson and Ciobotaru in 2019 that allows proving custom circuits. Plonk is based on KZG polynomial commitments and thus requires a universal trusted setup. proof systemThe infrastructure that allows projects to verify their state transitions. It is composed by onchain verifiers and offchain provers. The main two flavors are optimistic and ZK proof systems, but they can be combined in a hybrid model. In general though, if a system is able to accept state roots optimistically, even if it has a ZK component, it is considered an optimistic proof system..

    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    ZKsyncOSVerifierFflonk_v310x77EE…2aBF

    Verifies a zk-SNARKShort for "succinct non-interactive argument of knowledge", a SNARK is a widely used type of zero-knowledge proof that is short and fast to verify. Different kinds of SNARKs are usually systematized by proof size, verification time, and type of setup. The most famous SNARKs are Groth16, PLONK/Marlin, Bulletproofs, and STARKs. proof using an implementation of the fflonk proof systemThe infrastructure that allows projects to verify their state transitions. It is composed by onchain verifiers and offchain provers. The main two flavors are optimistic and ZK proof systems, but they can be combined in a hybrid model. In general though, if a system is able to accept state roots optimistically, even if it has a ZK component, it is considered an optimistic proof system..

    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    EraVerifierFflonk_v330x870C…4128

    Verifies a zk-SNARKShort for "succinct non-interactive argument of knowledge", a SNARK is a widely used type of zero-knowledge proof that is short and fast to verify. Different kinds of SNARKs are usually systematized by proof size, verification time, and type of setup. The most famous SNARKs are Groth16, PLONK/Marlin, Bulletproofs, and STARKs. proof using an implementation of the fflonk proof systemThe infrastructure that allows projects to verify their state transitions. It is composed by onchain verifiers and offchain provers. The main two flavors are optimistic and ZK proof systems, but they can be combined in a hybrid model. In general though, if a system is able to accept state roots optimistically, even if it has a ZK component, it is considered an optimistic proof system..

    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.

    • Roles:
      • admin: ProxyAdmin; ultimately Matter Labs Multisig
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    ProxyAdmin0xe5f5…8a4b
    • Roles:
      • owner: ChainAdminOwnable
    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.

    • Roles:
      • admin: ProxyAdmin; ultimately Matter Labs Multisig
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    ZKsync Era

    ProtocolTimelockController0x085b…c714

    Timelock contract allowing the queueing of transactions with a minimum delay of 0s.

    • Roles:
      • canceller: ZkProtocolGovernor
      • executor: ZkProtocolGovernor
      • proposerIn the context of L2s, the actor that proposes a claimed state root on L1. The term is also used in the context of Ethereum to refer to the actor that proposes a new block.: ZkProtocolGovernor
      • timelockAdmin: ProtocolTimelockController; ultimately ZkProtocolGovernor
    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    The ZK token contract on ZKsync Era. Mintable through access control roles. Used for voting in the ZK stack governance system.

    • Roles:
      • admin: ZkTokenProxyAdmin; ultimately EmergencyUpgradeBoard
      • defaultAdmin: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard
      • minterAdmin: ZkTokenTimelockController; ultimately ZkTokenGovernor
    Proxy used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    ZkTokenProxyAdmin0xdB1E…15CC
    • Roles:
      • owner: ProtocolUpgradeHandler
    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo
    ZkTokenTimelockController0xe5d2…9c3d

    Timelock contract allowing the queueing of transactions with a minimum delay of 3d.

    • Roles:
      • canceller: ZkTokenGovernor
      • executor: ZkTokenGovernor
      • proposerIn the context of L2s, the actor that proposes a claimed state root on L1. The term is also used in the context of Ethereum to refer to the actor that proposes a new block.: ZkTokenGovernor
      • timelockAdmin: ZkTokenTimelockController; ultimately ZkTokenGovernor
    Implementation used in:
    Abstract logoCronos zkEVM logoLens logoSophon logoZKsync Era logo

    The current deployment carries some associated risks:

    • Funds can be stolen if a contract receives a malicious code upgrade. There is a 4d 3h - 8d 3h delay on code upgrades unless upgrade is initiated by the EmergencyUpgradeBoard in which case there is no delay.

    • Funds can be stolen if the source code of unverified contracts contains malicious code (CRITICAL).

    Program Hashes

    Hash
    Repository
    Verification
    Used in
    0x0100...51e6
    ZKsync Era logoCronos zkEVM logoAbstract logoSophon logo