Search

Search for projects by name or address

Privacy

Interfold CRISP logo
Interfold CRISP

Early mainnet: Interfold runs with an initial set of ciphernode operators, and only a few votes have taken place. L2BEAT does not track the anonymity setIn privacy protocols, anonymity set denotes all users, to which a particular withdrawal could be plausibly attributed. Anonymity set depends on a particular withdrawal, the size of the anonymity set is a metric for level of user's privacy. and rates the design, not the size of past votes.

About

A secret ballot on Interfold's encrypted-computation network: voters cast FHE-encrypted ballots, and a committee of ciphernodes decrypts only the totals.


  • Metrics
    Not trackedData tracking is not available for this project.

  • Privacy
    Link privacy
  • Trusted setup
  • Exit window
  • Reproducibility

  • Tracked on
    Ethereum logo
  • Attributes
    FHEZK
  • Public observerChain analystNetwork observerPrivileged insiderFuture adversary

    About

    A secret ballot on Interfold's encrypted-computation network: voters cast FHE-encrypted ballots, and a committee of ciphernodes decrypts only the totals.

    CRISP (Coercion-Resistant Impartial Selection Protocol) is a secret ballot on Interfold, a networkA constellation of nodes (peers) that communicate via a peer-to-peer protocol, for example, in propagating transactions and blocks to other nodes. for encrypted computation. Anyone can open a CRISP vote, and the Interfold DAO votes on its proposals with it. A voter picks an option, and only the totals per option are decrypted. Every address that receives a ballot, and its voting power, stays public.

    Voters trust the committee of 19 ciphernodes drawn for each vote, any 10 of whom can decrypt every ballot. They also trust Interfold, which hosts the app and runs the CRISP server that must sign every ballot. Two Interfold multisigs change the protocol instantly, see upgrades and governance.

    Architecture

    Each vote is one E3 (encrypted execution environmentRefers to both the environment where transactions are processed, constituted by the execution clients, as well as the virtual machine model which the clients run.), a computation over encrypted inputs that the Interfold contract coordinates. CiphernodeRegistry draws a committee of ciphernodes by a lottery weighted by their collateral. The committee generates a shared public key for BFV, a lattice-based fully homomorphic encryptionA type of encryption that allows computations to be performed on encrypted data without decrypting it, making it useful for privacy-preserving computation. scheme, and each member keeps a share of the secret key. An OpenVM program adds up the encrypted ballots, and the committee decrypts only the sum.

    Flow

    1. Request. A requester, such as a DAO proposal, opens a CRISP vote and pays for its E3. Voting power is fixed at that moment.
    2. Vote. Your browser encrypts the ballot to the committee key and proves that it is well formed and signed by your wallet. The CRISP server stores the ciphertext on Avail, signs that it is available and submits it.
    3. Mask. Anyone can add an encrypted zero to any eligible address, and it looks like a vote. The app sends masks only when the voter adds them.
    4. Re-vote. A later ballot from your wallet replaces the earlier one.
    5. Tally. The committee decrypts the sum and publishes the totals per option.

    Voting

    A CRISP vote sets who may vote in one of three ways. It reads voting power from a token at a snapshot, as Interfold DAO votes do, or uses an address list built from token holders or supplied by the requester. The Interfold DAO must post each list’s Merkle root, so it controls these lists. Each voter counts with their token weight or with the same weight as everyone else. With equal weights, the totals leave nothing to match against.

    App

    The ratings assume Interfold DAO votes through Interfold’s governance app, which is open source and hosted by Interfold. By default it counts a random 99 to 100% of the voter’s power, so totals do not match balances exactly. A local build removes the host’s view of the choice before encryption. A voter can also send the ballot from their own wallet.

    Ciphernodes

    Operators register by bonding 32,000 FOLD and buying tickets with sUSDS. The lottery gives each bond-owner address at most one seat per committee, the only limit on one party filling a committee. Interfold does not name the operators and calls the current set an initial one.

    What the protocol promises: Hides which option each voter chose. Every address that receives a ballot, its voting power, the timing and the totals per option are public.

    Ethereum is public by default. Each protocol is rated on its main privacy promise, like hiding who paid, who received, how much, or which deposit became which withdrawal. Against each adversary, the colour says whether it holds for a careful user with the app's own settings: green yes, yellow only with significant extra work, red no. Fields marked at risk stay private only under the condition in their note.

    Public observerChain analystNetwork observerPrivileged insiderFuture adversary
    Public observer
    Private

    Ballots stay encrypted, and only the totals per option are decrypted. A mask looks like a vote, so an input to an address does not prove that its owner voted.

    Chain analyst
    At risk

    Voting power is public, so the totals per option can reveal how a voter with outsized weight voted. A voter whose weight exceeds the totals of all but one option can only have chosen that one. The app’s random weight blurs exact matches among smaller voters.

    Advice: Keep the random weight on.

    Network observer
    Private

    The ballot leaves the browser only as ciphertext with its proof, so traffic shows at most that the user sent a ballot. The app reads the chain through the CRISP server and sends ballots to it, so these requests reach no third party. WalletConnect runs with analytics off.

    Privileged insider
    Exposed

    Any 10 of the 19 ciphernodes in a vote’s committee can combine their key shares and decrypt every ballot of that vote. Operators are unnamed, and the lottery limits only each bond-owner address to one seat. The Interfold multisigs can instantly shrink future committees to 3 members, 2 of whom decrypt, and Interfold’s hosted app sees the choice before encrypting it.

    Future adversary
    At risk

    Archived ballots rest on lattice assumptions with no known quantum attack, so a break adds nothing to what the totals show. A recovered wallet key can replace a voter’s ballot in an open vote but opens no past one. The contracts that verify ballot proofs are unverified, so whether the proofs hide the vote cannot be checked.

    Protocol proposals move to secret ballots

    2026 Oct 10th

    Interfold Protocol Proposals now pass a CRISP vote before InterfoldSafeB approves them.

    Learn more

    First CRISP vote backs the constitution

    2026 Oct 2nd

    The third constitution vote is the first CRISP vote to be decrypted, with every vote on yes.

    Learn more

    Funds can be stolen if

    1. the VotingEscrowMultisig upgrades the escrow that holds locked FOLD, which takes effect instantly.
    2. either Interfold multisig upgrades the bonding registry holding bonded FOLD, which takes effect instantly.

    Privacy can be lost if

    1. 10 of the 19 ciphernodes in a vote’s committee combine their key shares (see privileged insider).
    2. the Interfold multisigs shrink the committee of future votes (see privileged insider).
    3. Interfold’s hosted app reads the choice before encrypting it (see privileged insider).
    4. one voter’s power exceeds the totals of all but one option (see chain analyst).

    InterfoldSafeA (3/5) and InterfoldSafeB (3/5) have the same signers. Through the Admin plugin, either can execute any Interfold DAO action instantly and without a vote. The DAO owns the coordinator, the ciphernode and bonding registries and their proxy admins. The multisigs can therefore upgrade these contracts and change the committee size of future votes. CRISPProgram cannot be upgraded.

    DAO proposals pass a CRISP vote of 5 days, then need InterfoldSafeB’s approval within 5 days.

    VotingEscrowDAO can upgrade the escrow that holds locked FOLD. It executes whatever its 1-of-1 multisig plugin approves. The Interfold DAO can also execute through it.

    Aztec Ignition

    UltraHonk

    Detailed description

    Aztec Ignition is 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. ceremony for KZG commitmentsA polynomial commitment scheme that allows a prover to compute a commitment to a polynomial, with the properties that this commitment can later be opened at any position: the prover shows that the value of the polynomial at a certain position is equal to a claimed value. KZG is widely used as it’s applicable both for univariate and k-variate polynomials, is efficient for batch proofs, and is able to generate many proofs at once relatively fast. It is also proof generation time efficient: the time for prover to commit to a polynomial is linear on the degree of the polynomial. over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.

    2026 October 19, 13:02 UTC
    2changes

    Config: discover the two unverified CRISP ballot verifiers from CRISPProgram's constructor arguments and track the committee size of each committee preset on Interfold. Model ciphernode operators as registry participants instead of multisig members, and resolve the VotingEscrowMultisig plugin's members.

    New and verified contracts

    + Status: CREATED
    contract CrispBallotVerifier (eth:0x6E1eC1e74162D9c141e12B593Cad390aEfFb6bD0) [N/A]
    +++ description: Unverified Honk verifier that CRISPProgram uses for ballot proofs in rounds whose voters are listed in a Merkle tree.
    + Status: CREATED
    contract CrispOnchainBallotVerifier (eth:0xC496A7ee730590D5A7669E251cbE54F5Fc339Ea8) [N/A]
    +++ description: Unverified Honk verifier that CRISPProgram uses for ballot proofs in rounds that read voting power from the token, which includes every DAO vote.
    2026 October 16, 09:52 UTC
    High severity
    159changes

    Interfold v0.19.0 upgrade. L2BEAT reproduced and verified it on Sourcify and Etherscan, with the OpenVM Halo2 verifier from the OpenVM v2.0.2 artifacts. New requests are unpaused , and the crypto config id changed to the new BFV parameter set ( 0xa174862e… ). - coordinator: https://disco.l2beat.com/diff/eth:0xad5C8CA4bd0d086272039400Fa532019A920dD43/eth:0xA1FAB087d7315d2220910C6e0dEcaf659F3f4d2d - pk router: https://disco.l2beat.com/diff/eth:0x7CD10057c25674bd5666A9deEE3193f1b29563d1/eth:0x3E9614e711ee301DAC3FeF7D86031ED015bc406b - decryption router: https://disco.l2beat.com/diff/eth:0xA66CAb7AE230698b2a9ee1E0E967BaD4651FeEa7/eth:0xbbFF7101A3Be43e06b64B00e2e656529E6aDf2eE The ciphertext output is now proven with OpenVM instead of RISC Zero. The OpenVmBfvCiphertextVerifier pins one image ID. The OpenVmReceiptVerifier binds it to fixed app executable and VM commitments, checked by an immutable OpenVM Halo2 verifier. - ciphertext verifier: https://disco.l2beat.com/diff/eth:0x80D217d3b2e16fF2ecc178cC75655C773895c549/eth:0x6cD258E0a893612Aea41c42dC47450ac1A6E2dD1 The DKG and decryption routes point to new secure-8192 wrappers and Honk aggregation verifiers. A new CRISPProgram (eth:0x1EA4dBdec0F2F1E9235915847fc59EF4045EEe28) with OpenVM tally proofs is registered as an E3 program. Its owner, the DAO, can replace its OpenVM verifier immediately. The DAO replaced its Interfold Protocol Proposal pipeline. A new StagedProposalProcessor holds EXECUTE on the DAO. It comes with a new proposal condition and a new CRISP voting plugin. The plugin reads voting power from a new BondedVotes, which gives treasury Safes no voting power. The old processor and CRISP plugin are detached. - CRISP voting: https://disco.l2beat.com/diff/eth:0xb3d51BDe9cB8401cE9C630448Da2619279eF97DA/eth:0x8153c6dce903b3a4a886399d310668fb8c97cec6

    - Status: DELETED
    contract DkgAggregatorVerifier (eth:0x00a586aB1E533e2544daAF4BB7388e176320572F) [interfold/DkgAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV distributed-key-generation aggregation circuit.
    - Status: DELETED
    contract BfvDecryptionVerifier (eth:0x0Be6f92594ee8776C7c658eFA1ec6Ca12F5D9701) [interfold/BfvDecryptionVerifier]
    +++ description: Threshold-decryption proof wrapper. It checks the generated circuit proof and binds its parties and public-key context to the committee recorded by CiphernodeRegistry.
    EOA (eth:0x0dB1A5DA3481Ce66B81FC7A48dD982FA0AcFCC99) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0x160AC642aC8Ef8bd4491d22A46772B773960B4b5) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    - Status: DELETED
    contract DkgAggregatorVerifier (eth:0x1Eba833dd9CBC32c925B4a54DBC7682Ac276f302) [interfold/DkgAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV distributed-key-generation aggregation circuit.
    EOA (eth:0x2048E0750655298E628155Ca5024F0b30D896e51) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0x2358424b1E347f1FAADB7F54C5eB57eeA3A2738d) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    contract Interfold (eth:0x28cF63B459e6218C69EA97ea7D90541cf648c715) [interfold/Interfold] {
    +++ description: Coordinator for Encrypted Execution Environments (E3s). It accepts requests for allowlisted programs, selects a ciphernode committee, snapshots the configured proof system, and verifies the encrypted result and threshold decryption before publishing plaintext output.
    sourceHashes.1:
    - "0x2df58a27c4061f9543d01a5d32f6f88aefd401d25a50c1c574ecae4a01236915"
    + "0xf368ee0ace4e9c82f5dc0c9f99a92a493b1bc3a7325cb27798ad1fcb4e970e9b"
    values.$implementation:
    - "eth:0xad5C8CA4bd0d086272039400Fa532019A920dD43"
    + "eth:0xA1FAB087d7315d2220910C6e0dEcaf659F3f4d2d"
    values.$pastUpgrades.3:
    + ["2026-10-12T13:43:59.000Z","0x0cdf46abaaa48475a18ffd505f6c07d736083ddf936364f4faea18cbef77030c",["eth:0xA1FAB087d7315d2220910C6e0dEcaf659F3f4d2d"]]
    values.$upgradeCount:
    - 3
    + 4
    +++ description: Compiled-in identifier of the BFV parameter set and circuit configuration accepted for new requests. Changing it requires a new implementation.
    +++ severity: HIGH
    values.activeCryptoConfigId:
    - "0xd9c86e581f8291ffb5b63595600e8d096ed30b16e2e0a6634a76c22b1f58fb4e"
    + "0xa174862efd4487031d423ca96516807775ade0191c714e513aab93d0cc289baa"
    +++ description: Verifier used for the encrypted computation output of future BFV E3s.
    +++ severity: HIGH
    values.bfvCiphertextVerifier:
    - "eth:0x80D217d3b2e16fF2ecc178cC75655C773895c549"
    + "eth:0x6cD258E0a893612Aea41c42dC47450ac1A6E2dD1"
    +++ description: Verifier used for BFV threshold-decryption proofs for future E3s.
    +++ severity: HIGH
    values.bfvDecryptionVerifier:
    - "eth:0xA66CAb7AE230698b2a9ee1E0E967BaD4651FeEa7"
    + "eth:0xbbFF7101A3Be43e06b64B00e2e656529E6aDf2eE"
    +++ description: Verifier used for BFV distributed-key-generation proofs for future E3s.
    +++ severity: HIGH
    values.bfvPkVerifier:
    - "eth:0x7CD10057c25674bd5666A9deEE3193f1b29563d1"
    + "eth:0x3E9614e711ee301DAC3FeF7D86031ED015bc406b"
    +++ description: E3 application contracts permanently allowlisted by governance. Registration cannot be revoked in the current implementation.
    values.registeredE3Programs.3:
    + "eth:0x1EA4dBdec0F2F1E9235915847fc59EF4045EEe28"
    +++ description: Whether new E3 requests are disabled.
    values.requestsPaused:
    - true
    + false
    implementationNames.eth:0xad5C8CA4bd0d086272039400Fa532019A920dD43:
    - "Interfold"
    implementationNames.eth:0xA1FAB087d7315d2220910C6e0dEcaf659F3f4d2d:
    + "Interfold"
    }
    EOA (eth:0x2A2Df1e79ec3be51c0B050175E3D897e3911dC42) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0x3394971Ee0cb5bc6336F8C36bc8807CDAA8BB017) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0x34655732dB9BBfA627021D18d786EfF7Bde211F7) {
    +++ description: None
    receivedPermissions.0:
    + {"permission":"interact","from":"eth:0x1EA4dBdec0F2F1E9235915847fc59EF4045EEe28","description":"attest that ballot inputs are available so a CRISP round can proceed.","role":".inputAvailabilitySigner"}
    }
    - Status: DELETED
    contract BfvPkVerifier (eth:0x3C1C772B1D800ff4E6F8d0c02E1e6D07293c0059) [interfold/BfvPkVerifier]
    +++ description: BFV public-key proof wrapper. It binds the generated circuit verifier to the expected DKG-fold and C5 verification-key hashes.
    EOA (eth:0x4429dB606a7c476762E4c7003963603f97a3C031) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    contract InterfoldSafeA (eth:0x5429D8c7fD14023f3c414126F94BbE25A05fC018) [GnosisSafe] {
    +++ description: None
    receivedPermissions.2:
    + {"permission":"interact","from":"eth:0x1EA4dBdec0F2F1E9235915847fc59EF4045EEe28","description":"set census roots and replace the application OpenVM receipt verifier, and with it the image ID, immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.7:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change the settings of the unverified CRISP token-voting plugin used as the IPP voting stage.","role":".crispVotingSettingsManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.10:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed CRISP vote actions to another executor or target.","role":".crispVotingTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.11:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed Interfold Protocol Proposal actions to another executor or target.","role":".ippTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.14:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the address trusted to append the effective caller to IPP proposal transactions.","role":".ippTrustedForwarderManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.16:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the rules that gate creation of Interfold Protocol Proposals.","role":".ippConditionRuleManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.18:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals.","role":".ippStageManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    }
    - Status: DELETED
    contract BfvPkVerifier (eth:0x55F7379898512dEdCc994109a590e7d6a6eB50D8) [interfold/BfvPkVerifier]
    +++ description: BFV public-key proof wrapper. It binds the generated circuit verifier to the expected DKG-fold and C5 verification-key hashes.
    EOA (eth:0x58C40cEC1ebAc2e383B5091ed47fa719a29f00A4) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0x5BA3ef7913D6dD46e2b4EBd8A05eF4615ae8Be5B) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0x5cFc8841C3fBb3CA8dCb2BfBD3a39a98dE5B942a) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0x62b2dF039198096259F8dc619cE5E79507806A00) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    contract InterfoldDAO (eth:0x652a31c669f9AB37f6040f279139a75D04F2679e) [zama/ZamaDAO] {
    +++ description: Aragon DAO that stores governance state and executes proposal action batches.
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.31:
    - {"permissionId":"0x8c433a4cd6b51969eca37f974940894297b9fcf4b282a213fea5cd8f85289c90","where":"eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB","who":"eth:0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF","condition":"eth:0xaE0F1082039E715609495Fdb2265b3B53f1296C9"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.33:
    - {"permissionId":"0xbf04b4486c9663d805744005c3da000eda93de6e3308a4a7a812eb565327b78d","where":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","who":"eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.33:
    + {"permissionId":"0x568cc693d84eb1901f8bcecba154cbdef23ca3cf67efc0a0b698528a06c660f7","where":"eth:0xf101fB197E38f6b3Ca110D619D845634CD88098c","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.34:
    + {"permissionId":"0x2cf8b99554b63927353c04c2e1cee7fe05352aeb3c52d2576a2f7fd7fb8e180a","where":"eth:0xf101fB197E38f6b3Ca110D619D845634CD88098c","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.35:
    + {"permissionId":"0x4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b","where":"eth:0xf101fB197E38f6b3Ca110D619D845634CD88098c","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.36:
    + {"permissionId":"0x6f36f8bf0398781285f5a40c489dbf3268ce3e205aba87f21e49e6805391b5a1","where":"eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.37:
    + {"permissionId":"0xf281525e53675515a6ba7cc7bea8a81e649b3608423ee2d73be1752cea887889","where":"eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3","who":"eth:0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.38:
    + {"permissionId":"0x06d294bc8cbad2e393408b20dd019a772661f60b8d633e56761157cb1ec85f8c","where":"eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.39:
    + {"permissionId":"0x568cc693d84eb1901f8bcecba154cbdef23ca3cf67efc0a0b698528a06c660f7","where":"eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.40:
    + {"permissionId":"0x4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b","where":"eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.41:
    + {"permissionId":"0x8c433a4cd6b51969eca37f974940894297b9fcf4b282a213fea5cd8f85289c90","where":"eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3","who":"eth:0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF","condition":"eth:0x4c9D0A2B8E5917c480bdF3E42F1b1c9365EF2115"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.42:
    + {"permissionId":"0xb014ce248804cab6a144581acce1eeb70ce5d54f08433b989d73bb0ccee3d3f9","where":"eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3","who":"eth:0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.43:
    + {"permissionId":"0xbf04b4486c9663d805744005c3da000eda93de6e3308a4a7a812eb565327b78d","where":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","who":"eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.44:
    + {"permissionId":"0xd3d98e95f3486fc234d80c098cf0d2a0a3fb187833d7e9cc930f8c4f8335a0e7","where":"eth:0x4c9D0A2B8E5917c480bdF3E42F1b1c9365EF2115","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    values.$activePermissions.35.who:
    - "eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB"
    + "eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3"
    values.$activePermissions.35.where:
    - "eth:0x197be4E09614285Abb4b74b672377c404FD44d54"
    + "eth:0xf101fB197E38f6b3Ca110D619D845634CD88098c"
    +++ description: Current grantees allowed to open votes in the CRISP token-voting plugin.
    values.crispVotingProposalCreators.0:
    + "eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3"
    +++ description: Current grantees of the settings-update permission (id 0x2cf8b995...) on the CRISP token-voting plugin.
    values.crispVotingSettingsManagers.0:
    + "eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"
    +++ description: Current grantees allowed to redirect the CRISP token-voting plugin's execution target.
    values.crispVotingTargetManagers.0:
    + "eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"
    +++ description: Current grantees of Aragon's EXECUTE_PERMISSION on this DAO, reconstructed from grant and revoke events.
    values.daoExecutors.2:
    - "eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB"
    + "eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3"
    +++ description: Current grantees allowed to advance Interfold Protocol Proposals whose stage conditions have passed.
    values.ippAdvancers.0:
    + "eth:0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF"
    +++ description: Current grantees allowed to replace the IPP proposal-creation condition rules.
    values.ippConditionRuleManagers.0:
    + "eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"
    +++ description: Current grantees allowed to execute an Interfold Protocol Proposal after its stages have passed.
    values.ippExecutors.0:
    + "eth:0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF"
    +++ description: Current grantees allowed to create Interfold Protocol Proposals. Conditional grants remain visible in $activePermissions.
    values.ippProposalCreators.0:
    + "eth:0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF"
    +++ description: Current grantees allowed to replace the Interfold Protocol Proposal (IPP) staged process.
    values.ippStageManagers.0:
    + "eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"
    +++ description: Current grantees allowed to redirect the IPP processor's execution target.
    values.ippTargetManagers.0:
    + "eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"
    +++ description: Current grantees allowed to replace the IPP processor's trusted meta-transaction forwarder.
    values.ippTrustedForwarderManagers.0:
    + "eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"
    +++ description: Current multisig target-configuration grantees derived from Aragon grant/revoke events.
    +++ severity: HIGH
    values.multisigTargetConfigAdmins.5:
    + {"where":"eth:0xf101fB197E38f6b3Ca110D619D845634CD88098c","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}
    +++ description: Current multisig target-configuration grantees derived from Aragon grant/revoke events.
    +++ severity: HIGH
    values.multisigTargetConfigAdmins.6:
    + {"where":"eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}
    +++ description: Multisig plugins with public proposal creation configured through Aragon grant/revoke events.
    +++ severity: LOW
    values.publicProposalCreators.1:
    - "eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB"
    + "eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3"
    +++ description: Multisig plugins with public proposal execution configured through Aragon grant/revoke events.
    +++ severity: LOW
    values.publicProposalExecutors.3:
    + "eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3"
    directlyReceivedPermissions.7:
    + {"permission":"interact","from":"eth:0x1EA4dBdec0F2F1E9235915847fc59EF4045EEe28","description":"set census roots and replace the application OpenVM receipt verifier, and with it the image ID, immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail.","role":".owner"}
    directlyReceivedPermissions.12:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change the settings of the unverified CRISP token-voting plugin used as the IPP voting stage.","role":".crispVotingSettingsManagers"}
    directlyReceivedPermissions.15:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed CRISP vote actions to another executor or target.","role":".crispVotingTargetManagers"}
    directlyReceivedPermissions.16:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed Interfold Protocol Proposal actions to another executor or target.","role":".ippTargetManagers"}
    directlyReceivedPermissions.19:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the address trusted to append the effective caller to IPP proposal transactions.","role":".ippTrustedForwarderManagers"}
    directlyReceivedPermissions.21:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the rules that gate creation of Interfold Protocol Proposals.","role":".ippConditionRuleManagers"}
    directlyReceivedPermissions.23:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals.","role":".ippStageManagers"}
    }
    - Status: DELETED
    contract BfvPkVerifier (eth:0x67DDfB579EB5dC7df9B3f7Cfd942f325a792Afc3) [interfold/BfvPkVerifier]
    +++ description: BFV public-key proof wrapper. It binds the generated circuit verifier to the expected DKG-fold and C5 verification-key hashes.
    EOA (eth:0x69760AF47771F8F763B5E3cb88601C197b0ee235) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0x6B035c1b0B099555284C8676e48e2C3CB8b3d4B0) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0x76f3491D36138450F957b03F657dDa258Ad4c0E7) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0x780c1bB4Abc6F4324813e58a52C9d2FEF055ef78) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    - Status: DELETED
    contract BfvPkVerifierRouter (eth:0x7CD10057c25674bd5666A9deEE3193f1b29563d1) [interfold/BfvPkVerifierRouter]
    +++ description: Immutable router for BFV distributed-key-generation proofs. It forwards each proof to the per-committee-size BfvPkVerifier whose public-input length and circuit verification-key hashes match, so committees of every supported size share one verifier entry point.
    EOA (eth:0x7E94eEd05e81679F69dA44157a45F0528DA9Ce66) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    - Status: DELETED
    contract Risc0BfvCiphertextVerifier (eth:0x80D217d3b2e16fF2ecc178cC75655C773895c549) [interfold/Risc0BfvCiphertextVerifier]
    +++ description: Ciphertext-output verifier for BFV E3s. It accepts a RISC Zero receipt for the immutable guest image ID against the E3-specific journal constructed by Interfold.
    - Status: DELETED
    contract BfvDecryptionVerifier (eth:0x86ba053b37a844FcD2dd52aBC69fc4D69D965Ad8) [interfold/BfvDecryptionVerifier]
    +++ description: Threshold-decryption proof wrapper. It checks the generated circuit proof and binds its parties and public-key context to the committee recorded by CiphernodeRegistry.
    EOA (eth:0x86FBE1027577A343c1C9DcCAEc470d2B613cB347) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    contract InterfoldSafeB (eth:0x8B43b2852fc5031D01DDfCDF702973D93A2FF593) [GnosisSafe] {
    +++ description: None
    receivedPermissions.2:
    + {"permission":"interact","from":"eth:0x1EA4dBdec0F2F1E9235915847fc59EF4045EEe28","description":"set census roots and replace the application OpenVM receipt verifier, and with it the image ID, immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.7:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change the settings of the unverified CRISP token-voting plugin used as the IPP voting stage.","role":".crispVotingSettingsManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.10:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed CRISP vote actions to another executor or target.","role":".crispVotingTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.11:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed Interfold Protocol Proposal actions to another executor or target.","role":".ippTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.14:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the address trusted to append the effective caller to IPP proposal transactions.","role":".ippTrustedForwarderManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.16:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the rules that gate creation of Interfold Protocol Proposals.","role":".ippConditionRuleManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.18:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals.","role":".ippStageManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    }
    EOA (eth:0x8DEeF8799921D549BAC469aD6d37912DBeB2432a) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0x9aCc89CCD297064779C4e0f1c353079975C731b6) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    contract PublicStagedProposalProcessor (eth:0x9c0Ff283399Bd1D3111E6c9C689066759b7AccDb) [interfold/StagedProposalProcessor] {
    +++ description: Upgradeable Aragon staged-proposal plugin that executes DAO actions after proposals pass its configured sequence of voting or manual bodies, thresholds and timing windows.
    receivedPermissions.2:
    + {"permission":"interact","from":"eth:0x1EA4dBdec0F2F1E9235915847fc59EF4045EEe28","description":"set census roots and replace the application OpenVM receipt verifier, and with it the image ID, immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.8:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change the settings of the unverified CRISP token-voting plugin used as the IPP voting stage.","role":".crispVotingSettingsManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.12:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed CRISP vote actions to another executor or target.","role":".crispVotingTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.13:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed Interfold Protocol Proposal actions to another executor or target.","role":".ippTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.16:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the address trusted to append the effective caller to IPP proposal transactions.","role":".ippTrustedForwarderManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.18:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the rules that gate creation of Interfold Protocol Proposals.","role":".ippConditionRuleManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.20:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals.","role":".ippStageManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    }
    EOA (eth:0x9D129a1733ab0f56460cCCfdC807C797b5a1a53c) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    contract NodeReleaseRegistry (eth:0x9E1C6B433CFbC8f28d80EAB583C428B01d083b0A) [interfold/NodeReleaseRegistry] {
    +++ description: Registry of ciphernode software releases. Operators self-attest the release they run; staying eligible for new E3 committees requires an attestation matching the exact governance-set protocol version and at least the required node generation. Raising the requirement instantly invalidates every operator's cached eligibility until they re-attest.
    +++ description: Minimum ciphernode software generation operators must attest to remain eligible.
    values.requiredNodeGeneration:
    - 1
    + 2
    +++ description: Exact ciphernode protocol version operators must attest to remain eligible.
    values.requiredProtocolVersion:
    - 4
    + 8
    }
    - Status: DELETED
    contract BfvDecryptionVerifierRouter (eth:0xA66CAb7AE230698b2a9ee1E0E967BaD4651FeEa7) [interfold/BfvDecryptionVerifierRouter]
    +++ description: Immutable router for BFV threshold-decryption proofs. It forwards each proof to the per-committee-size BfvDecryptionVerifier whose public-input length and circuit verification-key hashes match, so committees of every supported size share one verifier entry point.
    - Status: DELETED
    contract DkgAggregatorVerifier (eth:0xaC784625D32Ce7840D3f0EBD7E5832ea34C188C0) [interfold/DkgAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV distributed-key-generation aggregation circuit.
    EOA (eth:0xAF92b142F15eb873f7D1d9F05c8c9b1855698249) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    - Status: DELETED
    contract DecryptionAggregatorVerifier (eth:0xbeF207838845b227394Eb46579372FEE5E2a95fd) [interfold/DecryptionAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV threshold-decryption aggregation circuit.
    EOA (eth:0xBf11E6B5be2ff90CDC6860BAe7941e44aa52DEc3) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    - Status: DELETED
    contract DecryptionAggregatorVerifier (eth:0xBFAE594dc43f4b910F478ec00D285B8daC66855F) [interfold/DecryptionAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV threshold-decryption aggregation circuit.
    contract ProtocolProposalProcessor (eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3) [interfold/StagedProposalProcessor] {
    +++ description: Upgradeable Aragon staged-proposal plugin that executes DAO actions after proposals pass its configured sequence of voting or manual bodies, thresholds and timing windows.
    +++ description: Index of the stage configuration used by newly created proposals. Existing proposals retain their earlier snapshot.
    values.getCurrentConfigIndex:
    - 0
    + 1
    +++ description: Latest proposal-stage configuration reconstructed from events, including voting bodies, approval and veto thresholds, timing windows, and edit/cancel flags.
    values.currentStages:
    + [[[["eth:0xf101fB197E38f6b3Ca110D619D845634CD88098c",false,true,1]],1296000,0,432000,1,0,false,false],[[["eth:0x8B43b2852fc5031D01DDfCDF702973D93A2FF593",true,false,1]],432000,0,0,1,0,false,false]]
    receivedPermissions:
    + [{"permission":"interact","from":"eth:0x0ec90465095C21830BEcED07e032809A2Bd2915F","description":"replace collateral assets and protocol dependencies; change bond, ticket, eligibility and exit parameters; set the committee-admission cooldown or pause admissions to future committees; authorize slashing managers and reward distributors; clear bans from old managers; withdraw slashed funds; and replace the slashed-funds treasury.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x1940eF168f4E0B3dA24BEca539856684793B0F6e","description":"change the work-allocation split, coordinator and treasury without an onchain delay.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x1EA4dBdec0F2F1E9235915847fc59EF4045EEe28","description":"set census roots and replace the application OpenVM receipt verifier, and with it the image ID, immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x28cF63B459e6218C69EA97ea7D90541cf648c715","description":"pause or unpause new requests; replace the registry, bonding, slashing, refund and node-release dependencies; allow fee assets and E3 programs; replace proof verifiers; and change pricing (including the flat randomness fee), timeouts, parameter sets and committee thresholds without an onchain delay.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x53FCdb21E73A461CfE6c64B19855204384B91BA3","description":"set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change multisig plugin target execution configuration.","role":".multisigTargetConfigAdmins","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change multisig plugin target execution configuration.","role":".multisigTargetConfigAdmins"},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change support, participation, duration, proposer-power and minimum-approval requirements for future votes.","role":".tokenVotingSettingsManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change the settings of the unverified CRISP token-voting plugin used as the IPP voting stage.","role":".crispVotingSettingsManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"grant and revoke permissions in the DAO.","role":".daoRootHolders","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"open a CRISP token vote using the caller-supplied proposal payload.","role":".crispVotingProposalCreators"},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect calls made by the Admin plugin to another executor or target.","role":".adminTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed CRISP vote actions to another executor or target.","role":".crispVotingTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed Interfold Protocol Proposal actions to another executor or target.","role":".ippTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed proposal actions to another executor or target.","role":".sppTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed vote actions to another executor or target.","role":".tokenVotingTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the address trusted to append the effective caller to IPP proposal transactions.","role":".ippTrustedForwarderManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the address trusted to append the effective caller to proposal transactions.","role":".sppTrustedForwarderManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the rules that gate creation of Interfold Protocol Proposals.","role":".ippConditionRuleManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the rules that gate public creation of staged proposals.","role":".conditionRuleManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals.","role":".ippStageManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the stages, bodies, thresholds and timing rules for future public proposals.","role":".sppStageManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4","description":"create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove operator bans.","role":".governanceMembers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4","description":"replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay.","role":".defaultAdmins","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x847A22303639017bcDB7F7E49EEa4a4629c1169f","description":"set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9E1C6B433CFbC8f28d80EAB583C428B01d083b0A","description":"raise the required ciphernode protocol version and node generation, which instantly invalidates every operator's cached eligibility until they attest the new release. The requirement can only increase, and only while new E3 requests are paused and no E3s or committees are active.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"change cooldowns and exit fees and upgrade the voting-escrow exit queue.","role":".exitQueueAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"change multisig plugin settings.","role":".multisigSettingsAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"change multisig plugin target execution configuration.","role":".multisigTargetConfigAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"change transfer whitelist settings and upgrade the voting-lock NFT.","role":".lockAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"change voting epochs and upgrade the voting-escrow Clock.","role":".clockAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"change voting-power curve parameters and upgrade the Curve implementation.","role":".curveAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"complete queued voting-escrow withdrawals.","role":".exitQueueWithdrawers","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"grant and revoke permissions in the voting-escrow DAO.","role":".veDaoRootHolders","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"manage gauge metadata and the voting-power update hook.","role":".gaugeAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"pause and unpause voting-escrow operations.","role":".votingEscrowPausers","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"pause the escrow voting-power adapter, manage delegation settings and upgrade its implementation.","role":".votesAdapterAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"replace voting-power dependencies, change minimum deposits and split rules, and upgrade VotingEscrow.","role":".votingEscrowAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"sweep unaccounted tokens and NFTs from VotingEscrow.","role":".votingEscrowSweepers","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"update delegated voting power through the escrow voting adapter.","role":".delegationTokenManagers","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0xC0B5b49a3949eC4B520eF21BaCFE16e3695F3B5D","description":"schedule and activate a registry replacement after one day when all ticket liabilities are zero, and rescue ERC-20s other than the underlying sUSDS.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0xC60919F8Bd128B76E11F4B071C8c38e1391a3e00","description":"replace the Chainlink VRF coordinator that delivers the sortition entropy.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"replace the coordinator, bonding, slashing and randomness-provider dependencies; add or remove ciphernodes; change the sortition window and randomness timeout; and update the DKG verifier and accusation-vote validity parameters. DKG-verifier replacement and risk-reducing accusation-window changes use a two-day propose/commit delay, while other changes are immediate. Randomness settings can only change while new requests are paused and no committees are outstanding.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x0ec90465095C21830BEcED07e032809A2Bd2915F","role":"admin","via":[{"address":"eth:0xf1511Fc32abf7Bd3a3213ddCF08C07259b53972b"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x1940eF168f4E0B3dA24BEca539856684793B0F6e","role":"admin","via":[{"address":"eth:0x9393573a9EF85c9A37d91E32702a340084A48b6E"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x28cF63B459e6218C69EA97ea7D90541cf648c715","role":"admin","via":[{"address":"eth:0xB3985D7fF844FA0F5E0aaC5feb5DD8BE15e88580"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","role":".daoUpgraders","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".clockAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".curveAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".exitQueueAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".gaugeUpgraders","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".lockAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".veDaoUpgraders","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".votesAdapterAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".votingEscrowAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","role":"admin","via":[{"address":"eth:0x2DFb93A8C3cE68Be3d8129479d7870646d89aDa7"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}]
    directlyReceivedPermissions:
    + [{"permission":"act","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"execute arbitrary calls from the DAO, including calls to protocol owners and ProxyAdmins.","role":".daoExecutors"}]
    }
    contract CiphernodeRegistry (eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7) [interfold/CiphernodeRegistry] {
    +++ description: Registry of ciphernodes and E3 committees. It performs ticket-weighted committee selection (admitting at most one operator key per bond owner, and only when the BondingRegistry counts at least as many distinct active bond owners as the committee size), records DKG (distributed key generation) proof anchors and the committee public key (to which cyphertexts can be encrypted), and tracks committee viability. Sortition entropy is supplied asynchronously by a governance-set randomness provider.
    values.unreleasedCommitteeCount:
    - 0
    + 2
    }
    EOA (eth:0xcD34cF9C66F524c91A14e67D3eF68157f809Abf7) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0xd99672d25e783F245D3E0183581fAae0c154B8b6) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0xDa1D20efb36e7F3bb47CEDbF471feB099051e717) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    - Status: DELETED
    contract DecryptionAggregatorVerifier (eth:0xEB4D0d5FfbDD508d6FF352255DCFc7b13FA28EC0) [interfold/DecryptionAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV threshold-decryption aggregation circuit.
    contract CrispTokenVoting (eth:0xf101fB197E38f6b3Ca110D619D845634CD88098c) [interfold/CrispVoting] {
    +++ description: Upgradeable Aragon voting plugin from the interfold-crisp plugin repo. Votes are cast as encrypted CRISP ballots and tallied through an Interfold E3, so individual votes stay confidential to the ciphernode committee threshold. Used as the token-holder voting stage of the Interfold Protocol Proposal path.
    values.getCurrentTargetConfig.target:
    - "eth:0x0000000000000000000000000000000000000000"
    + "eth:0x56ce4D8006292Abf418291FaE813C1E3769240A4"
    values.getCurrentTargetConfig.operation:
    - 0
    + 1
    values.getTargetConfig.target:
    - "eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"
    + "eth:0x56ce4D8006292Abf418291FaE813C1E3769240A4"
    values.getTargetConfig.operation:
    - 0
    + 1
    receivedPermissions:
    + [{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change multisig plugin target execution configuration.","role":".multisigTargetConfigAdmins"}]
    }
    contract AdminPlugin (eth:0xF21e25455988887EE797050080141eba67B33920) [interfold/AdminPlugin] {
    +++ description: Non-upgradeable Aragon Admin plugin. Holders of its DAO-granted EXECUTE_PROPOSAL permission can submit actions that the plugin forwards immediately, without a vote or onchain delay.
    receivedPermissions.2:
    + {"permission":"interact","from":"eth:0x1EA4dBdec0F2F1E9235915847fc59EF4045EEe28","description":"set census roots and replace the application OpenVM receipt verifier, and with it the image ID, immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.8:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change the settings of the unverified CRISP token-voting plugin used as the IPP voting stage.","role":".crispVotingSettingsManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.11:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed CRISP vote actions to another executor or target.","role":".crispVotingTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.12:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed Interfold Protocol Proposal actions to another executor or target.","role":".ippTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.15:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the address trusted to append the effective caller to IPP proposal transactions.","role":".ippTrustedForwarderManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.17:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the rules that gate creation of Interfold Protocol Proposals.","role":".ippConditionRuleManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.19:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals.","role":".ippStageManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    }
    - Status: DELETED
    contract BfvDecryptionVerifier (eth:0xf6ed505997d2F572717f5E946b70efd65D55c986) [interfold/BfvDecryptionVerifier]
    +++ description: Threshold-decryption proof wrapper. It checks the generated circuit proof and binds its parties and public-key context to the committee recorded by CiphernodeRegistry.
    EOA (eth:0xfbe2eEB95eb083F89bBb1C9c384328d9cfE43d47) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0xfC16c9513bB6b4FE7978723bB2468E99D8A34d70) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0xFcEdB9Af33A338A80DA84785023BfDb988CaAd6E) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0xFD97D727CdF9867944de554E45499D5162bDBfAc) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    EOA (eth:0xFF79709339F5dBCA606c8b9D4940390d61cB4B29) {
    +++ description: None
    receivedPermissions.1:
    - {"permission":"member","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"eligible for ticket-weighted selection into E3 committees, where selected members create key shares and participate in threshold decryption.","role":".$members"}
    }
    + Status: CREATED
    contract DkgAggregatorVerifier (eth:0x0a4D70bBD4e71b9e515Efc417F423c64D85197cb) [interfold/DkgAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV distributed-key-generation aggregation circuit.
    + Status: CREATED
    contract BfvDecryptionVerifier (eth:0x194A489c918b74F11C6b03e12Ea26F198110f9A5) [interfold/BfvDecryptionVerifier]
    +++ description: Threshold-decryption proof wrapper. It checks the generated circuit proof and binds its parties and public-key context to the committee recorded by CiphernodeRegistry.
    + Status: CREATED
    contract CRISPProgram (eth:0x1EA4dBdec0F2F1E9235915847fc59EF4045EEe28) [interfold/CRISPProgramOpenVm]
    +++ description: CRISP encrypted-ballot E3 application. It verifies ballot eligibility and encryption proofs, commits ciphertext inputs, checks that an OpenVM tally proof is bound to its input root and parameters, and decodes the threshold-decrypted tally.
    + Status: CREATED
    contract BfvDecryptionVerifier (eth:0x31715a243b80484629040592Eaff619729E98B39) [interfold/BfvDecryptionVerifier]
    +++ description: Threshold-decryption proof wrapper. It checks the generated circuit proof and binds its parties and public-key context to the committee recorded by CiphernodeRegistry.
    + Status: CREATED
    contract BfvPkVerifierRouter (eth:0x3E9614e711ee301DAC3FeF7D86031ED015bc406b) [interfold/BfvPkVerifierRouter]
    +++ description: Immutable router for BFV distributed-key-generation proofs. It forwards each proof to the per-committee-size BfvPkVerifier whose public-input length and circuit verification-key hashes match, so committees of every supported size share one verifier entry point.
    + Status: CREATED
    contract BfvDecryptionVerifier (eth:0x43c65d641A693962c942407A2834A7d923cEE1d8) [interfold/BfvDecryptionVerifier]
    +++ description: Threshold-decryption proof wrapper. It checks the generated circuit proof and binds its parties and public-key context to the committee recorded by CiphernodeRegistry.
    + Status: CREATED
    contract BfvPkVerifier (eth:0x5b93A3D59f8D65548748fc303f75a21b082EB2f4) [interfold/BfvPkVerifier]
    +++ description: BFV public-key proof wrapper. It binds the generated circuit verifier to the expected DKG-fold and C5 verification-key hashes.
    + Status: CREATED
    contract BfvPkVerifier (eth:0x5CcE227e613A41239b7E07764ad8b5a1cCA0a2CE) [interfold/BfvPkVerifier]
    +++ description: BFV public-key proof wrapper. It binds the generated circuit verifier to the expected DKG-fold and C5 verification-key hashes.
    + Status: CREATED
    contract DecryptionAggregatorVerifier (eth:0x769C243b712aD4D844bCbAed3981F7C24fA64Ada) [interfold/DecryptionAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV threshold-decryption aggregation circuit.
    + Status: CREATED
    contract DkgAggregatorVerifier (eth:0x7987EF7cd79478Ee1ed51A279eEF46D2996a793c) [interfold/DkgAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV distributed-key-generation aggregation circuit.
    + Status: CREATED
    contract BfvPkVerifier (eth:0x8d4c0bd5c796a5FEd7C419deA56f6A88EdB51023) [interfold/BfvPkVerifier]
    +++ description: BFV public-key proof wrapper. It binds the generated circuit verifier to the expected DKG-fold and C5 verification-key hashes.
    + Status: CREATED
    contract AvailVectorXDataAvailabilityVerifier (eth:0x9B5088112Ae1D682782236486290120E27Eb32e3) [interfold/AvailVectorXDataAvailabilityVerifier]
    +++ description: Immutable verifier of Avail blob inclusion used by the CRISP program to attest that encrypted ballot inputs were published. It checks inclusion proofs against the Avail bridge and VectorX light-client contracts fixed at deployment.
    + Status: CREATED
    contract DkgAggregatorVerifier (eth:0xBb643dC305794364E435C883B6DC1E7666dA4fEc) [interfold/DkgAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV distributed-key-generation aggregation circuit.
    + Status: CREATED
    contract BfvDecryptionVerifierRouter (eth:0xbbFF7101A3Be43e06b64B00e2e656529E6aDf2eE) [interfold/BfvDecryptionVerifierRouter]
    +++ description: Immutable router for BFV threshold-decryption proofs. It forwards each proof to the per-committee-size BfvDecryptionVerifier whose public-input length and circuit verification-key hashes match, so committees of every supported size share one verifier entry point.
    + Status: CREATED
    contract DecryptionAggregatorVerifier (eth:0xbe012465a45179170cFb863405427f8ecAcb5C80) [interfold/DecryptionAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV threshold-decryption aggregation circuit.
    + Status: CREATED
    contract DecryptionAggregatorVerifier (eth:0xC590b979c9BDA89f87443EBE134321272a5dD013) [interfold/DecryptionAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV threshold-decryption aggregation circuit.

    New and verified contracts

    + Status: CREATED
    contract OpenVmReceiptVerifier (eth:0x0dd5E45414629F0f7D757cbb0310A9cfdc5B400b) [interfold/OpenVmReceiptVerifier]
    +++ description: Immutable OpenVM receipt verifier. It checks a Halo2 proof whose only public value is the journal digest, bound to one OpenVM executable and VM commitment.
    + Status: CREATED
    contract ProtocolProposalCondition (eth:0x4c9D0A2B8E5917c480bdF3E42F1b1c9365EF2115) [interfold/SPPRuleCondition]
    +++ description: Aragon condition attached to the public CREATE_PROPOSAL permission. Its mutable rule program determines which callers and proposal calls qualify for the otherwise-public grant.
    + Status: CREATED
    contract OpenVmBfvCiphertextVerifier (eth:0x6cD258E0a893612Aea41c42dC47450ac1A6E2dD1) [interfold/OpenVmBfvCiphertextVerifier]
    +++ description: Ciphertext-output verifier for BFV E3s. It accepts an OpenVM proof for the immutable guest image ID against the E3-specific journal constructed by Interfold.
    + Status: CREATED
    contract BondedVotes (eth:0x6Cd2976AD3d908E503c6D93A5E010392E25DcFB6) [interfold/BondedVotes]
    +++ description: Voting-power adapter used by PublicTokenVoting. It counts voting-escrow power, FOLD bonded to ciphernode operators, and eligible vesting-locked wallet FOLD while using FOLD total supply as the quorum denominator.
    + Status: CREATED
    contract OpenVmHalo2Verifier (eth:0x75cECF62f1ADe2C7b95d5a93460f450c6885F904) [interfold/OpenVmHalo2Verifier]
    +++ description: Immutable Halo2 verifier generated by the OpenVM 2.0 SDK. It checks the final proof of an OpenVM execution against the app executable and VM commitments passed by the caller.
    + Status: CREATED
    contract ProtocolProposalProcessor (eth:0xc19635aD8De0a0D6430025fC5ed212CA8216bab3) [interfold/StagedProposalProcessor]
    +++ description: Upgradeable Aragon staged-proposal plugin that executes DAO actions after proposals pass its configured sequence of voting or manual bodies, thresholds and timing windows.
    + Status: CREATED
    contract CrispTokenVoting (eth:0xf101fB197E38f6b3Ca110D619D845634CD88098c) [interfold/CrispVoting]
    +++ description: Upgradeable Aragon voting plugin from the interfold-crisp plugin repo. Votes are cast as encrypted CRISP ballots and tallied through an Interfold E3, so individual votes stay confidential to the ciphernode committee threshold. Used as the token-holder voting stage of the Interfold Protocol Proposal path.
    2026 October 12, 07:18 UTC
    8changes

    Three operator keys joined the registries. The valid active-operator count rose from 70 to 74.

    contract BondingRegistry (eth:0x0ec90465095C21830BEcED07e032809A2Bd2915F) [interfold/BondingRegistry] {
    +++ description: Collateral registry for ciphernode operators. Operators become eligible by depositing ticket collateral backed by sUSDS and a FOLD bond, and by attesting a current software release in the NodeReleaseRegistry; the contract also enforces exits, committee obligations, bans and slashing debits. It checkpoints bond ownership so that committee sortition admits at most one operator key per bond owner, and applies an owner-set admission policy (cooldown and pause) to future committees.
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.72:
    + "eth:0xDb78ebaB8597AF977B686E540DCe734E613Eba88"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.73:
    + "eth:0x86Ab0b3C4A36cAB3037d750C850D660cE710e2a1"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.74:
    + "eth:0x516C12B6D622A62166bDe3580628d6d23ae5b310"
    +++ description: Number of operators whose active status is valid under the current eligibility-configuration version. Unlike activeOperators, this drops immediately when the version is bumped, so it is the signal for a mass invalidation.
    values.numActiveOperators:
    - 70
    + 74
    }
    contract CiphernodeRegistry (eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7) [interfold/CiphernodeRegistry] {
    +++ description: Registry of ciphernodes and E3 committees. It performs ticket-weighted committee selection (admitting at most one operator key per bond owner, and only when the BondingRegistry counts at least as many distinct active bond owners as the committee size), records DKG (distributed key generation) proof anchors and the committee public key (to which cyphertexts can be encrypted), and tracks committee viability. Sortition entropy is supplied asynchronously by a governance-set randomness provider.
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of up to the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition, with at most one key per request-time bond owner.
    values.$members.72:
    + "eth:0xDb78ebaB8597AF977B686E540DCe734E613Eba88"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of up to the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition, with at most one key per request-time bond owner.
    values.$members.73:
    + "eth:0x86Ab0b3C4A36cAB3037d750C850D660cE710e2a1"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of up to the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition, with at most one key per request-time bond owner.
    values.$members.74:
    + "eth:0x516C12B6D622A62166bDe3580628d6d23ae5b310"
    values.unreleasedCommitteeCount:
    - 2
    + 0
    }
    2026 October 01, 10:27 UTC
    High severity
    44changes

    BondingRegistry and CiphernodeRegistry upgraded. The same tx enabled a 3-day admission cooldown. - BondingRegistry: checkpoints bond-owner history and counts distinct active bond owners. New owner-set admission policy: a cooldown for newly registered or re-owned keys, and an admission pause. New E3 requests are blocked until all operators have refreshed after an eligibility bump. diff - CiphernodeRegistry: sortition admits at most one key per bond owner, and new requests need at least N distinct active bond owners. diff - 12 new ciphernode operators (72 registered). - The protocol was unpaused by InterfoldSafeB (via AdminPlugin, no delay) on 2026-09-25 right after the upgrade and paused again on 2026-09-29, after one new E3 was requested (earlier window 2026-09-19 to 09-22). Requests are currently paused.

    contract BondingRegistry (eth:0x0ec90465095C21830BEcED07e032809A2Bd2915F) [interfold/BondingRegistry] {
    +++ description: Collateral registry for ciphernode operators. Operators become eligible by depositing ticket collateral backed by sUSDS and a FOLD bond, and by attesting a current software release in the NodeReleaseRegistry; the contract also enforces exits, committee obligations, bans and slashing debits. It checkpoints bond ownership so that committee sortition admits at most one operator key per bond owner, and applies an owner-set admission policy (cooldown and pause) to future committees.
    sourceHashes.1:
    - "0xb97dc60ab9865caddf8025162df9c53ea501692873fbef50c57733bea73c86ab"
    + "0x80851d52a1fd2a24e68aaf0931069f80c737f25dcfb52c3a02aec5a6d6b3f155"
    values.$implementation:
    - "eth:0x290d5156AAa23cbEb458751A73688d2375220Ad2"
    + "eth:0x3Bb4420311fe1AD580a6971B0731Cf1825b914db"
    values.$pastUpgrades.4:
    + ["2026-09-24T18:43:35.000Z","0x8e6d53a9137ad0cb441aef11b4752abfa936258661668d1b2692bf6c2678b4a2",["eth:0x3Bb4420311fe1AD580a6971B0731Cf1825b914db"]]
    values.$upgradeCount:
    - 4
    + 5
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.58:
    + "eth:0x88ED57A03E98931a81dBa7A9Bc2dc95B48929E45"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.59:
    + "eth:0xA2bA6A63335cdB2789b0e636987Ce12C3D44662a"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.60:
    + "eth:0x1d4205bc727E4f3799B25d0FEAe8e45d365858b1"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.61:
    + "eth:0xAF062fC363c3AE910ec76676346f798792bEB851"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.62:
    + "eth:0xba7254CC6c70AE1D99aEa3ecA705E81635aaA988"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.63:
    + "eth:0x60cd23981430e4909957EA1fB214E9A21468175A"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.64:
    + "eth:0x73F8511492fE99B1d3b230B1015e22db53DaA9a1"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.65:
    + "eth:0x29a540E858500fd6ee2B68EE63769b0bB0A05CF4"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.66:
    + "eth:0x3Dedb602A8997B89685803Dff207566C9883FE0F"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.67:
    + "eth:0x856F8E59dEd8386C57f48a55b007F21F89724CFC"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.68:
    + "eth:0xd333232f08d6a8A4f7Cee8327476DbeDDDF20554"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.69:
    + "eth:0xb8d9Bf1b6C283D29dC3dC5711C9036F6896a963A"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.70:
    + "eth:0x9E2558B76c7D7CF169556A1a729C2CB0324f0E61"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.71:
    + "eth:0x15de07b6280ae5F5D37F6d77dF88c37875ef2877"
    +++ description: Number of operators whose active status is valid under the current eligibility-configuration version. Unlike activeOperators, this drops immediately when the version is bumped, so it is the signal for a mass invalidation.
    values.numActiveOperators:
    - 56
    + 70
    +++ description: Latest admission policy for future committees. With the cooldown enabled, an operator key that registers or changes bond owner is not eligible for sortition until cooldownDuration (unbounded) has passed; keys registered before the upgrade and not re-owned since are exempt. Pausing admissions freezes the eligible pool (and the cooldown settings applied to it) at the pause time. Every change resets the bond-owner capacity count, which blocks new E3 requests until enough operators refresh their status.
    values.admissionPolicy:
    + {"cooldownEnabled":true,"admissionsPaused":false,"cooldownDuration":259200,"pauseTimepoint":0,"pauseCooldownEnabled":false,"pauseCooldownDuration":0}
    errors:
    - {"admissionPolicy":"Processing error occurred.","committeeOwnerCapacity":"Processing error occurred."}
    implementationNames.eth:0x290d5156AAa23cbEb458751A73688d2375220Ad2:
    - "BondingRegistry"
    implementationNames.eth:0x3Bb4420311fe1AD580a6971B0731Cf1825b914db:
    + "BondingRegistry"
    }
    EOA (eth:0x88ED57A03E98931a81dBa7A9Bc2dc95B48929E45) {
    +++ description: None
    receivedPermissions.0:
    + {"permission":"member","from":"eth:0x0ec90465095C21830BEcED07e032809A2Bd2915F","description":"submit one chosen eligible ticket per E3 sortition and be selected for ciphernode committee duties.","role":".activeOperators"}
    }
    EOA (eth:0xA2bA6A63335cdB2789b0e636987Ce12C3D44662a) {
    +++ description: None
    receivedPermissions.0:
    + {"permission":"member","from":"eth:0x0ec90465095C21830BEcED07e032809A2Bd2915F","description":"submit one chosen eligible ticket per E3 sortition and be selected for ciphernode committee duties.","role":".activeOperators"}
    }
    contract CiphernodeRegistry (eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7) [interfold/CiphernodeRegistry] {
    +++ description: Registry of ciphernodes and E3 committees. It performs ticket-weighted committee selection (admitting at most one operator key per bond owner, and only when the BondingRegistry counts at least as many distinct active bond owners as the committee size), records DKG (distributed key generation) proof anchors and the committee public key (to which cyphertexts can be encrypted), and tracks committee viability. Sortition entropy is supplied asynchronously by a governance-set randomness provider.
    sourceHashes.1:
    - "0xaaf0cc5a82e6d85f4cb4d4b1cdfe655456ddfd34d6a347cf23f5f5acb505fd7c"
    + "0x15fc7691fe2aef9e081c0a4c84c36701c7f1777903a9cd07d2598b200a683055"
    values.$implementation:
    - "eth:0xD9A3224D829a4ac8b55A75C539fD447AC4B05Bf2"
    + "eth:0x8354E51d14C118f6386C3F6F73E79190D71FFA3A"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of up to the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition, with at most one key per request-time bond owner.
    values.$members.60:
    + "eth:0x1d4205bc727E4f3799B25d0FEAe8e45d365858b1"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of up to the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition, with at most one key per request-time bond owner.
    values.$members.61:
    + "eth:0xAF062fC363c3AE910ec76676346f798792bEB851"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of up to the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition, with at most one key per request-time bond owner.
    values.$members.62:
    + "eth:0xba7254CC6c70AE1D99aEa3ecA705E81635aaA988"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of up to the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition, with at most one key per request-time bond owner.
    values.$members.63:
    + "eth:0x60cd23981430e4909957EA1fB214E9A21468175A"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of up to the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition, with at most one key per request-time bond owner.
    values.$members.64:
    + "eth:0x73F8511492fE99B1d3b230B1015e22db53DaA9a1"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of up to the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition, with at most one key per request-time bond owner.
    values.$members.65:
    + "eth:0x29a540E858500fd6ee2B68EE63769b0bB0A05CF4"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of up to the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition, with at most one key per request-time bond owner.
    values.$members.66:
    + "eth:0x3Dedb602A8997B89685803Dff207566C9883FE0F"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of up to the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition, with at most one key per request-time bond owner.
    values.$members.67:
    + "eth:0x856F8E59dEd8386C57f48a55b007F21F89724CFC"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of up to the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition, with at most one key per request-time bond owner.
    values.$members.68:
    + "eth:0xd333232f08d6a8A4f7Cee8327476DbeDDDF20554"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of up to the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition, with at most one key per request-time bond owner.
    values.$members.69:
    + "eth:0xb8d9Bf1b6C283D29dC3dC5711C9036F6896a963A"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of up to the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition, with at most one key per request-time bond owner.
    values.$members.70:
    + "eth:0x9E2558B76c7D7CF169556A1a729C2CB0324f0E61"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of up to the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition, with at most one key per request-time bond owner.
    values.$members.71:
    + "eth:0x15de07b6280ae5F5D37F6d77dF88c37875ef2877"
    values.$pastUpgrades.3:
    + ["2026-09-24T18:43:35.000Z","0x8e6d53a9137ad0cb441aef11b4752abfa936258661668d1b2692bf6c2678b4a2",["eth:0x8354E51d14C118f6386C3F6F73E79190D71FFA3A"]]
    values.$upgradeCount:
    - 3
    + 4
    values.unreleasedCommitteeCount:
    - 1
    + 2
    implementationNames.eth:0xD9A3224D829a4ac8b55A75C539fD447AC4B05Bf2:
    - "CiphernodeRegistryOwnable"
    implementationNames.eth:0x8354E51d14C118f6386C3F6F73E79190D71FFA3A:
    + "CiphernodeRegistryOwnable"
    }
    2026 September 22, 15:12 UTC
    High severity
    305changes

    Upgraded all Interfold contracts across the board to unverified implementations. We went ahead and verified them for you on etherscan. The protocol was shortly unpaused to test it and then re-paused. Changes look like incremental small in-prod development of their protocol. Read on for detailed AI change descriptions and diff links. - https://disco.l2beat.com/diff/eth:0xA7e1f2693b3b5038e505396Dbd21d6c26ECa8aA2/eth:0xad5C8CA4bd0d086272039400Fa532019A920dD43 Interfold: the BFV parameter set, committee sizes and thresholds become compiled-in constants of the ActiveCryptoConfig library (removing the owner-settable committee thresholds and param-set registry), with the lifecycle and pricing logic in external libraries. - https://disco.l2beat.com/diff/eth:0xFff476751949a7e1B784b5c88648833c1e8dD69c/eth:0xD9A3224D829a4ac8b55A75C539fD447AC4B05Bf2 CiphernodeRegistry: exposes the randomness circuit-breaker state (randomnessDegraded) and relinks the sortition library. - https://disco.l2beat.com/diff/eth:0xd89D3fE1b53eF95111c0E68A8CeFDfd20EcCA53a/eth:0x290d5156AAa23cbEb458751A73688d2375220Ad2 BondingRegistry: identical source redeployed against freshly deployed bonding libraries. - https://disco.l2beat.com/diff/eth:0xE506249Ba5ede04A68b702b92704a0b88054f86A/eth:0x7C85D6C39EdAfCE6398fF1299b2a1eaBa0645870 E3RefundManager: drops the MAX PROTOCOL BPS constant and relinks the refund-claim library. - https://disco.l2beat.com/diff/eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9/eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4 SlashingManager: new deployment authorized in the BondingRegistry in place of the old manager, which was deauthorized; the DAO holds its default-admin and governance roles. - https://disco.l2beat.com/diff/eth:0xa0273f884816dfF0BE9B5ED50aB3AA29D6AaA712/eth:0xC60919F8Bd128B76E11F4B071C8c38e1391a3e00 RandomnessProvider: new Chainlink VRF v2.5 consumer on a new subscription, with the CiphernodeRegistry as its only requester and the DAO as owner. - https://disco.l2beat.com/diff/eth:0xBA1854fDA7A5c127606572e43Dc7B37b7A15bdFf/eth:0x7CD10057c25674bd5666A9deEE3193f1b29563d1 BFV public-key verifier: single-committee wrapper replaced by a router over three per-committee-size verifiers with new Honk circuit verifiers and verification keys. - https://disco.l2beat.com/diff/eth:0xf143b969ea481Ccf251194D15F82007C67AABc53/eth:0xA66CAb7AE230698b2a9ee1E0E967BaD4651FeEa7 BFV decryption verifier: single-committee wrapper replaced by a router over three per-committee-size verifiers with new Honk circuit verifiers and verification keys. - https://disco.l2beat.com/diff/eth:0x40a18Fc27ac4a4d86fA70385c6814e453b6BFF2c/eth:0x80D217d3b2e16fF2ecc178cC75655C773895c549 Ciphertext verifier: same RISC Zero wrapper redeployed with a new guest image ID against a new RISC Zero verifier.

    contract BondingRegistry (eth:0x0ec90465095C21830BEcED07e032809A2Bd2915F) [interfold/BondingRegistry] {
    +++ description: Collateral registry for ciphernode operators. Operators become eligible by depositing ticket collateral backed by sUSDS and a FOLD bond, and by attesting a current software release in the NodeReleaseRegistry; the contract also enforces exits, committee obligations, bans and slashing debits.
    values.$implementation:
    - "eth:0xd89D3fE1b53eF95111c0E68A8CeFDfd20EcCA53a"
    + "eth:0x290d5156AAa23cbEb458751A73688d2375220Ad2"
    values.$pastUpgrades.3:
    + ["2026-09-18T13:15:47.000Z","0x975b5104729480bdf914304ce81726041e27450580fab4cd2f2750b7f0848047",["eth:0x290d5156AAa23cbEb458751A73688d2375220Ad2"]]
    values.$upgradeCount:
    - 3
    + 4
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.21:
    + "eth:0xc6E48712E56F6E9548c54a0A983eBe992eFA26Bd"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.22:
    + "eth:0x1fD2b3d4a9f4Aeb62877cab9dF70A5a6e976b118"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.23:
    + "eth:0x9EC16384b956D7B2A71284711FD32d156e6b33c6"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.24:
    + "eth:0xd2b46ceC7b4d8046eF2D7bCb32aF3220Ef7bc1dd"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.25:
    + "eth:0xd3336047DCf4d7C7393b3BF5Fa47A31478C22d47"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.26:
    + "eth:0xd698bC33a4A98a019881c6e2664f1dAc62c4B3B5"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.27:
    + "eth:0x76f3491D36138450F957b03F657dDa258Ad4c0E7"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.28:
    + "eth:0x2048E0750655298E628155Ca5024F0b30D896e51"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.29:
    + "eth:0x69760AF47771F8F763B5E3cb88601C197b0ee235"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.30:
    + "eth:0xAF92b142F15eb873f7D1d9F05c8c9b1855698249"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.31:
    + "eth:0xBf11E6B5be2ff90CDC6860BAe7941e44aa52DEc3"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.32:
    + "eth:0x8DEeF8799921D549BAC469aD6d37912DBeB2432a"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.33:
    + "eth:0xfbe2eEB95eb083F89bBb1C9c384328d9cfE43d47"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.34:
    + "eth:0x3394971Ee0cb5bc6336F8C36bc8807CDAA8BB017"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.35:
    + "eth:0x9D129a1733ab0f56460cCCfdC807C797b5a1a53c"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.36:
    + "eth:0x160AC642aC8Ef8bd4491d22A46772B773960B4b5"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.37:
    + "eth:0x0dB1A5DA3481Ce66B81FC7A48dD982FA0AcFCC99"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.38:
    + "eth:0x4429dB606a7c476762E4c7003963603f97a3C031"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.39:
    + "eth:0xd99672d25e783F245D3E0183581fAae0c154B8b6"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.40:
    + "eth:0x62b2dF039198096259F8dc619cE5E79507806A00"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.41:
    + "eth:0x5BA3ef7913D6dD46e2b4EBd8A05eF4615ae8Be5B"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.42:
    + "eth:0x780c1bB4Abc6F4324813e58a52C9d2FEF055ef78"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.43:
    + "eth:0xfC16c9513bB6b4FE7978723bB2468E99D8A34d70"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.44:
    + "eth:0x9aCc89CCD297064779C4e0f1c353079975C731b6"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.45:
    + "eth:0xFD97D727CdF9867944de554E45499D5162bDBfAc"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.46:
    + "eth:0x5cFc8841C3fBb3CA8dCb2BfBD3a39a98dE5B942a"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.47:
    + "eth:0xcD34cF9C66F524c91A14e67D3eF68157f809Abf7"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.48:
    + "eth:0x6B035c1b0B099555284C8676e48e2C3CB8b3d4B0"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.49:
    + "eth:0x86FBE1027577A343c1C9DcCAEc470d2B613cB347"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.50:
    + "eth:0x2358424b1E347f1FAADB7F54C5eB57eeA3A2738d"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.51:
    + "eth:0xFcEdB9Af33A338A80DA84785023BfDb988CaAd6E"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.52:
    + "eth:0x7E94eEd05e81679F69dA44157a45F0528DA9Ce66"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.53:
    + "eth:0xFF79709339F5dBCA606c8b9D4940390d61cB4B29"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.54:
    + "eth:0x2A2Df1e79ec3be51c0B050175E3D897e3911dC42"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.55:
    + "eth:0xDa1D20efb36e7F3bb47CEDbF471feB099051e717"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.56:
    + "eth:0x58C40cEC1ebAc2e383B5091ed47fa719a29f00A4"
    +++ description: Operator keys currently active under the collateral, release-attestation and ban rules, reconstructed from activation events. Eligibility-configuration bumps invalidate all cached statuses without emitting events, so entries here may still await re-activation.
    values.activeOperators.57:
    + "eth:0x5Fb0854aB8fb2810b80d3DE276b3107a9e5281b1"
    +++ description: Contracts currently authorized to debit ticket collateral and FOLD bonds, ban operators and manage slash-routing state.
    values.authorizedSlashingManagerAt.0:
    - "eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9"
    + "eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4"
    +++ description: Number of operators whose active status is valid under the current eligibility-configuration version. Unlike activeOperators, this drops immediately when the version is bumped, so it is the signal for a mass invalidation.
    values.numActiveOperators:
    - 19
    + 56
    values.slashingManager:
    - "eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9"
    + "eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4"
    implementationNames.eth:0xd89D3fE1b53eF95111c0E68A8CeFDfd20EcCA53a:
    - "BondingRegistry"
    implementationNames.eth:0x290d5156AAa23cbEb458751A73688d2375220Ad2:
    + "BondingRegistry"
    }
    contract E3RefundManager (eth:0x1940eF168f4E0B3dA24BEca539856684793B0F6e) [interfold/E3RefundManager] {
    +++ description: Upgradeable accounting contract that snapshots the refund policy for each E3 and distributes request fees and routed slashed funds between the requester, honest committee members, protocol treasury and reserve.
    sourceHashes.1:
    - "0x9a5f2a5ae202a5a570f526127420fdcc919af6dc90b48df309bb1b7cfaa9ec7d"
    + "0xd28721fb9cf579c4c833f3afdb1da2f3bc70caa34698f245340fc5f4e44376cf"
    values.$implementation:
    - "eth:0xE506249Ba5ede04A68b702b92704a0b88054f86A"
    + "eth:0x7C85D6C39EdAfCE6398fF1299b2a1eaBa0645870"
    values.$pastUpgrades.1:
    + ["2026-09-18T13:15:47.000Z","0x975b5104729480bdf914304ce81726041e27450580fab4cd2f2750b7f0848047",["eth:0x7C85D6C39EdAfCE6398fF1299b2a1eaBa0645870"]]
    values.$upgradeCount:
    - 1
    + 2
    implementationNames.eth:0xE506249Ba5ede04A68b702b92704a0b88054f86A:
    - "E3RefundManager"
    implementationNames.eth:0x7C85D6C39EdAfCE6398fF1299b2a1eaBa0645870:
    + "E3RefundManager"
    }
    contract CrispTokenVoting (eth:0x197be4E09614285Abb4b74b672377c404FD44d54) [interfold/CrispVoting] {
    +++ description: Upgradeable Aragon voting plugin from the interfold-crisp plugin repo. Votes are cast as encrypted CRISP ballots and tallied through an Interfold E3, so individual votes stay confidential to the ciphernode committee threshold. Used as the token-holder voting stage of the Interfold Protocol Proposal path.
    type:
    - "EOA"
    + "Contract"
    proxyType:
    - "EOA"
    + "EIP1967 proxy"
    template:
    + "interfold/CrispVoting"
    sourceHashes:
    + ["0xe38a79e097149d54c3a08cd674ba5ffe929d1e8fc3c0c6c436ab5df7efcb1858","0xecff8c39cdcec83b40ee88c043bf1143a72e9b910e8114977165e96405acc736"]
    description:
    + "Upgradeable Aragon voting plugin from the interfold-crisp plugin repo. Votes are cast as encrypted CRISP ballots and tallied through an Interfold E3, so individual votes stay confidential to the ciphernode committee threshold. Used as the token-holder voting stage of the Interfold Protocol Proposal path."
    deployerAddress:
    + "eth:0x34655732dB9BBfA627021D18d786EfF7Bde211F7"
    sinceTimestamp:
    + 1789746143
    sinceBlock:
    + 26005353
    values:
    + {"$admin":"eth:0x0000000000000000000000000000000000000000","$implementation":"eth:0xb3d51BDe9cB8401cE9C630448Da2619279eF97DA","$pastUpgrades":[["2026-09-18T15:42:23.000Z","0x14398bbef18acce0287611f2ca745ea56d594f1554d5fc868aeadbabcb220c48",["eth:0xb3d51BDe9cB8401cE9C630448Da2619279eF97DA"]]],"$upgradeCount":1,"availabilityFinalizationWindow":10800,"CREATE_PROPOSAL_PERMISSION_ID":"0x8c433a4cd6b51969eca37f974940894297b9fcf4b282a213fea5cd8f85289c90","customProposalParamsABI":"(uint256 allowFailureMap)","dao":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","earliestVotingStart":1790115719,"getCurrentTargetConfig":{"target":"eth:0x56ce4D8006292Abf418291FaE813C1E3769240A4","operation":1},"getE3Settings":[2,1,"0x7b226e616d65223a225249534330222c22706172616c6c656c223a66616c73652c2262617463685f73697a65223a347d"],"getMetadata":"0x","getTargetConfig":{"target":"eth:0x56ce4D8006292Abf418291FaE813C1E3769240A4","operation":1},"getVotingToken":"eth:0x028deEA644258c78b1B5B2eacF469F5D781Fb43E","implementation":"eth:0xb3d51BDe9cB8401cE9C630448Da2619279eF97DA","interfold":"eth:0x28cF63B459e6218C69EA97ea7D90541cf648c715","interfoldFeeToken":"eth:0xdC035D45d973E3EC169d2276DDab16f1e407384F","MANAGER_PERMISSION_ID":"0x2cf8b99554b63927353c04c2e1cee7fe05352aeb3c52d2576a2f7fd7fb8e180a","minDuration":432000,"minParticipation":2,"minProposerVotingPower":0,"minVoterVotingPower":1,"pluginType":0,"protocolVersion":[1,4,0],"SET_METADATA_PERMISSION_ID":"0x4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b","SET_TARGET_CONFIG_PERMISSION_ID":"0x568cc693d84eb1901f8bcecba154cbdef23ca3cf67efc0a0b698528a06c660f7","supportThreshold":51,"UPGRADE_PLUGIN_PERMISSION_ID":"0x821b6e3a557148015a918c89e5d092e878a69854a2d1a410635f771bd5a8a3f5"}
    fieldMeta:
    + {"dao":{"description":"Aragon DAO whose permission manager controls the plugin's settings, target and upgrades."},"interfold":{"description":"E3 coordinator that runs the encrypted tally."},"interfoldFeeToken":{"description":"ERC-20 in which E3 request fees for each vote are paid to Interfold. Its own protocol is outside this discovery perimeter."},"getVotingToken":{"description":"IVotes source used for proposal snapshots and vote weights."},"getE3Settings":{"description":"Committee size class, BFV parameter set and program parameters requested for each vote's E3.","type":"RISK_PARAMETER"},"supportThreshold":{"description":"Required yes-vote share for a proposal to pass, in the plugin's ratio base.","type":"RISK_PARAMETER"},"minParticipation":{"description":"Minimum participating voting power relative to the snapshotted total supply, in the plugin's ratio base.","type":"RISK_PARAMETER"},"minDuration":{"description":"Minimum voting duration in seconds.","type":"RISK_PARAMETER"},"minProposerVotingPower":{"description":"Minimum voting power the creator must hold at the proposal snapshot.","type":"RISK_PARAMETER"},"minVoterVotingPower":{"description":"Minimum voting power required to cast a ballot.","type":"RISK_PARAMETER"},"availabilityFinalizationWindow":{"description":"Time after voting ends reserved for finalizing ballot data availability before the tally.","type":"RISK_PARAMETER"},"getTargetConfig":{"description":"Execution target and call operation for passed votes.","type":"CODE_CHANGE"}}
    implementationNames:
    + {"eth:0x197be4E09614285Abb4b74b672377c404FD44d54":"ERC1967Proxy","eth:0xb3d51BDe9cB8401cE9C630448Da2619279eF97DA":"CrispVoting"}
    category:
    + {"name":"Governance","priority":3}
    receivedPermissions:
    + [{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change multisig plugin target execution configuration.","role":".multisigTargetConfigAdmins"}]
    }
    contract Interfold (eth:0x28cF63B459e6218C69EA97ea7D90541cf648c715) [interfold/Interfold] {
    +++ description: Coordinator for Encrypted Execution Environments (E3s). It accepts requests for allowlisted programs, selects a ciphernode committee, snapshots the configured proof system, and verifies the encrypted result and threshold decryption before publishing plaintext output.
    sourceHashes.1:
    - "0xd3737346baa5d40f73aea8a15668e65fc210c6fbb56ddf2c8d8f6a0386d0a6f9"
    + "0x2df58a27c4061f9543d01a5d32f6f88aefd401d25a50c1c574ecae4a01236915"
    values.$implementation:
    - "eth:0xA7e1f2693b3b5038e505396Dbd21d6c26ECa8aA2"
    + "eth:0xad5C8CA4bd0d086272039400Fa532019A920dD43"
    values.$pastUpgrades.2:
    + ["2026-09-18T13:15:47.000Z","0x975b5104729480bdf914304ce81726041e27450580fab4cd2f2750b7f0848047",["eth:0xad5C8CA4bd0d086272039400Fa532019A920dD43"]]
    values.$upgradeCount:
    - 2
    + 3
    +++ description: Compiled-in identifier of the BFV parameter set and circuit configuration accepted for new requests. Changing it requires a new implementation.
    +++ severity: HIGH
    values.activeCryptoConfigId:
    - "0x04f3677e73b0f5066d6caf5cbd92e3fb2e38338edaf5cfc971ab28f7b684da78"
    + "0xd9c86e581f8291ffb5b63595600e8d096ed30b16e2e0a6634a76c22b1f58fb4e"
    +++ description: Verifier used for the encrypted computation output of future BFV E3s.
    +++ severity: HIGH
    values.bfvCiphertextVerifier:
    - "eth:0x40a18Fc27ac4a4d86fA70385c6814e453b6BFF2c"
    + "eth:0x80D217d3b2e16fF2ecc178cC75655C773895c549"
    +++ description: Verifier used for BFV threshold-decryption proofs for future E3s.
    +++ severity: HIGH
    values.bfvDecryptionVerifier:
    - "eth:0xf143b969ea481Ccf251194D15F82007C67AABc53"
    + "eth:0xA66CAb7AE230698b2a9ee1E0E967BaD4651FeEa7"
    +++ description: Verifier used for BFV distributed-key-generation proofs for future E3s.
    +++ severity: HIGH
    values.bfvPkVerifier:
    - "eth:0xBA1854fDA7A5c127606572e43Dc7B37b7A15bdFf"
    + "eth:0x7CD10057c25674bd5666A9deEE3193f1b29563d1"
    values.getPricingConfig.minCommitteeSize:
    - 3
    + 19
    +++ description: Committee size of the compiled-in active BFV configuration; the matching decryption threshold and assumed-honest count are constants of the ActiveCryptoConfig library in the verified source and are not readable onchain.
    +++ severity: HIGH
    values.MAX_COMMITTEE_SIZE:
    - 3
    + 19
    +++ description: E3 application contracts permanently allowlisted by governance. Registration cannot be revoked in the current implementation.
    values.registeredE3Programs.2:
    + "eth:0x53FCdb21E73A461CfE6c64B19855204384B91BA3"
    values.slashingManager:
    - "eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9"
    + "eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4"
    implementationNames.eth:0xA7e1f2693b3b5038e505396Dbd21d6c26ECa8aA2:
    - "Interfold"
    implementationNames.eth:0xad5C8CA4bd0d086272039400Fa532019A920dD43:
    + "Interfold"
    }
    contract ProtocolProposalProcessor (eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB) [interfold/StagedProposalProcessor] {
    +++ description: Upgradeable Aragon staged-proposal plugin that executes DAO actions after proposals pass its configured sequence of voting or manual bodies, thresholds and timing windows.
    type:
    - "EOA"
    + "Contract"
    proxyType:
    - "EOA"
    + "EIP1967 proxy"
    template:
    + "interfold/StagedProposalProcessor"
    sourceHashes:
    + ["0xe38a79e097149d54c3a08cd674ba5ffe929d1e8fc3c0c6c436ab5df7efcb1858","0x001b18ae4604ab644ca37dc856974c6b97fb66cfbff5f17ade7109694d1ee295"]
    description:
    + "Upgradeable Aragon staged-proposal plugin that executes DAO actions after proposals pass its configured sequence of voting or manual bodies, thresholds and timing windows."
    deployerAddress:
    + "eth:0x34655732dB9BBfA627021D18d786EfF7Bde211F7"
    sinceTimestamp:
    + 1789739891
    sinceBlock:
    + 26004832
    values:
    + {"$admin":"eth:0x0000000000000000000000000000000000000000","$implementation":"eth:0xCB895791C84484530d9fC9f68652b9bCC9D5288d","$pastUpgrades":[["2026-09-18T13:58:11.000Z","0xfd3ee0f421e7a4249d48359bf6219ae42c60e0898e0b907887c4c314bb4154a6",["eth:0xCB895791C84484530d9fC9f68652b9bCC9D5288d"]]],"$upgradeCount":1,"currentStages":[[[["eth:0x197be4E09614285Abb4b74b672377c404FD44d54",false,true,1]],1036800,0,432000,1,0,false,false],[[["eth:0x8B43b2852fc5031D01DDfCDF702973D93A2FF593",true,false,1]],432000,0,0,1,0,false,false]],"customProposalParamsABI":"(bytes[][] subBodiesCustomProposalParamsABI)","dao":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","getCurrentConfigIndex":1,"getCurrentTargetConfig":{"target":"eth:0x0000000000000000000000000000000000000000","operation":0},"getMetadata":"0x697066733a2f2f516d534559616f58524c753275743261426b4342353237634c5156356f77314a55696a3448786b52595842643259","getTargetConfig":{"target":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","operation":0},"getTrustedForwarder":"eth:0x0000000000000000000000000000000000000000","implementation":"eth:0xCB895791C84484530d9fC9f68652b9bCC9D5288d","pluginType":0,"protocolVersion":[1,4,0],"SET_METADATA_PERMISSION_ID":"0x4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b","SET_TARGET_CONFIG_PERMISSION_ID":"0x568cc693d84eb1901f8bcecba154cbdef23ca3cf67efc0a0b698528a06c660f7","UPGRADE_PLUGIN_PERMISSION_ID":"0x821b6e3a557148015a918c89e5d092e878a69854a2d1a410635f771bd5a8a3f5"}
    fieldMeta:
    + {"dao":{"description":"Aragon DAO whose permission manager controls proposal creation, configuration, advancement and upgrades."},"currentStages":{"description":"Latest proposal-stage configuration reconstructed from events, including voting bodies, approval and veto thresholds, timing windows, and edit/cancel flags.","type":"RISK_PARAMETER"},"getCurrentConfigIndex":{"description":"Index of the stage configuration used by newly created proposals. Existing proposals retain their earlier snapshot."},"getCurrentTargetConfig":{"description":"Stored target and call operation for passed proposal actions. A zero target resolves to the DAO; delegatecall changes the security context.","type":"CODE_CHANGE"},"getTrustedForwarder":{"description":"Address trusted to append the effective caller to proposal transactions."}}
    implementationNames:
    + {"eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB":"ERC1967Proxy","eth:0xCB895791C84484530d9fC9f68652b9bCC9D5288d":"StagedProposalProcessor"}
    category:
    + {"name":"Governance","priority":3}
    receivedPermissions:
    + [{"permission":"interact","from":"eth:0x0ec90465095C21830BEcED07e032809A2Bd2915F","description":"replace collateral assets and protocol dependencies; change bond, ticket, eligibility and exit parameters; authorize slashing managers and reward distributors; clear bans from old managers; withdraw slashed funds; and replace the slashed-funds treasury.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x1940eF168f4E0B3dA24BEca539856684793B0F6e","description":"change the work-allocation split, coordinator and treasury without an onchain delay.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x28cF63B459e6218C69EA97ea7D90541cf648c715","description":"pause or unpause new requests; replace the registry, bonding, slashing, refund and node-release dependencies; allow fee assets and E3 programs; replace proof verifiers; and change pricing (including the flat randomness fee), timeouts, parameter sets and committee thresholds without an onchain delay.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x53FCdb21E73A461CfE6c64B19855204384B91BA3","description":"set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change multisig plugin target execution configuration.","role":".multisigTargetConfigAdmins","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change multisig plugin target execution configuration.","role":".multisigTargetConfigAdmins"},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change support, participation, duration, proposer-power and minimum-approval requirements for future votes.","role":".tokenVotingSettingsManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change the settings of the unverified CRISP token-voting plugin used as the IPP voting stage.","role":".crispVotingSettingsManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"grant and revoke permissions in the DAO.","role":".daoRootHolders","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"open a CRISP token vote using the caller-supplied proposal payload.","role":".crispVotingProposalCreators"},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect calls made by the Admin plugin to another executor or target.","role":".adminTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed CRISP vote actions to another executor or target.","role":".crispVotingTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed Interfold Protocol Proposal actions to another executor or target.","role":".ippTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed proposal actions to another executor or target.","role":".sppTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed vote actions to another executor or target.","role":".tokenVotingTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the address trusted to append the effective caller to IPP proposal transactions.","role":".ippTrustedForwarderManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the address trusted to append the effective caller to proposal transactions.","role":".sppTrustedForwarderManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the rules that gate creation of Interfold Protocol Proposals.","role":".ippConditionRuleManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the rules that gate public creation of staged proposals.","role":".conditionRuleManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals.","role":".ippStageManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the stages, bodies, thresholds and timing rules for future public proposals.","role":".sppStageManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4","description":"create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove operator bans.","role":".governanceMembers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4","description":"replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay.","role":".defaultAdmins","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x847A22303639017bcDB7F7E49EEa4a4629c1169f","description":"set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9E1C6B433CFbC8f28d80EAB583C428B01d083b0A","description":"raise the required ciphernode protocol version and node generation, which instantly invalidates every operator's cached eligibility until they attest the new release. The requirement can only increase, and only while new E3 requests are paused and no E3s or committees are active.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"change cooldowns and exit fees and upgrade the voting-escrow exit queue.","role":".exitQueueAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"change multisig plugin settings.","role":".multisigSettingsAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"change multisig plugin target execution configuration.","role":".multisigTargetConfigAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"change transfer whitelist settings and upgrade the voting-lock NFT.","role":".lockAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"change voting epochs and upgrade the voting-escrow Clock.","role":".clockAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"change voting-power curve parameters and upgrade the Curve implementation.","role":".curveAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"complete queued voting-escrow withdrawals.","role":".exitQueueWithdrawers","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"grant and revoke permissions in the voting-escrow DAO.","role":".veDaoRootHolders","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"manage gauge metadata and the voting-power update hook.","role":".gaugeAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"pause and unpause voting-escrow operations.","role":".votingEscrowPausers","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"pause the escrow voting-power adapter, manage delegation settings and upgrade its implementation.","role":".votesAdapterAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"replace voting-power dependencies, change minimum deposits and split rules, and upgrade VotingEscrow.","role":".votingEscrowAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"sweep unaccounted tokens and NFTs from VotingEscrow.","role":".votingEscrowSweepers","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","description":"update delegated voting power through the escrow voting adapter.","role":".delegationTokenManagers","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0xC0B5b49a3949eC4B520eF21BaCFE16e3695F3B5D","description":"schedule and activate a registry replacement after one day when all ticket liabilities are zero, and rescue ERC-20s other than the underlying sUSDS.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0xC60919F8Bd128B76E11F4B071C8c38e1391a3e00","description":"replace the Chainlink VRF coordinator that delivers the sortition entropy.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"interact","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"replace the coordinator, bonding, slashing and randomness-provider dependencies; add or remove ciphernodes; change the sortition window and randomness timeout; and update the DKG verifier and accusation-vote validity parameters. DKG-verifier replacement and risk-reducing accusation-window changes use a two-day propose/commit delay, while other changes are immediate. Randomness settings can only change while new requests are paused and no committees are outstanding.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x0ec90465095C21830BEcED07e032809A2Bd2915F","role":"admin","via":[{"address":"eth:0xf1511Fc32abf7Bd3a3213ddCF08C07259b53972b"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x1940eF168f4E0B3dA24BEca539856684793B0F6e","role":"admin","via":[{"address":"eth:0x9393573a9EF85c9A37d91E32702a340084A48b6E"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x28cF63B459e6218C69EA97ea7D90541cf648c715","role":"admin","via":[{"address":"eth:0xB3985D7fF844FA0F5E0aaC5feb5DD8BE15e88580"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","role":".daoUpgraders","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".clockAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".curveAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".exitQueueAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".gaugeUpgraders","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".lockAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".veDaoUpgraders","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".votesAdapterAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B","role":".votingEscrowAdmins","via":[{"address":"eth:0x9e9617418DFb9E4daD00E2D1e8f21e214901989B"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]},{"permission":"upgrade","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","role":"admin","via":[{"address":"eth:0x2DFb93A8C3cE68Be3d8129479d7870646d89aDa7"},{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}]
    directlyReceivedPermissions:
    + [{"permission":"act","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"execute arbitrary calls from the DAO, including calls to protocol owners and ProxyAdmins.","role":".daoExecutors"}]
    }
    - Status: DELETED
    contract DecryptionAggregatorVerifier (eth:0x53Fc34b412E16A1aE05A86934b821F82ca2a10da) [interfold/DecryptionAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV threshold-decryption aggregation circuit.
    contract InterfoldSafeA (eth:0x5429D8c7fD14023f3c414126F94BbE25A05fC018) [GnosisSafe] {
    +++ description: None
    receivedPermissions.3:
    + {"permission":"interact","from":"eth:0x53FCdb21E73A461CfE6c64B19855204384B91BA3","description":"set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.6:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change the settings of the unverified CRISP token-voting plugin used as the IPP voting stage.","role":".crispVotingSettingsManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.9:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed CRISP vote actions to another executor or target.","role":".crispVotingTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.10:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed Interfold Protocol Proposal actions to another executor or target.","role":".ippTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.13:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the address trusted to append the effective caller to IPP proposal transactions.","role":".ippTrustedForwarderManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.15:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the rules that gate creation of Interfold Protocol Proposals.","role":".ippConditionRuleManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.17:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals.","role":".ippStageManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.19:
    + {"permission":"interact","from":"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4","description":"create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove operator bans.","role":".governanceMembers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.20:
    + {"permission":"interact","from":"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4","description":"replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay.","role":".defaultAdmins","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.13:
    - {"permission":"interact","from":"eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9","description":"create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove operator bans.","role":".governanceMembers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.14:
    - {"permission":"interact","from":"eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9","description":"replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay.","role":".defaultAdmins","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.30:
    - {"permission":"interact","from":"eth:0xa0273f884816dfF0BE9B5ED50aB3AA29D6AaA712","description":"replace the Chainlink VRF coordinator that delivers the sortition entropy.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.38:
    + {"permission":"interact","from":"eth:0xC60919F8Bd128B76E11F4B071C8c38e1391a3e00","description":"replace the Chainlink VRF coordinator that delivers the sortition entropy.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    }
    contract InterfoldDAO (eth:0x652a31c669f9AB37f6040f279139a75D04F2679e) [zama/ZamaDAO] {
    +++ description: Aragon DAO that stores governance state and executes proposal action batches.
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.23:
    + {"permissionId":"0x568cc693d84eb1901f8bcecba154cbdef23ca3cf67efc0a0b698528a06c660f7","where":"eth:0x197be4E09614285Abb4b74b672377c404FD44d54","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.24:
    + {"permissionId":"0x2cf8b99554b63927353c04c2e1cee7fe05352aeb3c52d2576a2f7fd7fb8e180a","where":"eth:0x197be4E09614285Abb4b74b672377c404FD44d54","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.25:
    + {"permissionId":"0x4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b","where":"eth:0x197be4E09614285Abb4b74b672377c404FD44d54","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.26:
    + {"permissionId":"0x6f36f8bf0398781285f5a40c489dbf3268ce3e205aba87f21e49e6805391b5a1","where":"eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.27:
    + {"permissionId":"0xf281525e53675515a6ba7cc7bea8a81e649b3608423ee2d73be1752cea887889","where":"eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB","who":"eth:0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.28:
    + {"permissionId":"0x06d294bc8cbad2e393408b20dd019a772661f60b8d633e56761157cb1ec85f8c","where":"eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.29:
    + {"permissionId":"0x568cc693d84eb1901f8bcecba154cbdef23ca3cf67efc0a0b698528a06c660f7","where":"eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.30:
    + {"permissionId":"0x4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b","where":"eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.31:
    + {"permissionId":"0x8c433a4cd6b51969eca37f974940894297b9fcf4b282a213fea5cd8f85289c90","where":"eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB","who":"eth:0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF","condition":"eth:0xaE0F1082039E715609495Fdb2265b3B53f1296C9"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.32:
    + {"permissionId":"0xb014ce248804cab6a144581acce1eeb70ce5d54f08433b989d73bb0ccee3d3f9","where":"eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB","who":"eth:0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.33:
    + {"permissionId":"0xbf04b4486c9663d805744005c3da000eda93de6e3308a4a7a812eb565327b78d","where":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","who":"eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.34:
    + {"permissionId":"0xd3d98e95f3486fc234d80c098cf0d2a0a3fb187833d7e9cc930f8c4f8335a0e7","where":"eth:0xaE0F1082039E715609495Fdb2265b3B53f1296C9","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Active Aragon grants reconstructed from Granted and Revoked events. The permissionId, target contract (where), grantee (who), and optional condition are preserved.
    +++ severity: HIGH
    values.$activePermissions.35:
    + {"permissionId":"0x8c433a4cd6b51969eca37f974940894297b9fcf4b282a213fea5cd8f85289c90","where":"eth:0x197be4E09614285Abb4b74b672377c404FD44d54","who":"eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB","condition":"eth:0x0000000000000000000000000000000000000002"}
    +++ description: Current grantees allowed to open votes in the CRISP token-voting plugin.
    values.crispVotingProposalCreators.0:
    + "eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB"
    +++ description: Current grantees of the settings-update permission (id 0x2cf8b995...) on the CRISP token-voting plugin.
    values.crispVotingSettingsManagers.0:
    + "eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"
    +++ description: Current grantees allowed to redirect the CRISP token-voting plugin's execution target.
    values.crispVotingTargetManagers.0:
    + "eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"
    +++ description: Current grantees of Aragon's EXECUTE_PERMISSION on this DAO, reconstructed from grant and revoke events.
    values.daoExecutors.2:
    + "eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB"
    +++ description: Current grantees allowed to advance Interfold Protocol Proposals whose stage conditions have passed.
    values.ippAdvancers.0:
    + "eth:0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF"
    +++ description: Current grantees allowed to replace the IPP proposal-creation condition rules.
    values.ippConditionRuleManagers.0:
    + "eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"
    +++ description: Current grantees allowed to execute an Interfold Protocol Proposal after its stages have passed.
    values.ippExecutors.0:
    + "eth:0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF"
    +++ description: Current grantees allowed to create Interfold Protocol Proposals. Conditional grants remain visible in $activePermissions.
    values.ippProposalCreators.0:
    + "eth:0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF"
    +++ description: Current grantees allowed to replace the Interfold Protocol Proposal (IPP) staged process.
    values.ippStageManagers.0:
    + "eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"
    +++ description: Current grantees allowed to redirect the IPP processor's execution target.
    values.ippTargetManagers.0:
    + "eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"
    +++ description: Current grantees allowed to replace the IPP processor's trusted meta-transaction forwarder.
    values.ippTrustedForwarderManagers.0:
    + "eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"
    +++ description: Current multisig target-configuration grantees derived from Aragon grant/revoke events.
    +++ severity: HIGH
    values.multisigTargetConfigAdmins.3:
    + {"where":"eth:0x197be4E09614285Abb4b74b672377c404FD44d54","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}
    +++ description: Current multisig target-configuration grantees derived from Aragon grant/revoke events.
    +++ severity: HIGH
    values.multisigTargetConfigAdmins.4:
    + {"where":"eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB","who":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}
    +++ description: Multisig plugins with public proposal creation configured through Aragon grant/revoke events.
    +++ severity: LOW
    values.publicProposalCreators.1:
    + "eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB"
    +++ description: Multisig plugins with public proposal execution configured through Aragon grant/revoke events.
    +++ severity: LOW
    values.publicProposalExecutors.2:
    + "eth:0x364686f83d7cCEdf88B881B23d4437D1652A8FfB"
    directlyReceivedPermissions.8:
    + {"permission":"interact","from":"eth:0x53FCdb21E73A461CfE6c64B19855204384B91BA3","description":"set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail.","role":".owner"}
    directlyReceivedPermissions.11:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change the settings of the unverified CRISP token-voting plugin used as the IPP voting stage.","role":".crispVotingSettingsManagers"}
    directlyReceivedPermissions.14:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed CRISP vote actions to another executor or target.","role":".crispVotingTargetManagers"}
    directlyReceivedPermissions.15:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed Interfold Protocol Proposal actions to another executor or target.","role":".ippTargetManagers"}
    directlyReceivedPermissions.18:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the address trusted to append the effective caller to IPP proposal transactions.","role":".ippTrustedForwarderManagers"}
    directlyReceivedPermissions.20:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the rules that gate creation of Interfold Protocol Proposals.","role":".ippConditionRuleManagers"}
    directlyReceivedPermissions.22:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals.","role":".ippStageManagers"}
    directlyReceivedPermissions.24:
    + {"permission":"interact","from":"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4","description":"create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove operator bans.","role":".governanceMembers"}
    directlyReceivedPermissions.25:
    + {"permission":"interact","from":"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4","description":"replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay.","role":".defaultAdmins"}
    directlyReceivedPermissions.18:
    - {"permission":"interact","from":"eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9","description":"create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove operator bans.","role":".governanceMembers"}
    directlyReceivedPermissions.19:
    - {"permission":"interact","from":"eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9","description":"replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay.","role":".defaultAdmins"}
    directlyReceivedPermissions.21:
    - {"permission":"interact","from":"eth:0xa0273f884816dfF0BE9B5ED50aB3AA29D6AaA712","description":"replace the Chainlink VRF coordinator that delivers the sortition entropy.","role":".owner"}
    directlyReceivedPermissions.29:
    + {"permission":"interact","from":"eth:0xC60919F8Bd128B76E11F4B071C8c38e1391a3e00","description":"replace the Chainlink VRF coordinator that delivers the sortition entropy.","role":".owner"}
    }
    contract SlashingManager (eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4) [interfold/SlashingManager] {
    +++ description: Policy and evidence router for ciphernode penalties, appeals and bans. Slashing is effective only for reasons with an enabled policy and through a manager authorized by the BondingRegistry.
    type:
    - "EOA"
    + "Contract"
    proxyType:
    - "EOA"
    + "immutable"
    template:
    + "interfold/SlashingManager"
    sourceHashes:
    + ["0xfda124aac8e1ba6b8dd3120a86020fcd3b8b0705b9515051b12f0cc38ba76a0e"]
    description:
    + "Policy and evidence router for ciphernode penalties, appeals and bans. Slashing is effective only for reasons with an enabled policy and through a manager authorized by the BondingRegistry."
    deployerAddress:
    + "eth:0x34655732dB9BBfA627021D18d786EfF7Bde211F7"
    sinceTimestamp:
    + 1789668443
    sinceBlock:
    + 25998899
    values:
    + {"$immutable":true,"accessControl":{"DEFAULT_ADMIN_ROLE":{"adminRole":"DEFAULT_ADMIN_ROLE","members":["eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"]},"GOVERNANCE_ROLE":{"adminRole":"DEFAULT_ADMIN_ROLE","members":["eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"]},"SLASHER_ROLE":{"adminRole":"GOVERNANCE_ROLE","members":[]}},"ACCUSATION_REPORTING_WINDOW":86400,"activeBanCount":0,"activeE3Assignments":2,"APPEAL_RESOLUTION_GRACE":604800,"attestationDomainSeparator":"0x3be893a74512f00ecdaa1eb5e6b768b1f181f31134600ac7b7ec1226539b413b","bannedNodes":[],"bondingRegistry":"eth:0x0ec90465095C21830BEcED07e032809A2Bd2915F","ciphernodeRegistry":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","DEFAULT_ADMIN_ROLE":"0x0000000000000000000000000000000000000000000000000000000000000000","defaultAdmin":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","defaultAdminDelay":172800,"defaultAdminDelayIncreaseWait":432000,"defaultAdmins":["eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"],"DOMAIN_NAME_HASH":"0x7095a59edd8cacb738b8513d8813a0b0e354ecb90ee4c98cc0333e8d23ca8966","DOMAIN_VERSION_HASH":"0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","e3RefundManager":"eth:0x1940eF168f4E0B3dA24BEca539856684793B0F6e","EIP712_DOMAIN_NAME":"InterfoldSlashing","EIP712_DOMAIN_TYPEHASH":"0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","EIP712_DOMAIN_VERSION":"1","eip712Domain":{"fields":"0x0f","name":"InterfoldSlashing","version":"1","chainId":1,"verifyingContract":"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4","salt":"0x0000000000000000000000000000000000000000000000000000000000000000","extensions":[]},"GOVERNANCE_ROLE":"0x71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1","governanceMembers":["eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"],"interfold":"eth:0x28cF63B459e6218C69EA97ea7D90541cf648c715","MAX_APPEAL_WINDOW":2592000,"owner":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","pendingDefaultAdmin":{"newAdmin":"eth:0x0000000000000000000000000000000000000000","schedule":0},"pendingDefaultAdminDelay":{"newDelay":0,"schedule":0},"PROOF_PAYLOAD_TYPEHASH":"0xab434307b5141420c222a231fb024deb0adb4022d9cb04b4244704ea67b44b51","SLASHER_ROLE":"0x12b42e8a160f6064dc959c6f251e3af0750ad213dbecf573b4710d67d6c28e39","slashers":[],"SLASHING_MANAGER_API_VERSION":1,"slashPolicies":{},"totalProposals":0,"VOTE_TYPEHASH":"0x2e073ee263d4a8f6f1a00cb4c7023460ce671f3dc214fddca4ef3d56e9d4740b"}
    fieldMeta:
    + {"accessControl":{"description":"Current role administrators and members."},"defaultAdmins":{"description":"Members of DEFAULT_ADMIN_ROLE.","type":"PERMISSION"},"governanceMembers":{"description":"Members of GOVERNANCE_ROLE.","type":"PERMISSION"},"slashers":{"description":"Members of SLASHER_ROLE.","type":"PERMISSION"},"slashPolicies":{"description":"Latest configured slashing policy for each reason. An empty map means no ticket or FOLD penalty can currently be proposed through this manager.","type":"RISK_PARAMETER"},"bannedNodes":{"description":"Currently banned operator keys reconstructed from ban-status events."},"defaultAdminDelay":{"description":"Delay for transferring DEFAULT_ADMIN_ROLE. It does not delay calls made by the current admin or governance-role members.","type":"RISK_PARAMETER"}}
    implementationNames:
    + {"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4":"SlashingManager"}
    category:
    + {"name":"Local Infrastructure","priority":5}
    receivedPermissions:
    + [{"permission":"interact","from":"eth:0x0ec90465095C21830BEcED07e032809A2Bd2915F","description":"slash operator ticket collateral and FOLD bonds, ban operators and manage slash-routing state.","role":".authorizedSlashingManagerAt"},{"permission":"interact","from":"eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7","description":"expel selected members from active committees.","role":".slashingManager"}]
    }
    contract InterfoldSafeB (eth:0x8B43b2852fc5031D01DDfCDF702973D93A2FF593) [GnosisSafe] {
    +++ description: None
    receivedPermissions.3:
    + {"permission":"interact","from":"eth:0x53FCdb21E73A461CfE6c64B19855204384B91BA3","description":"set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.6:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change the settings of the unverified CRISP token-voting plugin used as the IPP voting stage.","role":".crispVotingSettingsManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.9:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed CRISP vote actions to another executor or target.","role":".crispVotingTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.10:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed Interfold Protocol Proposal actions to another executor or target.","role":".ippTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.13:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the address trusted to append the effective caller to IPP proposal transactions.","role":".ippTrustedForwarderManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.15:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the rules that gate creation of Interfold Protocol Proposals.","role":".ippConditionRuleManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.17:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals.","role":".ippStageManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.19:
    + {"permission":"interact","from":"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4","description":"create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove operator bans.","role":".governanceMembers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.20:
    + {"permission":"interact","from":"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4","description":"replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay.","role":".defaultAdmins","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.13:
    - {"permission":"interact","from":"eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9","description":"create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove operator bans.","role":".governanceMembers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.14:
    - {"permission":"interact","from":"eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9","description":"replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay.","role":".defaultAdmins","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.30:
    - {"permission":"interact","from":"eth:0xa0273f884816dfF0BE9B5ED50aB3AA29D6AaA712","description":"replace the Chainlink VRF coordinator that delivers the sortition entropy.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.38:
    + {"permission":"interact","from":"eth:0xC60919F8Bd128B76E11F4B071C8c38e1391a3e00","description":"replace the Chainlink VRF coordinator that delivers the sortition entropy.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    }
    - Status: DELETED
    contract SlashingManager (eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9) [interfold/SlashingManager]
    +++ description: Policy and evidence router for ciphernode penalties, appeals and bans. Slashing is effective only for reasons with an enabled policy and through a manager authorized by the BondingRegistry.
    contract PublicStagedProposalProcessor (eth:0x9c0Ff283399Bd1D3111E6c9C689066759b7AccDb) [interfold/StagedProposalProcessor] {
    +++ description: Upgradeable Aragon staged-proposal plugin that executes DAO actions after proposals pass its configured sequence of voting or manual bodies, thresholds and timing windows.
    receivedPermissions.3:
    + {"permission":"interact","from":"eth:0x53FCdb21E73A461CfE6c64B19855204384B91BA3","description":"set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.7:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change the settings of the unverified CRISP token-voting plugin used as the IPP voting stage.","role":".crispVotingSettingsManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.11:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed CRISP vote actions to another executor or target.","role":".crispVotingTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.12:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed Interfold Protocol Proposal actions to another executor or target.","role":".ippTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.15:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the address trusted to append the effective caller to IPP proposal transactions.","role":".ippTrustedForwarderManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.17:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the rules that gate creation of Interfold Protocol Proposals.","role":".ippConditionRuleManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.19:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals.","role":".ippStageManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.21:
    + {"permission":"interact","from":"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4","description":"create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove operator bans.","role":".governanceMembers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.22:
    + {"permission":"interact","from":"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4","description":"replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay.","role":".defaultAdmins","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.15:
    - {"permission":"interact","from":"eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9","description":"create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove operator bans.","role":".governanceMembers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.16:
    - {"permission":"interact","from":"eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9","description":"replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay.","role":".defaultAdmins","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.32:
    - {"permission":"interact","from":"eth:0xa0273f884816dfF0BE9B5ED50aB3AA29D6AaA712","description":"replace the Chainlink VRF coordinator that delivers the sortition entropy.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.40:
    + {"permission":"interact","from":"eth:0xC60919F8Bd128B76E11F4B071C8c38e1391a3e00","description":"replace the Chainlink VRF coordinator that delivers the sortition entropy.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    }
    contract NodeReleaseRegistry (eth:0x9E1C6B433CFbC8f28d80EAB583C428B01d083b0A) [interfold/NodeReleaseRegistry] {
    +++ description: Registry of ciphernode software releases. Operators self-attest the release they run; staying eligible for new E3 committees requires an attestation matching the exact governance-set protocol version and at least the required node generation. Raising the requirement instantly invalidates every operator's cached eligibility until they re-attest.
    +++ description: Exact ciphernode protocol version operators must attest to remain eligible.
    values.requiredProtocolVersion:
    - 1
    + 4
    }
    - Status: DELETED
    contract DkgAggregatorVerifier (eth:0x9e58443eB40A1B08D07f89D36bf69909d401a542) [interfold/DkgAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV distributed-key-generation aggregation circuit.
    - Status: DELETED
    contract ChainlinkVrfRandomnessProvider (eth:0xa0273f884816dfF0BE9B5ED50aB3AA29D6AaA712) [interfold/ChainlinkVrfRandomnessProvider]
    +++ description: Supplies committee-sortition entropy as a Chainlink VRF v2.5 subscription consumer. Only its fixed requester (the CiphernodeRegistry) can request randomness, each E3 can be served exactly once, and requests revert while the funding subscription balance is below the configured minimum. All VRF parameters are immutable.
    contract ProtocolProposalCondition (eth:0xaE0F1082039E715609495Fdb2265b3B53f1296C9) [interfold/SPPRuleCondition] {
    +++ description: Aragon condition attached to the public CREATE_PROPOSAL permission. Its mutable rule program determines which callers and proposal calls qualify for the otherwise-public grant.
    type:
    - "EOA"
    + "Contract"
    proxyType:
    - "EOA"
    + "EIP1167 proxy"
    template:
    + "interfold/SPPRuleCondition"
    sourceHashes:
    + ["0x820364f6b02461f786e2dfaa81e0059689349246f89bf5b49bf33424d05d117e","0x820364f6b02461f786e2dfaa81e0059689349246f89bf5b49bf33424d05d117e"]
    description:
    + "Aragon condition attached to the public CREATE_PROPOSAL permission. Its mutable rule program determines which callers and proposal calls qualify for the otherwise-public grant."
    deployerAddress:
    + "eth:0x34655732dB9BBfA627021D18d786EfF7Bde211F7"
    sinceTimestamp:
    + 1789739891
    sinceBlock:
    + 26004832
    values:
    + {"$implementation":"eth:0xE437E5c7EeB0D49F97CfD040fb8a02A60a61c0f0","dao":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","getRules":[],"protocolVersion":[1,4,0],"UPDATE_RULES_PERMISSION_ID":"0xd3d98e95f3486fc234d80c098cf0d2a0a3fb187833d7e9cc930f8c4f8335a0e7"}
    fieldMeta:
    + {"dao":{"description":"Aragon DAO whose permission manager controls updates to the condition's rule program."},"getRules":{"description":"Current ordered rule program evaluated for public proposal creation.","type":"RISK_PARAMETER"}}
    implementationNames:
    + {"eth:0xaE0F1082039E715609495Fdb2265b3B53f1296C9":"SPPRuleCondition","eth:0xE437E5c7EeB0D49F97CfD040fb8a02A60a61c0f0":"SPPRuleCondition"}
    category:
    + {"name":"Governance","priority":3}
    }
    - Status: DELETED
    contract BfvPkVerifier (eth:0xBA1854fDA7A5c127606572e43Dc7B37b7A15bdFf) [interfold/BfvPkVerifier]
    +++ description: BFV public-key proof wrapper. It binds the generated circuit verifier to the expected DKG-fold and C5 verification-key hashes.
    contract CiphernodeRegistry (eth:0xC927A5B2d8F68697bC28C0670df05178c93df2d7) [interfold/CiphernodeRegistry] {
    +++ description: Registry of ciphernodes and E3 committees. It performs ticket-weighted committee selection, records DKG (distributed key generation) proof anchors and the committee public key (to which cyphertexts can be encrypted), and tracks committee viability. Sortition entropy is supplied asynchronously by a governance-set randomness provider.
    sourceHashes.1:
    - "0x993dbb9f6f7d08758f2b721cf9a1c301f9a7234933ca34d0430901203f34f1cf"
    + "0xaaf0cc5a82e6d85f4cb4d4b1cdfe655456ddfd34d6a347cf23f5f5acb505fd7c"
    values.$implementation:
    - "eth:0xFff476751949a7e1B784b5c88648833c1e8dD69c"
    + "eth:0xD9A3224D829a4ac8b55A75C539fD447AC4B05Bf2"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.21:
    + "eth:0xc6E48712E56F6E9548c54a0A983eBe992eFA26Bd"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.22:
    + "eth:0x1fD2b3d4a9f4Aeb62877cab9dF70A5a6e976b118"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.23:
    + "eth:0x9EC16384b956D7B2A71284711FD32d156e6b33c6"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.24:
    + "eth:0xd2b46ceC7b4d8046eF2D7bCb32aF3220Ef7bc1dd"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.25:
    + "eth:0xd3336047DCf4d7C7393b3BF5Fa47A31478C22d47"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.26:
    + "eth:0xA2bA6A63335cdB2789b0e636987Ce12C3D44662a"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.27:
    + "eth:0xd698bC33a4A98a019881c6e2664f1dAc62c4B3B5"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.28:
    + "eth:0x76f3491D36138450F957b03F657dDa258Ad4c0E7"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.29:
    + "eth:0x2048E0750655298E628155Ca5024F0b30D896e51"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.30:
    + "eth:0x69760AF47771F8F763B5E3cb88601C197b0ee235"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.31:
    + "eth:0xAF92b142F15eb873f7D1d9F05c8c9b1855698249"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.32:
    + "eth:0xBf11E6B5be2ff90CDC6860BAe7941e44aa52DEc3"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.33:
    + "eth:0x8DEeF8799921D549BAC469aD6d37912DBeB2432a"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.34:
    + "eth:0xfbe2eEB95eb083F89bBb1C9c384328d9cfE43d47"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.35:
    + "eth:0x3394971Ee0cb5bc6336F8C36bc8807CDAA8BB017"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.36:
    + "eth:0x9D129a1733ab0f56460cCCfdC807C797b5a1a53c"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.37:
    + "eth:0x160AC642aC8Ef8bd4491d22A46772B773960B4b5"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.38:
    + "eth:0x0dB1A5DA3481Ce66B81FC7A48dD982FA0AcFCC99"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.39:
    + "eth:0x4429dB606a7c476762E4c7003963603f97a3C031"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.40:
    + "eth:0xd99672d25e783F245D3E0183581fAae0c154B8b6"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.41:
    + "eth:0x62b2dF039198096259F8dc619cE5E79507806A00"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.42:
    + "eth:0x5BA3ef7913D6dD46e2b4EBd8A05eF4615ae8Be5B"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.43:
    + "eth:0x780c1bB4Abc6F4324813e58a52C9d2FEF055ef78"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.44:
    + "eth:0xfC16c9513bB6b4FE7978723bB2468E99D8A34d70"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.45:
    + "eth:0x9aCc89CCD297064779C4e0f1c353079975C731b6"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.46:
    + "eth:0xFD97D727CdF9867944de554E45499D5162bDBfAc"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.47:
    + "eth:0x5cFc8841C3fBb3CA8dCb2BfBD3a39a98dE5B942a"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.48:
    + "eth:0xcD34cF9C66F524c91A14e67D3eF68157f809Abf7"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.49:
    + "eth:0x6B035c1b0B099555284C8676e48e2C3CB8b3d4B0"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.50:
    + "eth:0x86FBE1027577A343c1C9DcCAEc470d2B613cB347"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.51:
    + "eth:0x2358424b1E347f1FAADB7F54C5eB57eeA3A2738d"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.52:
    + "eth:0xFcEdB9Af33A338A80DA84785023BfDb988CaAd6E"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.53:
    + "eth:0x7E94eEd05e81679F69dA44157a45F0528DA9Ce66"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.54:
    + "eth:0xFF79709339F5dBCA606c8b9D4940390d61cB4B29"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.55:
    + "eth:0x2A2Df1e79ec3be51c0B050175E3D897e3911dC42"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.56:
    + "eth:0xDa1D20efb36e7F3bb47CEDbF471feB099051e717"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.57:
    + "eth:0x58C40cEC1ebAc2e383B5091ed47fa719a29f00A4"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.58:
    + "eth:0x5Fb0854aB8fb2810b80d3DE276b3107a9e5281b1"
    +++ description: Current registered ciphernode operator keys reconstructed from add and remove events. For each E3 a committee of the coordinator's MAX_COMMITTEE_SIZE is selected from these keys by ticket-weighted sortition.
    values.$members.59:
    + "eth:0x88ED57A03E98931a81dBa7A9Bc2dc95B48929E45"
    values.$pastUpgrades.2:
    + ["2026-09-18T13:15:47.000Z","0x975b5104729480bdf914304ce81726041e27450580fab4cd2f2750b7f0848047",["eth:0xD9A3224D829a4ac8b55A75C539fD447AC4B05Bf2"]]
    values.$upgradeCount:
    - 2
    + 3
    values.MAX_CIPHERNODE_LEAVES:
    - 1048576
    + 1048575
    values.MAX_COMMITTEE_PUBLIC_KEY_BYTES:
    - 262144
    + 524288
    +++ description: Contract that supplies the asynchronous sortition entropy for committee selection. Automatically reset to zero, which disables new E3 requests, if a randomness request expires without a usable response (circuit breaker). Replacing it requires paused requests, no outstanding committees, and that the new provider names this registry as its only requester.
    +++ severity: HIGH
    values.randomnessProvider:
    - "eth:0xa0273f884816dfF0BE9B5ED50aB3AA29D6AaA712"
    + "eth:0xC60919F8Bd128B76E11F4B071C8c38e1391a3e00"
    values.slashingManager:
    - "eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9"
    + "eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4"
    values.unreleasedCommitteeCount:
    - 0
    + 1
    +++ description: Whether the randomness circuit breaker has tripped, which blocks new E3 requests until governance resets the provider.
    values.randomnessDegraded:
    + false
    implementationNames.eth:0xFff476751949a7e1B784b5c88648833c1e8dD69c:
    - "CiphernodeRegistryOwnable"
    implementationNames.eth:0xD9A3224D829a4ac8b55A75C539fD447AC4B05Bf2:
    + "CiphernodeRegistryOwnable"
    }
    - Status: DELETED
    contract BfvDecryptionVerifier (eth:0xf143b969ea481Ccf251194D15F82007C67AABc53) [interfold/BfvDecryptionVerifier]
    +++ description: Threshold-decryption proof wrapper. It checks the generated circuit proof and binds its parties and public-key context to the committee recorded by CiphernodeRegistry.
    contract AdminPlugin (eth:0xF21e25455988887EE797050080141eba67B33920) [interfold/AdminPlugin] {
    +++ description: Non-upgradeable Aragon Admin plugin. Holders of its DAO-granted EXECUTE_PROPOSAL permission can submit actions that the plugin forwards immediately, without a vote or onchain delay.
    receivedPermissions.3:
    + {"permission":"interact","from":"eth:0x53FCdb21E73A461CfE6c64B19855204384B91BA3","description":"set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.7:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"change the settings of the unverified CRISP token-voting plugin used as the IPP voting stage.","role":".crispVotingSettingsManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.10:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed CRISP vote actions to another executor or target.","role":".crispVotingTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.11:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"redirect passed Interfold Protocol Proposal actions to another executor or target.","role":".ippTargetManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.14:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the address trusted to append the effective caller to IPP proposal transactions.","role":".ippTrustedForwarderManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.16:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the rules that gate creation of Interfold Protocol Proposals.","role":".ippConditionRuleManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.18:
    + {"permission":"interact","from":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e","description":"replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals.","role":".ippStageManagers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.20:
    + {"permission":"interact","from":"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4","description":"create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove operator bans.","role":".governanceMembers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.21:
    + {"permission":"interact","from":"eth:0x753109Ee36Dc65cC178875AddA30C6433e5bEEe4","description":"replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay.","role":".defaultAdmins","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.14:
    - {"permission":"interact","from":"eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9","description":"create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove operator bans.","role":".governanceMembers","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.15:
    - {"permission":"interact","from":"eth:0x974E865B1BB24AF2a9ef8204AdEA9251Cc7C5FD9","description":"replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay.","role":".defaultAdmins","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.31:
    - {"permission":"interact","from":"eth:0xa0273f884816dfF0BE9B5ED50aB3AA29D6AaA712","description":"replace the Chainlink VRF coordinator that delivers the sortition entropy.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    receivedPermissions.39:
    + {"permission":"interact","from":"eth:0xC60919F8Bd128B76E11F4B071C8c38e1391a3e00","description":"replace the Chainlink VRF coordinator that delivers the sortition entropy.","role":".owner","via":[{"address":"eth:0x652a31c669f9AB37f6040f279139a75D04F2679e"}]}
    }
    + Status: CREATED
    contract DkgAggregatorVerifier (eth:0x00a586aB1E533e2544daAF4BB7388e176320572F) [interfold/DkgAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV distributed-key-generation aggregation circuit.
    + Status: CREATED
    contract BfvDecryptionVerifier (eth:0x0Be6f92594ee8776C7c658eFA1ec6Ca12F5D9701) [interfold/BfvDecryptionVerifier]
    +++ description: Threshold-decryption proof wrapper. It checks the generated circuit proof and binds its parties and public-key context to the committee recorded by CiphernodeRegistry.
    + Status: CREATED
    contract DkgAggregatorVerifier (eth:0x1Eba833dd9CBC32c925B4a54DBC7682Ac276f302) [interfold/DkgAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV distributed-key-generation aggregation circuit.
    + Status: CREATED
    contract BfvPkVerifier (eth:0x3C1C772B1D800ff4E6F8d0c02E1e6D07293c0059) [interfold/BfvPkVerifier]
    +++ description: BFV public-key proof wrapper. It binds the generated circuit verifier to the expected DKG-fold and C5 verification-key hashes.
    + Status: CREATED
    contract CRISPProgramV2 (eth:0x53FCdb21E73A461CfE6c64B19855204384B91BA3) [interfold/CRISPProgram]
    +++ description: CRISP encrypted-ballot E3 application. It verifies ballot eligibility and encryption proofs, commits ciphertext inputs, checks that a RISC Zero tally is bound to its input root and parameters, and decodes the threshold-decrypted tally.
    + Status: CREATED
    contract BfvPkVerifier (eth:0x55F7379898512dEdCc994109a590e7d6a6eB50D8) [interfold/BfvPkVerifier]
    +++ description: BFV public-key proof wrapper. It binds the generated circuit verifier to the expected DKG-fold and C5 verification-key hashes.
    + Status: CREATED
    contract BfvPkVerifier (eth:0x67DDfB579EB5dC7df9B3f7Cfd942f325a792Afc3) [interfold/BfvPkVerifier]
    +++ description: BFV public-key proof wrapper. It binds the generated circuit verifier to the expected DKG-fold and C5 verification-key hashes.
    + Status: CREATED
    contract BfvPkVerifierRouter (eth:0x7CD10057c25674bd5666A9deEE3193f1b29563d1) [interfold/BfvPkVerifierRouter]
    +++ description: Immutable router for BFV distributed-key-generation proofs. It forwards each proof to the per-committee-size BfvPkVerifier whose public-input length and circuit verification-key hashes match, so committees of every supported size share one verifier entry point.
    + Status: CREATED
    contract Risc0BfvCiphertextVerifier (eth:0x80D217d3b2e16fF2ecc178cC75655C773895c549) [interfold/Risc0BfvCiphertextVerifier]
    +++ description: Ciphertext-output verifier for BFV E3s. It accepts a RISC Zero receipt for the immutable guest image ID against the E3-specific journal constructed by Interfold.
    + Status: CREATED
    contract BfvDecryptionVerifier (eth:0x86ba053b37a844FcD2dd52aBC69fc4D69D965Ad8) [interfold/BfvDecryptionVerifier]
    +++ description: Threshold-decryption proof wrapper. It checks the generated circuit proof and binds its parties and public-key context to the committee recorded by CiphernodeRegistry.
    + Status: CREATED
    contract BfvDecryptionVerifierRouter (eth:0xA66CAb7AE230698b2a9ee1E0E967BaD4651FeEa7) [interfold/BfvDecryptionVerifierRouter]
    +++ description: Immutable router for BFV threshold-decryption proofs. It forwards each proof to the per-committee-size BfvDecryptionVerifier whose public-input length and circuit verification-key hashes match, so committees of every supported size share one verifier entry point.
    + Status: CREATED
    contract DkgAggregatorVerifier (eth:0xaC784625D32Ce7840D3f0EBD7E5832ea34C188C0) [interfold/DkgAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV distributed-key-generation aggregation circuit.
    + Status: CREATED
    contract DecryptionAggregatorVerifier (eth:0xbeF207838845b227394Eb46579372FEE5E2a95fd) [interfold/DecryptionAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV threshold-decryption aggregation circuit.
    + Status: CREATED
    contract DecryptionAggregatorVerifier (eth:0xBFAE594dc43f4b910F478ec00D285B8daC66855F) [interfold/DecryptionAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV threshold-decryption aggregation circuit.
    + Status: CREATED
    contract AvailVectorXDataAvailabilityVerifier (eth:0xC038C7ba5717bDa886115e5d954085bce069069E) [interfold/AvailVectorXDataAvailabilityVerifier]
    +++ description: Immutable verifier of Avail blob inclusion used by the CRISP program to attest that encrypted ballot inputs were published. It checks inclusion proofs against the Avail bridge and VectorX light-client contracts fixed at deployment.
    + Status: CREATED
    contract RandomnessProvider (eth:0xC60919F8Bd128B76E11F4B071C8c38e1391a3e00) [interfold/ChainlinkVrfRandomnessProvider]
    +++ description: Supplies committee-sortition entropy as a Chainlink VRF v2.5 subscription consumer. Only its fixed requester (the CiphernodeRegistry) can request randomness, each E3 can be served exactly once, and requests revert while the funding subscription balance is below the configured minimum. All VRF parameters are immutable.
    + Status: CREATED
    EOA (eth:0xd698bC33a4A98a019881c6e2664f1dAc62c4B3B5)
    +++ description: None
    + Status: CREATED
    contract DecryptionAggregatorVerifier (eth:0xEB4D0d5FfbDD508d6FF352255DCFc7b13FA28EC0) [interfold/DecryptionAggregatorVerifier]
    +++ description: Immutable generated Honk verifier for the BFV threshold-decryption aggregation circuit.
    + Status: CREATED
    contract BfvDecryptionVerifier (eth:0xf6ed505997d2F572717f5E946b70efd65D55c986) [interfold/BfvDecryptionVerifier]
    +++ description: Threshold-decryption proof wrapper. It checks the generated circuit proof and binds its parties and public-key context to the committee recorded by CiphernodeRegistry.

    New and verified contracts

    contract Risc0BfvCiphertextVerifier (eth:0x40a18Fc27ac4a4d86fA70385c6814e453b6BFF2c) [interfold/Risc0BfvCiphertextVerifier] {
    +++ description: Ciphertext-output verifier for BFV E3s. It accepts a RISC Zero receipt for the immutable guest image ID against the E3-specific journal constructed by Interfold.
    unverified:
    - true
    description:
    - "Unverified wrapper that accepts a RISC Zero receipt for the immutable guest image ID and the E3-specific journal constructed by Interfold."
    + "Ciphertext-output verifier for BFV E3s. It accepts a RISC Zero receipt for the immutable guest image ID against the E3-specific journal constructed by Interfold."
    fieldMeta.risc0Verifier.description:
    - "Immutable RISC Zero verifier used to validate computation receipts."
    + "Immutable RISC Zero verifier used to validate computation receipts. The external RISC Zero deployment is outside this discovery perimeter."
    implementationNames.eth:0x40a18Fc27ac4a4d86fA70385c6814e453b6BFF2c:
    - ""
    + "Risc0BfvCiphertextVerifier"
    template:
    + "interfold/Risc0BfvCiphertextVerifier"
    sourceHashes:
    + ["0x52029d94ccab4c67a4566736cf4e3514382d38b2024aa5380365898569c32d98"]
    }
    contract CRISPProgram (eth:0x847A22303639017bcDB7F7E49EEa4a4629c1169f) [interfold/CRISPProgram] {
    +++ description: CRISP encrypted-ballot E3 application. It verifies ballot eligibility and encryption proofs, commits ciphertext inputs, checks that a RISC Zero tally is bound to its input root and parameters, and decodes the threshold-decrypted tally.
    unverified:
    - true
    description:
    - "CRISP encrypted-ballot application. It verifies ballot eligibility and encryption proofs, commits ciphertext inputs, checks that a RISC Zero tally is bound to its input root and parameters, and decodes the threshold-decrypted tally."
    + "CRISP encrypted-ballot E3 application. It verifies ballot eligibility and encryption proofs, commits ciphertext inputs, checks that a RISC Zero tally is bound to its input root and parameters, and decodes the threshold-decrypted tally."
    values.eip712Domain:
    + {"fields":"0x0f","name":"CRISP","version":"1","chainId":1,"verifyingContract":"eth:0x847A22303639017bcDB7F7E49EEa4a4629c1169f","salt":"0x0000000000000000000000000000000000000000000000000000000000000000","extensions":[]}
    values.ENCRYPTION_SCHEME_ID:
    + "0x2c2a814a0495f913a3a312fc4771e37552bc14f8a2d4075a08122d356f0849c6"
    values.TREE_DEPTH:
    + 20
    fieldMeta.interfold.description:
    - "Permanently bound E3 coordinator."
    + "Bound E3 coordinator."
    fieldMeta.dataAvailabilityVerifier:
    + {"description":"Immutable verifier of the proof-backed data availability attestation for ballot inputs.","type":"CODE_CHANGE"}
    fieldMeta.inputAvailabilitySigner:
    + {"description":"Immutable signer whose attestations vouch for ballot input availability.","type":"PERMISSION"}
    fieldMeta.availabilityFinalizationWindow:
    + {"description":"Immutable window after voting in which input availability must be finalized.","type":"RISK_PARAMETER"}
    implementationNames.eth:0x847A22303639017bcDB7F7E49EEa4a4629c1169f:
    - ""
    + "CRISPProgram"
    template:
    + "interfold/CRISPProgram"
    sourceHashes:
    + ["0x3649deb6f04282f42e1920d5db900615f2452d03163421de0763f9849233a388"]
    }
    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner

    Ethereum

    Actors:

    InterfoldSafeA0x5429…C018

    A Multisig with 3/5 threshold.

    • Can upgrade with no delay
      • BondingRegistry
      • E3RefundManager
      • Interfold
      • InterfoldDAO
      • VotingEscrowDAO
      • CiphernodeRegistry
    • Can interact with BondingRegistry
      • replace collateral assets and protocol dependencies; change bond, ticket, eligibility and exit parameters; set the committee-admission cooldown or pause admissions to future committees; authorize slashing managers and reward distributors; clear bans from old managers; withdraw slashed funds; and replace the slashed-funds treasury
    • Can interact with E3RefundManager
      • change the work-allocation split, coordinator and treasury without an onchain delay
    • Can interact with CRISPProgram
      • set census roots and replace the application OpenVM receipt verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover., and with it the image ID, immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail
    • Can interact with Interfold
      • pause or unpause new requests; replace the registry, bonding, slashing, refund and nodeA software client that participates in the network.-release dependencies; allow fee assets and E3 programs; replace proof verifiers; and change pricing (including the flat randomness fee), timeouts, parameter sets and committee thresholds without an onchain delay
    • Can interact with CRISPProgramV2
      • set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail
    • Can interact with InterfoldDAO
      • change multisig plugin target execution configuration
      • change support, participation, duration, 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.-power and minimum-approval requirements for future votes
      • change the settings of the CRISP token-voting plugin used as the IPP voting stage, including the committee size of future votes
      • grant and revoke permissions in the DAO
      • redirect calls made by the Admin plugin to another executor or target
      • redirect passed CRISP vote actions to another executor or target
      • redirect passed Interfold Protocol Proposal actions to another executor or target
      • redirect passed proposal actions to another executor or target
      • redirect passed vote actions to another executor or target
      • replace the address trusted to append the effective caller to IPP proposal transactions
      • replace the address trusted to append the effective caller to proposal transactions
      • replace the rules that gate creation of Interfold Protocol Proposals
      • replace the rules that gate public creation of staged proposals
      • replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals
      • replace the stages, bodies, thresholds and timing rules for future public proposals
    • Can interact with SlashingManager
      • create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove 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. bans
      • replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay
    • Can interact with CRISPProgram
      • set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail
    • Can interact with NodeReleaseRegistry
      • raise the required ciphernode protocol version and node generation, which instantly invalidates every operator’s cached eligibility until they attest the new release. The requirement can only increase, and only while new E3 requests are paused and no E3s or committees are active
    • Can interact with VotingEscrowDAO
      • change cooldowns and exit fees and upgrade the voting-escrow exit queue
      • change multisig plugin settings
      • change multisig plugin target execution configuration
      • change transfer whitelist settings and upgrade the voting-lock NFT
      • change voting epochs and upgrade the voting-escrow Clock
      • change voting-power curve parameters and upgrade the Curve implementation
      • complete queued voting-escrow withdrawals
      • grant and revoke permissions in the voting-escrow DAO
      • manage gauge metadata and the voting-power update hook
      • pause and unpause voting-escrow operations
      • pause the escrow voting-power adapter, manage delegation settings and upgrade its implementation
      • replace voting-power dependencies, change minimum deposits and split rules, and upgrade VotingEscrow
      • sweep unaccounted tokens and NFTs from VotingEscrow
      • update delegated voting power through the escrow voting adapter
    • Can interact with InterfoldTicketToken
      • schedule and activate a registry replacement after one day when all ticket liabilities are zero, and rescue ERC-20s other than the underlying sUSDS
    • Can interact with RandomnessProvider
      • replace the Chainlink VRF coordinator that delivers the sortition entropy
    • Can interact with CiphernodeRegistry
      • replace the coordinator, bonding, slashing and randomness-provider dependencies; add or remove ciphernodes; change the sortition window and randomness timeout; and update the DKG verifier and accusation-vote validity parameters. DKG-verifier replacement and risk-reducing accusation-window changes use a two-day propose/commit delay, while other changes are immediate. Randomness settings can only change while new requests are paused and no committees are outstanding
    • Can interact with FOLD
      • create immutable vesting policies, link claimed balances to policies and exempt accounts from automatic claim locks until the immutable lock cutoff
      • grant and revoke FOLD roles. The role’s direct mint function permanently reverts after TGE
    PublicStagedProposalProcessor0x9c0F…ccDb

    Upgradeable Aragon staged-proposal plugin that executes DAO actions after proposals pass its configured sequence of voting or manual bodies, thresholds and timing windows.

    • Can upgrade with no delay
      • BondingRegistry
      • E3RefundManager
      • Interfold
      • InterfoldDAO
      • VotingEscrowDAO
      • CiphernodeRegistry
    • Can interact with BondingRegistry
      • replace collateral assets and protocol dependencies; change bond, ticket, eligibility and exit parameters; set the committee-admission cooldown or pause admissions to future committees; authorize slashing managers and reward distributors; clear bans from old managers; withdraw slashed funds; and replace the slashed-funds treasury
    • Can interact with E3RefundManager
      • change the work-allocation split, coordinator and treasury without an onchain delay
    • Can interact with CRISPProgram
      • set census roots and replace the application OpenVM receipt verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover., and with it the image ID, immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail
    • Can interact with Interfold
      • pause or unpause new requests; replace the registry, bonding, slashing, refund and nodeA software client that participates in the network.-release dependencies; allow fee assets and E3 programs; replace proof verifiers; and change pricing (including the flat randomness fee), timeouts, parameter sets and committee thresholds without an onchain delay
    • Can interact with CRISPProgramV2
      • set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail
    • Can interact with InterfoldDAO
      • change multisig plugin target execution configuration
      • change support, participation, duration, 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.-power and minimum-approval requirements for future votes
      • change the settings of the CRISP token-voting plugin used as the IPP voting stage, including the committee size of future votes
      • grant and revoke permissions in the DAO
      • open a token vote using the caller-supplied proposal payload
      • redirect calls made by the Admin plugin to another executor or target
      • redirect passed CRISP vote actions to another executor or target
      • redirect passed Interfold Protocol Proposal actions to another executor or target
      • redirect passed proposal actions to another executor or target
      • redirect passed vote actions to another executor or target
      • replace the address trusted to append the effective caller to IPP proposal transactions
      • replace the address trusted to append the effective caller to proposal transactions
      • replace the rules that gate creation of Interfold Protocol Proposals
      • replace the rules that gate public creation of staged proposals
      • replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals
      • replace the stages, bodies, thresholds and timing rules for future public proposals
    • Can interact with SlashingManager
      • create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove 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. bans
      • replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay
    • Can interact with CRISPProgram
      • set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail
    • Can interact with NodeReleaseRegistry
      • raise the required ciphernode protocol version and node generation, which instantly invalidates every operator’s cached eligibility until they attest the new release. The requirement can only increase, and only while new E3 requests are paused and no E3s or committees are active
    • Can interact with VotingEscrowDAO
      • change cooldowns and exit fees and upgrade the voting-escrow exit queue
      • change multisig plugin settings
      • change multisig plugin target execution configuration
      • change transfer whitelist settings and upgrade the voting-lock NFT
      • change voting epochs and upgrade the voting-escrow Clock
      • change voting-power curve parameters and upgrade the Curve implementation
      • complete queued voting-escrow withdrawals
      • grant and revoke permissions in the voting-escrow DAO
      • manage gauge metadata and the voting-power update hook
      • pause and unpause voting-escrow operations
      • pause the escrow voting-power adapter, manage delegation settings and upgrade its implementation
      • replace voting-power dependencies, change minimum deposits and split rules, and upgrade VotingEscrow
      • sweep unaccounted tokens and NFTs from VotingEscrow
      • update delegated voting power through the escrow voting adapter
    • Can interact with InterfoldTicketToken
      • schedule and activate a registry replacement after one day when all ticket liabilities are zero, and rescue ERC-20s other than the underlying sUSDS
    • Can interact with RandomnessProvider
      • replace the Chainlink VRF coordinator that delivers the sortition entropy
    • Can interact with CiphernodeRegistry
      • replace the coordinator, bonding, slashing and randomness-provider dependencies; add or remove ciphernodes; change the sortition window and randomness timeout; and update the DKG verifier and accusation-vote validity parameters. DKG-verifier replacement and risk-reducing accusation-window changes use a two-day propose/commit delay, while other changes are immediate. Randomness settings can only change while new requests are paused and no committees are outstanding
    ProtocolProposalProcessor0xc196…bab3

    Upgradeable Aragon staged-proposal plugin that executes DAO actions after proposals pass its configured sequence of voting or manual bodies, thresholds and timing windows.

    • Can upgrade with no delay
      • BondingRegistry
      • E3RefundManager
      • Interfold
      • InterfoldDAO
      • VotingEscrowDAO
      • CiphernodeRegistry
    • Can interact with BondingRegistry
      • replace collateral assets and protocol dependencies; change bond, ticket, eligibility and exit parameters; set the committee-admission cooldown or pause admissions to future committees; authorize slashing managers and reward distributors; clear bans from old managers; withdraw slashed funds; and replace the slashed-funds treasury
    • Can interact with E3RefundManager
      • change the work-allocation split, coordinator and treasury without an onchain delay
    • Can interact with CRISPProgram
      • set census roots and replace the application OpenVM receipt verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover., and with it the image ID, immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail
    • Can interact with Interfold
      • pause or unpause new requests; replace the registry, bonding, slashing, refund and nodeA software client that participates in the network.-release dependencies; allow fee assets and E3 programs; replace proof verifiers; and change pricing (including the flat randomness fee), timeouts, parameter sets and committee thresholds without an onchain delay
    • Can interact with CRISPProgramV2
      • set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail
    • Can interact with InterfoldDAO
      • change multisig plugin target execution configuration
      • change support, participation, duration, 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.-power and minimum-approval requirements for future votes
      • change the settings of the CRISP token-voting plugin used as the IPP voting stage, including the committee size of future votes
      • grant and revoke permissions in the DAO
      • open a CRISP token vote using the caller-supplied proposal payload
      • redirect calls made by the Admin plugin to another executor or target
      • redirect passed CRISP vote actions to another executor or target
      • redirect passed Interfold Protocol Proposal actions to another executor or target
      • redirect passed proposal actions to another executor or target
      • redirect passed vote actions to another executor or target
      • replace the address trusted to append the effective caller to IPP proposal transactions
      • replace the address trusted to append the effective caller to proposal transactions
      • replace the rules that gate creation of Interfold Protocol Proposals
      • replace the rules that gate public creation of staged proposals
      • replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals
      • replace the stages, bodies, thresholds and timing rules for future public proposals
    • Can interact with SlashingManager
      • create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove 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. bans
      • replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay
    • Can interact with CRISPProgram
      • set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail
    • Can interact with NodeReleaseRegistry
      • raise the required ciphernode protocol version and node generation, which instantly invalidates every operator’s cached eligibility until they attest the new release. The requirement can only increase, and only while new E3 requests are paused and no E3s or committees are active
    • Can interact with VotingEscrowDAO
      • change cooldowns and exit fees and upgrade the voting-escrow exit queue
      • change multisig plugin settings
      • change multisig plugin target execution configuration
      • change transfer whitelist settings and upgrade the voting-lock NFT
      • change voting epochs and upgrade the voting-escrow Clock
      • change voting-power curve parameters and upgrade the Curve implementation
      • complete queued voting-escrow withdrawals
      • grant and revoke permissions in the voting-escrow DAO
      • manage gauge metadata and the voting-power update hook
      • pause and unpause voting-escrow operations
      • pause the escrow voting-power adapter, manage delegation settings and upgrade its implementation
      • replace voting-power dependencies, change minimum deposits and split rules, and upgrade VotingEscrow
      • sweep unaccounted tokens and NFTs from VotingEscrow
      • update delegated voting power through the escrow voting adapter
    • Can interact with InterfoldTicketToken
      • schedule and activate a registry replacement after one day when all ticket liabilities are zero, and rescue ERC-20s other than the underlying sUSDS
    • Can interact with RandomnessProvider
      • replace the Chainlink VRF coordinator that delivers the sortition entropy
    • Can interact with CiphernodeRegistry
      • replace the coordinator, bonding, slashing and randomness-provider dependencies; add or remove ciphernodes; change the sortition window and randomness timeout; and update the DKG verifier and accusation-vote validity parameters. DKG-verifier replacement and risk-reducing accusation-window changes use a two-day propose/commit delay, while other changes are immediate. Randomness settings can only change while new requests are paused and no committees are outstanding
    AdminPlugin0xF21e…3920

    Non-upgradeable Aragon Admin plugin. Holders of its DAO-granted EXECUTE_PROPOSAL permission can submit actions that the plugin forwards immediately, without a vote or onchain delay.

    • Can upgrade with no delay
      • BondingRegistry
      • E3RefundManager
      • Interfold
      • InterfoldDAO
      • VotingEscrowDAO
      • CiphernodeRegistry
    • Can interact with BondingRegistry
      • replace collateral assets and protocol dependencies; change bond, ticket, eligibility and exit parameters; set the committee-admission cooldown or pause admissions to future committees; authorize slashing managers and reward distributors; clear bans from old managers; withdraw slashed funds; and replace the slashed-funds treasury
    • Can interact with E3RefundManager
      • change the work-allocation split, coordinator and treasury without an onchain delay
    • Can interact with CRISPProgram
      • set census roots and replace the application OpenVM receipt verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover., and with it the image ID, immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail
    • Can interact with Interfold
      • pause or unpause new requests; replace the registry, bonding, slashing, refund and nodeA software client that participates in the network.-release dependencies; allow fee assets and E3 programs; replace proof verifiers; and change pricing (including the flat randomness fee), timeouts, parameter sets and committee thresholds without an onchain delay
    • Can interact with CRISPProgramV2
      • set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail
    • Can interact with InterfoldDAO
      • change multisig plugin target execution configuration
      • change support, participation, duration, 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.-power and minimum-approval requirements for future votes
      • change the settings of the CRISP token-voting plugin used as the IPP voting stage, including the committee size of future votes
      • grant and revoke permissions in the DAO
      • redirect calls made by the Admin plugin to another executor or target
      • redirect passed CRISP vote actions to another executor or target
      • redirect passed Interfold Protocol Proposal actions to another executor or target
      • redirect passed proposal actions to another executor or target
      • redirect passed vote actions to another executor or target
      • replace the address trusted to append the effective caller to IPP proposal transactions
      • replace the address trusted to append the effective caller to proposal transactions
      • replace the rules that gate creation of Interfold Protocol Proposals
      • replace the rules that gate public creation of staged proposals
      • replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals
      • replace the stages, bodies, thresholds and timing rules for future public proposals
    • Can interact with SlashingManager
      • create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove 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. bans
      • replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay
    • Can interact with CRISPProgram
      • set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail
    • Can interact with NodeReleaseRegistry
      • raise the required ciphernode protocol version and node generation, which instantly invalidates every operator’s cached eligibility until they attest the new release. The requirement can only increase, and only while new E3 requests are paused and no E3s or committees are active
    • Can interact with VotingEscrowDAO
      • change cooldowns and exit fees and upgrade the voting-escrow exit queue
      • change multisig plugin settings
      • change multisig plugin target execution configuration
      • change transfer whitelist settings and upgrade the voting-lock NFT
      • change voting epochs and upgrade the voting-escrow Clock
      • change voting-power curve parameters and upgrade the Curve implementation
      • complete queued voting-escrow withdrawals
      • grant and revoke permissions in the voting-escrow DAO
      • manage gauge metadata and the voting-power update hook
      • pause and unpause voting-escrow operations
      • pause the escrow voting-power adapter, manage delegation settings and upgrade its implementation
      • replace voting-power dependencies, change minimum deposits and split rules, and upgrade VotingEscrow
      • sweep unaccounted tokens and NFTs from VotingEscrow
      • update delegated voting power through the escrow voting adapter
    • Can interact with InterfoldTicketToken
      • schedule and activate a registry replacement after one day when all ticket liabilities are zero, and rescue ERC-20s other than the underlying sUSDS
    • Can interact with RandomnessProvider
      • replace the Chainlink VRF coordinator that delivers the sortition entropy
    • Can interact with CiphernodeRegistry
      • replace the coordinator, bonding, slashing and randomness-provider dependencies; add or remove ciphernodes; change the sortition window and randomness timeout; and update the DKG verifier and accusation-vote validity parameters. DKG-verifier replacement and risk-reducing accusation-window changes use a two-day propose/commit delay, while other changes are immediate. Randomness settings can only change while new requests are paused and no committees are outstanding
    InterfoldSafeB0x8B43…F593

    A Multisig with 3/5 threshold.

    • Can upgrade with no delay
      • BondingRegistry
      • E3RefundManager
      • Interfold
      • InterfoldDAO
      • VotingEscrowDAO
      • CiphernodeRegistry
    • Can interact with BondingRegistry
      • replace collateral assets and protocol dependencies; change bond, ticket, eligibility and exit parameters; set the committee-admission cooldown or pause admissions to future committees; authorize slashing managers and reward distributors; clear bans from old managers; withdraw slashed funds; and replace the slashed-funds treasury
    • Can interact with E3RefundManager
      • change the work-allocation split, coordinator and treasury without an onchain delay
    • Can interact with CRISPProgram
      • set census roots and replace the application OpenVM receipt verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover., and with it the image ID, immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail
    • Can interact with Interfold
      • pause or unpause new requests; replace the registry, bonding, slashing, refund and nodeA software client that participates in the network.-release dependencies; allow fee assets and E3 programs; replace proof verifiers; and change pricing (including the flat randomness fee), timeouts, parameter sets and committee thresholds without an onchain delay
    • Can interact with CRISPProgramV2
      • set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail
    • Can interact with InterfoldDAO
      • change multisig plugin target execution configuration
      • change support, participation, duration, 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.-power and minimum-approval requirements for future votes
      • change the settings of the CRISP token-voting plugin used as the IPP voting stage, including the committee size of future votes
      • grant and revoke permissions in the DAO
      • redirect calls made by the Admin plugin to another executor or target
      • redirect passed CRISP vote actions to another executor or target
      • redirect passed Interfold Protocol Proposal actions to another executor or target
      • redirect passed proposal actions to another executor or target
      • redirect passed vote actions to another executor or target
      • replace the address trusted to append the effective caller to IPP proposal transactions
      • replace the address trusted to append the effective caller to proposal transactions
      • replace the rules that gate creation of Interfold Protocol Proposals
      • replace the rules that gate public creation of staged proposals
      • replace the stages, bodies, thresholds and timing rules for future Interfold Protocol Proposals
      • replace the stages, bodies, thresholds and timing rules for future public proposals
    • Can interact with SlashingManager
      • create or disable slash policies, grant or revoke evidence slashers, resolve appeals, close E3 assignments and propose, confirm or remove 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. bans
      • replace the coordinator, bonding registry, ciphernode registry and refund manager, and grant or revoke governance membership. A transfer of the default-admin role itself has the configured delay
    • Can interact with CRISPProgram
      • set census roots and replace the application RISC Zero verifier or guest image ID immediately. Such replacement cannot change the verifier snapshotted by Interfold, but can make an in-flight round fail
    • Can interact with NodeReleaseRegistry
      • raise the required ciphernode protocol version and node generation, which instantly invalidates every operator’s cached eligibility until they attest the new release. The requirement can only increase, and only while new E3 requests are paused and no E3s or committees are active
    • Can interact with VotingEscrowDAO
      • change cooldowns and exit fees and upgrade the voting-escrow exit queue
      • change multisig plugin settings
      • change multisig plugin target execution configuration
      • change transfer whitelist settings and upgrade the voting-lock NFT
      • change voting epochs and upgrade the voting-escrow Clock
      • change voting-power curve parameters and upgrade the Curve implementation
      • complete queued voting-escrow withdrawals
      • grant and revoke permissions in the voting-escrow DAO
      • manage gauge metadata and the voting-power update hook
      • pause and unpause voting-escrow operations
      • pause the escrow voting-power adapter, manage delegation settings and upgrade its implementation
      • replace voting-power dependencies, change minimum deposits and split rules, and upgrade VotingEscrow
      • sweep unaccounted tokens and NFTs from VotingEscrow
      • update delegated voting power through the escrow voting adapter
    • Can interact with InterfoldTicketToken
      • schedule and activate a registry replacement after one day when all ticket liabilities are zero, and rescue ERC-20s other than the underlying sUSDS
    • Can interact with RandomnessProvider
      • replace the Chainlink VRF coordinator that delivers the sortition entropy
    • Can interact with CiphernodeRegistry
      • replace the coordinator, bonding, slashing and randomness-provider dependencies; add or remove ciphernodes; change the sortition window and randomness timeout; and update the DKG verifier and accusation-vote validity parameters. DKG-verifier replacement and risk-reducing accusation-window changes use a two-day propose/commit delay, while other changes are immediate. Randomness settings can only change while new requests are paused and no committees are outstanding
    BondingRegistry0x0ec9…915F

    Collateral registry for ciphernode operators. Operators become eligible by depositing ticket collateral backed by sUSDS and a FOLD bond, and by attesting a current software release in the NodeReleaseRegistry; the contract also enforces exits, committee obligations, bans and slashing debits. It checkpoints bond ownership so that committee sortition admits at most one 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. key per bond owner, and applies an owner-set admission policy (cooldown and pause) to future committees.

    • Can interact with InterfoldTicketToken
      • deposit and withdraw underlying sUSDS, mint and burn ticket tokens, and pay out underlying reserved by ticket slashing
    • Can interact with CiphernodeRegistry
      • add and remove ciphernode operator keys as collateral positions are registered and exited
    • Can interact with BondedCheckpoints
      • write bonded-FOLD voting-power checkpoints
    Interfold0x28cF…c715

    Coordinator for Encrypted Execution Environments (E3s). It accepts requests for allowlisted programs, selects a ciphernode committee, snapshots the configured 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., and verifies the encrypted result and threshold decryption before publishing plaintext output.

    • Can interact with BondingRegistry
      • deposit and credit ticket collateral for an 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 interact with E3RefundManager
      • snapshot E3 refund policy and credit protocol payments
    • Can interact with CiphernodeRegistry
      • request and release E3 committees
    SlashingManager0x7531…EEe4

    Policy and evidence router for ciphernode penalties, appeals and bans. Slashing is effective only for reasons with an enabled policy and through a manager authorized by the BondingRegistry.

    • Can interact with BondingRegistry
      • slash 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. ticket collateral and FOLD bonds, ban operators and manage slash-routing state
    • Can interact with CiphernodeRegistry
      • expel selected members from active committees
    E3RefundManager0x1940…0F6e

    Upgradeable accounting contract that snapshots the refund policy for each E3 and distributes request fees and routed slashed funds between the requester, honest committee members, protocol treasury and reserve.

    • Can interact with BondingRegistry
      • deposit and credit ticket collateral for an 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.
    RandomnessProvider0xC609…3e00

    Supplies committee-sortition entropy as a Chainlink VRF v2.5 subscription consumer. Only its fixed requester (the CiphernodeRegistry) can request randomness, each E3 can be served exactly once, and requests revert while the funding subscription balance is below the configured minimum. All VRF parameters are immutable.

    • Can interact with CiphernodeRegistry
      • deliver the entropy used to select ciphernode committees for each E3
    CrispTokenVoting0xf101…098c

    Upgradeable Aragon voting plugin from the interfold-crisp plugin repo. Votes are cast as encrypted CRISP ballots and tallied through an Interfold E3, so individual votes stay confidential to the ciphernode committee threshold. Used as the token-holder voting stage of the Interfold Protocol Proposal path.

    • Can interact with InterfoldDAO
      • change multisig plugin target execution configuration
    PublicTokenVoting0xfb4e…0BDC

    Upgradeable Aragon majority-voting plugin used as the voting body in Interfold’s public staged proposal path. Voting power comes from the immutable BondedVotes adapter.

    • Can interact with InterfoldDAO
      • change multisig plugin target execution configuration
    VotingEscrowMultisig0xDE2C…bd7C

    A Multisig with 1/1 threshold. Aragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.

    Participants (1):

    EOA 1

    Member of VotingEscrowMultisig.

    • Can upgrade with no delay
      • VotingEscrowDAO
    • Can interact with VotingEscrowDAO
      • change cooldowns and exit fees and upgrade the voting-escrow exit queue
      • change multisig plugin settings
      • change multisig plugin target execution configuration
      • change transfer whitelist settings and upgrade the voting-lock NFT
      • change voting epochs and upgrade the voting-escrow Clock
      • change voting-power curve parameters and upgrade the Curve implementation
      • complete queued voting-escrow withdrawals
      • grant and revoke permissions in the voting-escrow DAO
      • manage gauge metadata and the voting-power update hook
      • pause and unpause voting-escrow operations
      • pause the escrow voting-power adapter, manage delegation settings and upgrade its implementation
      • replace voting-power dependencies, change minimum deposits and split rules, and upgrade VotingEscrow
      • sweep unaccounted tokens and NFTs from VotingEscrow
      • update delegated voting power through the escrow voting adapter
    • Can interact with CRISPProgram
      • attest that ballot inputs are available so a CRISP round can proceed
    • Can interact with CRISPProgramV2
      • attest that ballot inputs are available so a CRISP round can proceed
    • Can interact with CiphernodeRegistry
      • be selected by ticket-weighted sortition into E3 committees, whose members create key shares and threshold-decrypt E3 outputs. Enough colluding members of one committee can decrypt every input of that E3
    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner

    Ethereum

    DkgAggregatorVerifier
    3 instances
    0x0a4D…97cb0x7987…793c0xBb64…4fEc

    Immutable generated Honk verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. for the BFV distributed-key-generation aggregation circuitA program written for the purpose of being proven within a proving system. A circuit is a mathematical representation of the computation to be executed, arithmetic circuits and zkVM execution trace are examples of circuits. Circuits can be written in different languages, ranging from low-level to high-level..

    OpenVmReceiptVerifier0x0dd5…400b

    Immutable OpenVM receipt verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover.. It checks a Halo2 proof whose only public value is the journal digest, bound to one OpenVM executable and VM commitment.

    BfvDecryptionVerifier
    3 instances
    0x194A…f9A50x3171…8B390x43c6…E1d8

    Threshold-decryption proof wrapper. It checks the generated circuitA program written for the purpose of being proven within a proving system. A circuit is a mathematical representation of the computation to be executed, arithmetic circuits and zkVM execution trace are examples of circuits. Circuits can be written in different languages, ranging from low-level to high-level. proof and binds its parties and public-key context to the committee recorded by CiphernodeRegistry.

    CRISPProgram0x1EA4…Ee28

    CRISP encrypted-ballot E3 application. It verifies ballot eligibility and encryption proofs, commits ciphertext inputs, checks that an OpenVM tally proof is bound to its input root and parameters, and decodes the threshold-decrypted tally.

    • Roles:
      • inputAvailabilitySigner: EOA 2
      • owner: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
    BfvPkVerifierRouter0x3E96…406b

    Immutable router for BFV distributed-key-generation proofs. It forwards each proof to the per-committee-size BfvPkVerifier whose public-input length and circuitA program written for the purpose of being proven within a proving system. A circuit is a mathematical representation of the computation to be executed, arithmetic circuits and zkVM execution trace are examples of circuits. Circuits can be written in different languages, ranging from low-level to high-level. verification-key hashes match, so committees of every supported size share one verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. entry point.

    MockE3Program0x4976…F3D7

    Permanently allowlisted test E3 application. It accepts arbitrary input and returns successful validation and output verification, so requests using it exercise the protocol proof pipeline without application-level correctness checks.

    CRISPProgramV20x53FC…1BA3

    CRISP encrypted-ballot E3 application. It verifies ballot eligibility and encryption proofs, commits ciphertext inputs, checks that a RISC Zero tally is bound to its input root and parameters, and decodes the threshold-decrypted tally.

    • Roles:
      • inputAvailabilitySigner: EOA 2
      • owner: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor

    BFV public-key proof wrapper. It binds the generated circuitA program written for the purpose of being proven within a proving system. A circuit is a mathematical representation of the computation to be executed, arithmetic circuits and zkVM execution trace are examples of circuits. Circuits can be written in different languages, ranging from low-level to high-level. verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. to the expected DKG-fold and C5 verification-key hashes.

    OpenVmBfvCiphertextVerifier0x6cD2…2dD1

    Ciphertext-output verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. for BFV E3s. It accepts an OpenVM proof for the immutable guest image ID against the E3-specific journal constructed by Interfold.

    OpenVmHalo2Verifier0x75cE…F904

    Immutable Halo2 verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. generated by the OpenVM 2.0 SDK. It checks the final proof of an OpenVM execution against the app executable and VM commitments passed by the caller.

    DecryptionAggregatorVerifier
    3 instances
    0x769C…4Ada0xbe01…5C800xC590…D013

    Immutable generated Honk verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. for the BFV threshold-decryption aggregation circuitA program written for the purpose of being proven within a proving system. A circuit is a mathematical representation of the computation to be executed, arithmetic circuits and zkVM execution trace are examples of circuits. Circuits can be written in different languages, ranging from low-level to high-level..

    CRISPProgram0x847A…169f

    CRISP encrypted-ballot E3 application. It verifies ballot eligibility and encryption proofs, commits ciphertext inputs, checks that a RISC Zero tally is bound to its input root and parameters, and decodes the threshold-decrypted tally.

    • Roles:
      • owner: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
    AvailVectorXDataAvailabilityVerifier
    2 instances
    0x9B50…32e30xC038…069E

    Immutable verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. of Avail blobThe 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. inclusion used by the CRISP program to attest that encrypted ballot inputs were published. It checks inclusion proofs against the Avail 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 VectorX light-clientSometimes labelled interchangeably as a “node”, they are tasked with processing transactions and managing the blockchains's state. They run the computations for each transaction according to the rollup's virtual machine and protocol rules. If comparing to Ethereum clients, these would be execution clients such as Geth, as opposed to consensus clients. contracts fixed at deployment.

    NodeReleaseRegistry0x9E1C…3b0A

    Registry of ciphernode software releases. Operators self-attest the release they run; staying eligible for new E3 committees requires an attestation matching the exact governance-set protocol version and at least the required nodeA software client that participates in the network. generation. Raising the requirement instantly invalidates every 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.’s cached eligibility until they re-attest.

    • Roles:
      • owner: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
    BfvDecryptionVerifierRouter0xbbFF…f2eE

    Immutable router for BFV threshold-decryption proofs. It forwards each proof to the per-committee-size BfvDecryptionVerifier whose public-input length and circuitA program written for the purpose of being proven within a proving system. A circuit is a mathematical representation of the computation to be executed, arithmetic circuits and zkVM execution trace are examples of circuits. Circuits can be written in different languages, ranging from low-level to high-level. verification-key hashes match, so committees of every supported size share one verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. entry point.

    InterfoldTicketToken0xC0B5…3B5D

    Non-transferable ERC-20 Votes wrapper for sUSDS used as ciphernode ticket collateral. Only the configured BondingRegistry can deposit, mint, burn, withdraw or pay out the underlying asset.

    • Roles:
      • owner: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • registry: BondingRegistry

    Registry of ciphernodes and E3 committees. It performs ticket-weighted committee selection (admitting at most one 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. key per bond owner, and only when the BondingRegistry counts at least as many distinct active bond owners as the committee size), records DKG (distributed key generation) proof anchors and the committee public key (to which cyphertexts can be encrypted), and tracks committee viability. Sortition entropy is supplied asynchronously by a governance-set randomness provider.

    • Roles:
      • admin: ProxyAdmin; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • bondingRegistry: BondingRegistry
      • interfold: Interfold
      • owner: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • randomnessProvider: RandomnessProvider
      • registeredCiphernodes: EOA 10, EOA 11, EOA 12, EOA 13, EOA 14, EOA 15, EOA 16, EOA 17, EOA 18, EOA 19, EOA 20, EOA 21, EOA 22, EOA 23, EOA 24, EOA 25, EOA 26, EOA 27, EOA 28, EOA 29, EOA 3, EOA 30, EOA 31, EOA 32, EOA 33, EOA 34, EOA 35, EOA 36, EOA 37, EOA 38, EOA 39, EOA 4, EOA 40, EOA 41, EOA 42, EOA 43, EOA 44, EOA 45, EOA 46, EOA 47, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9
      • slashingManager: SlashingManager
    BondedCheckpoints0xDbCa…f963

    Voting-power checkpoint store updated exclusively by the BondingRegistry so FOLD bonded to ciphernode operators remains visible to governance snapshots.

    • Roles:
      • registry: BondingRegistry

    Fixed-cap FOLD governance and ciphernode-bond token. Minting and pre-TGE transfer controls are disabled after the one-way TGE transition, while lock-policy administration can continue until the immutable lock cutoff.

    • Roles:
      • defaultAdmins: InterfoldSafeA
      • lockManagers: InterfoldSafeA
    DkgFoldAttestationVerifier0xE565…c770

    Immutable verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. for EIP-712 attestations that bind selected ciphernode 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. keys to the party commitments folded into an E3 distributed-key-generation proof.

    BondedVotes
    2 instances
    0x028d…b43E0x6Cd2…cFB6

    Voting-power adapter used by PublicTokenVoting. It counts voting-escrow power, FOLD bonded to ciphernode operators, and eligible vesting-locked wallet FOLD while using FOLD total supply as the quorum denominator.

    Upgradeable, currently paused gauge-voting plugin connected to VotingEscrow. It can update voting state used by escrow lock operations but is not the Interfold DAO proposal-voting plugin.

    Aragon condition attached to the public CREATE_PROPOSAL permission. Its mutable rule program determines which callers and proposal calls qualify for the otherwise-public grant.

    AragonExecutor0x56ce…40A4

    Immutable Aragon action executor used as a delegatecall target by PublicTokenVoting. It executes proposal action batches in the calling plugin’s context.

    Aragon DAO that stores governance state and executes proposal action batches.

    • Roles:
      • adminPluginExecutors: InterfoldSafeA, InterfoldSafeB
      • adminTargetManagers: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • conditionRuleManagers: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • crispVotingProposalCreators: ProtocolProposalProcessor
      • crispVotingSettingsManagers: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • crispVotingTargetManagers: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • daoExecutors: AdminPlugin, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • daoRootHolders: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • daoUpgraders: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • ippConditionRuleManagers: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • ippStageManagers: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • ippTargetManagers: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • ippTrustedForwarderManagers: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • multisigTargetConfigAdmins: AdminPlugin, CrispTokenVoting, InterfoldDAO, ProtocolProposalProcessor, PublicStagedProposalProcessor, PublicTokenVoting; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • sppStageManagers: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • sppTargetManagers: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • sppTrustedForwarderManagers: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • tokenVotingProposalCreators: PublicStagedProposalProcessor
      • tokenVotingSettingsManagers: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • tokenVotingTargetManagers: InterfoldDAO; ultimately AdminPlugin, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
    Implementation used in:

    veFOLD escrow that custodies locked FOLD, issues lock NFTs and calculates the voting power consumed by BondedVotes through EscrowVotesAdapter.

    Queue applying cooldowns and optional fees to withdrawals from VotingEscrow.

    Upgradeable IVotes adapter that exposes voting power from veFOLD locks. BondedVotes uses it as its primary voting-power source.

    Aragon DAO that stores governance state and executes proposal action batches.

    • Roles:
      • clockAdmins: VotingEscrowDAO; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • curveAdmins: VotingEscrowDAO; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • delegationTokenManagers: VotingEscrowDAO; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • exitQueueAdmins: VotingEscrowDAO; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • exitQueueWithdrawers: VotingEscrowDAO; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • gaugeAdmins: VotingEscrowDAO; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • gaugeUpgraders: VotingEscrowDAO; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • lockAdmins: VotingEscrowDAO; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • multisigSettingsAdmins: VotingEscrowDAO, VotingEscrowMultisig; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • multisigTargetConfigAdmins: VotingEscrowDAO, VotingEscrowMultisig; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • veDaoExecutors: InterfoldDAO, VotingEscrowMultisig
      • veDaoRootHolders: VotingEscrowDAO; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • veDaoUpgraders: VotingEscrowDAO; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • votesAdapterAdmins: VotingEscrowDAO; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • votingEscrowAdmins: VotingEscrowDAO; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • votingEscrowPausers: VotingEscrowDAO; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
      • votingEscrowSweepers: VotingEscrowDAO; ultimately AdminPlugin, EOA 1, InterfoldSafeA, InterfoldSafeB, ProtocolProposalProcessor, PublicStagedProposalProcessor
    Implementation used in:

    Timestamp clock defining veFOLD epochs, checkpoint cadence and gauge-voting windows.

    Aragon condition attached to the public CREATE_PROPOSAL permission. Its mutable rule program determines which callers and proposal calls qualify for the otherwise-public grant.

    VotingEscrowMemberCondition0xde42…2d76

    Immutable Aragon condition on the voting-escrow multisig’s public proposal grant. When the multisig is configured as only-listed, it restricts proposal creators to current listed members. The associated Multisig address is embedded immutably in bytecodeGenerally, an instruction set designed for efficient execution by a software interpreter or a virtual machine. Unlike human-readable source code, bytecode is expressed numerically. Within the context of rollups, often related to the concept of compatibility: whether the bytecode of programs on the rollup are capable of being run as-is on Ethereum as well, and vice versa..

    Curve that converts veFOLD lock amount and duration into voting power.

    ERC-721 whose tokens represent individual veFOLD lock positions.

    • Roles:
      • owner: InterfoldDAO
    CrispBallotVerifier0x6E1e…6bD0

    Unverified Honk verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. that CRISPProgram uses for ballot proofs in rounds whose voters are listed in a Merkle treeA hash-based data structure in which each leaf node is a hash of a block of data, and each non-leaf node is a hash of its children. The root of the tree is a cryptographic fingerprint of the entire data structure. Merkle trees (Merkle Patricia Tries) are used in Ethereum to efficiently store key-value pairs.. The source code of this contract is not verified on Etherscan.

    CrispOnchainBallotVerifier0xC496…9Ea8

    Unverified Honk verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. that CRISPProgram uses for ballot proofs in rounds that read voting power from the token, which includes every DAO vote. The source code of this contract is not verified on Etherscan.

    The current deployment carries some associated risks:

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