{
  "_format": "hh3-artifact-1",
  "contractName": "MockCiphernodeRegistry",
  "sourceName": "contracts/test/MockCiphernodeRegistry.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "pending",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "provided",
          "type": "uint256"
        }
      ],
      "name": "AccusationVoteValidityMismatch",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "readyAt",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "nowAt",
          "type": "uint256"
        }
      ],
      "name": "AccusationVoteValidityTimelockActive",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "AccusationVoteValidityZeroRequiresTimelock",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "AttestationBindingCountMismatch",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondingRegistryNotSet",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "node",
          "type": "address"
        }
      ],
      "name": "CiphernodeNotEnabled",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "CommitteeAlreadyFinalized",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "CommitteeAlreadyPublished",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "CommitteeAlreadyRequested",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "CommitteeDeadlineReached",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "CommitteeNotFinalized",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "CommitteeNotInitializedOrFinalized",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "CommitteeNotPublished",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "CommitteeNotRequested",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "DkgProofRequired",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "FoldAttestationVerifierAlreadySet",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "FoldAttestationVerifierNotSet",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "FoldAttestationsRequired",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "requested",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "available",
          "type": "uint256"
        }
      ],
      "name": "InsufficientCiphernodes",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidDkgProof",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidFoldAttestation",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidTicketNumber",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NoPendingAccusationVoteValidityUpdate",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NoPendingVerifierUpdate",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NodeAlreadySubmitted",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "node",
          "type": "address"
        }
      ],
      "name": "NodeNotBonded",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NodeNotEligible",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NodeNotSubmitted",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotOwnerOrBondingRegistry",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotSlashingManager",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "OnlyBondingRegistry",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "OnlyEnclave",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "PartyIdNotInProof",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "partyId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "committeeSize",
          "type": "uint256"
        }
      ],
      "name": "PartyIdOutOfBounds",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "PkCommitmentRequired",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "SubmissionWindowClosed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "SubmissionWindowNotClosed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ThresholdNotMet",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "Unauthorized",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "pending",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "provided",
          "type": "address"
        }
      ],
      "name": "VerifierMismatch",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "readyAt",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "nowAt",
          "type": "uint256"
        }
      ],
      "name": "VerifierUpdateTimelockActive",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ZeroAddress",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "accusationVoteValidity",
          "type": "uint256"
        }
      ],
      "name": "AccusationVoteValidityProposalCancelled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "accusationVoteValidity",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "readyAt",
          "type": "uint256"
        }
      ],
      "name": "AccusationVoteValidityProposed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "accusationVoteValidity",
          "type": "uint256"
        }
      ],
      "name": "AccusationVoteValiditySet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "node",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "numNodes",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "size",
          "type": "uint256"
        }
      ],
      "name": "CiphernodeAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "node",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "numNodes",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "size",
          "type": "uint256"
        }
      ],
      "name": "CiphernodeRemoved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "active",
          "type": "bool"
        }
      ],
      "name": "CommitteeActivationChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "nodesSubmitted",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "thresholdRequired",
          "type": "uint256"
        }
      ],
      "name": "CommitteeFormationFailed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "node",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "reason",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "activeCountAfter",
          "type": "uint256"
        }
      ],
      "name": "CommitteeMemberExpelled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "nodes",
          "type": "address[]"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "publicKey",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "pkCommitment",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "proof",
          "type": "bytes"
        }
      ],
      "name": "CommitteePublished",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "seed",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint32[2]",
          "name": "threshold",
          "type": "uint32[2]"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "requestBlock",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "committeeDeadline",
          "type": "uint256"
        }
      ],
      "name": "CommitteeRequested",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "activeCount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "thresholdM",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "viable",
          "type": "bool"
        }
      ],
      "name": "CommitteeViabilityUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "verifier",
          "type": "address"
        }
      ],
      "name": "DkgFoldAttestationVerifierProposalCancelled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "verifier",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "readyAt",
          "type": "uint256"
        }
      ],
      "name": "DkgFoldAttestationVerifierProposed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "verifier",
          "type": "address"
        }
      ],
      "name": "DkgFoldAttestationVerifierUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "enclave",
          "type": "address"
        }
      ],
      "name": "EnclaveSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "committee",
          "type": "address[]"
        },
        {
          "indexed": false,
          "internalType": "uint256[]",
          "name": "scores",
          "type": "uint256[]"
        }
      ],
      "name": "SortitionCommitteeFinalized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "sortitionSubmissionWindow",
          "type": "uint256"
        }
      ],
      "name": "SortitionSubmissionWindowSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "node",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "ticketId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "score",
          "type": "uint256"
        }
      ],
      "name": "TicketSubmitted",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "accusationVoteValidity",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "addCiphernode",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "cancelAccusationVoteValidityProposal",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "partyId",
          "type": "uint256"
        }
      ],
      "name": "canonicalCommitteeNodeAt",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "commitAccusationVoteValidity",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        }
      ],
      "name": "committeePublicKey",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "member",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "expelCommitteeMember",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "",
          "type": "uint32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "finalizeCommittee",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "getActiveCommitteeNodes",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "nodes",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "scores",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getBondingRegistry",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "getCommitteeDeadline",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        }
      ],
      "name": "getCommitteeHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        }
      ],
      "name": "getCommitteeNodes",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        }
      ],
      "name": "getCommitteeViability",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "",
          "type": "uint32"
        },
        {
          "internalType": "uint32",
          "name": "",
          "type": "uint32"
        },
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        }
      ],
      "name": "getDkgAnchors",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "partyIds",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes32[]",
          "name": "skAggCommits",
          "type": "bytes32[]"
        },
        {
          "internalType": "bytes32[]",
          "name": "esmAggCommits",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "isCiphernodeEligible",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "node",
          "type": "address"
        }
      ],
      "name": "isCommitteeMember",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "node",
          "type": "address"
        }
      ],
      "name": "isCommitteeMemberActive",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "isEnabled",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "isOpen",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "proposeAccusationVoteValidity",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "publishCommittee",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "removeCiphernode",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint32[2]",
          "name": "",
          "type": "uint32[2]"
        }
      ],
      "name": "requestCommittee",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "root",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "rootAt",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "v",
          "type": "uint256"
        }
      ],
      "name": "setAccusationVoteValidity",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IBondingRegistry",
          "name": "",
          "type": "address"
        }
      ],
      "name": "setBondingRegistry",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "nodes",
          "type": "address[]"
        }
      ],
      "name": "setCommitteeNodes",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "internalType": "uint256[]",
          "name": "partyIds",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes32[]",
          "name": "skAggCommits",
          "type": "bytes32[]"
        },
        {
          "internalType": "bytes32[]",
          "name": "esmAggCommits",
          "type": "bytes32[]"
        }
      ],
      "name": "setDkgAnchors",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IEnclave",
          "name": "",
          "type": "address"
        }
      ],
      "name": "setEnclave",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "setSortitionSubmissionWindow",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "m",
          "type": "uint32"
        }
      ],
      "name": "setThreshold",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "sortitionSubmissionWindow",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "submitTicket",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "treeSize",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052610708600255348015601557600080fd5b5061108a806100256000396000f3fe608060405234801561001057600080fd5b50600436106101ac5760003560e01c8063096b810a146101b1578063099a161a146101c45780630b2ee92b146101ea5780630bbfade7146102205780630f3e34121461023857806317d611201461024657806324afef521461027c5780632800d8291461028f578063291a691b146102a25780632e7b716d146102c95780634d6861a6146102dd5780635d504776146102eb5780635efb633c146102fe57806366d3da80146101c25780636c120a951461030657806370e36bbe146101b15780637c92f524146103195780638a78bb15146101b15780638d1ddfb1146103465780639015d3711461034d57806392c0118f14610238578063967966cc146102385780639f0f874a14610346578063a016493014610361578063a55dd12a14610381578063a8a4d69b14610394578063b8ab4704146103a7578063c3a0ec30146103c9578063ca2869a0146103e4578063da881e5a146103f2578063e4d185db14610400578063e59e4695146101b1578063e6745e1314610413578063e82f3b7014610425578063ebf0c71714610346578063f52fd80314610438575b600080fd5b6101c26101bf366004610b68565b50565b005b6101d76101d2366004610b8c565b61047a565b6040519081526020015b60405180910390f35b6101c26101f8366004610ba5565b600091825260016020526040909120805463ffffffff191663ffffffff909216919091179055565b6101c261022e366004610c26565b5050505050505050565b6101c26101bf366004610b8c565b61026e610254366004610b8c565b506040805160008082526020820190815281830190925291565b6040516101e1929190610d53565b6101c261028a366004610dc5565b6104b2565b6101d761029d366004610b8c565b610547565b6102b96102b0366004610e10565b50600192915050565b60405190151581526020016101e1565b6102b96102d7366004610b68565b50600090565b6102b96102d7366004610b8c565b6102b96102f9366004610e4d565b61055a565b6002546101d7565b6101c2610314366004610b8c565b600255565b61032c610327366004610e72565b6105c7565b6040805192835263ffffffff9091166020830152016101e1565b60006101d7565b6102b961035b366004610b68565b50600190565b61037461036f366004610b8c565b6106f9565b6040516101e19190610eaa565b6101c261038f366004610ebd565b610763565b6102b96103a2366004610e4d565b6108a9565b6103ba6103b5366004610b8c565b61090b565b6040516101e193929190610f6a565b60005b6040516001600160a01b0390911681526020016101e1565b6101d76102d7366004610b8c565b6102b961035b366004610b8c565b6103cc61040e366004610fad565b610a2f565b6101c2610421366004610fad565b5050565b6101d7610433366004610b8c565b610a9f565b61044b610446366004610b8c565b610ac3565b6040516101e1949392919093845263ffffffff9283166020850152911660408301521515606082015260800190565b60008181526020818152604080832090516104959201610fcf565b604051602081830303815290604052805190602001209050919050565b60008381526020819052604081206104c991610b21565b60005b818110156105415760008481526020819052604090208383838181106104f4576104f4611015565b90506020020160208101906105099190610b68565b815460018082018455600093845260209093200180546001600160a01b0319166001600160a01b0392909216919091179055016104cc565b50505050565b600061055442600a611041565b92915050565b6000828152602081905260408120815b81548110156105bc57836001600160a01b031682828154811061058f5761058f611015565b6000918252602090912001546001600160a01b0316036105b457600192505050610554565b60010161056a565b506000949350505050565b60008381526020819052604081208190815b81548110156106d557856001600160a01b03168282815481106105fe576105fe611015565b6000918252602090912001546001600160a01b0316036106cd578154829061062890600190611054565b8154811061063857610638611015565b9060005260206000200160009054906101000a90046001600160a01b031682828154811061066857610668611015565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806106a6576106a6611067565b600082815260209020810160001990810180546001600160a01b03191690550190556106d5565b6001016105d9565b506000868152600160205260409020549054925063ffffffff169050935093915050565b6000818152602081815260409182902080548351818402810184019094528084526060939283018282801561075757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610739575b50505050509050919050565b600087815260036020526040812061077a91610b21565b600087815260046020526040812061079191610b21565b60008781526005602052604081206107a891610b21565b60005b858110156107fd5760008881526003602052604090208787838181106107d3576107d3611015565b835460018082018655600095865260209586902092909502939093013592019190915550016107ab565b5060005b8381101561085357600088815260046020526040902085858381811061082957610829611015565b83546001808201865560009586526020958690209290950293909301359201919091555001610801565b5060005b8181101561022e57600088815260056020526040902083838381811061087f5761087f611015565b83546001808201865560009586526020958690209290950293909301359201919091555001610857565b6000828152602081905260408120815b81548110156105bc57836001600160a01b03168282815481106108de576108de611015565b6000918252602090912001546001600160a01b03160361090357600192505050610554565b6001016108b9565b6000818152600360209081526040808320600483528184206005845293829020815483518186028101860190945280845260609586958695919392859183018282801561097757602002820191906000526020600020905b815481526020019060010190808311610963575b50505050509250818054806020026020016040519081016040528092919081815260200182805480156109c957602002820191906000526020600020905b8154815260200190600101908083116109b5575b5050505050915080805480602002602001604051908101604052809291908181526020018280548015610a1b57602002820191906000526020600020905b815481526020019060010190808311610a07575b505050505090509250925092509193909250565b600082815260208190526040812080548390808210610a6e576040516326c5c55b60e11b81526004810192909252602482015260440160405180910390fd5b5050808381548110610a8257610a82611015565b6000918252602090912001546001600160a01b0316949350505050565b60006000198203610ab257506000919050565b604080516020810184905201610495565b6000818152600160209081526040808320549183905282205482918291829163ffffffff908116919081908390829081168211801590610b09575060008563ffffffff16115b63ffffffff9093169a91995097509095509350505050565b50805460008255906000526020600020908101906101bf91905b80821115610b4f5760008155600101610b3b565b5090565b6001600160a01b03811681146101bf57600080fd5b600060208284031215610b7a57600080fd5b8135610b8581610b53565b9392505050565b600060208284031215610b9e57600080fd5b5035919050565b60008060408385031215610bb857600080fd5b82359150602083013563ffffffff81168114610bd357600080fd5b809150509250929050565b60008083601f840112610bf057600080fd5b5081356001600160401b03811115610c0757600080fd5b602083019150836020828501011115610c1f57600080fd5b9250929050565b60008060008060008060008060a0898b031215610c4257600080fd5b8835975060208901356001600160401b03811115610c5f57600080fd5b610c6b8b828c01610bde565b9098509650506040890135945060608901356001600160401b03811115610c9157600080fd5b610c9d8b828c01610bde565b90955093505060808901356001600160401b03811115610cbc57600080fd5b610cc88b828c01610bde565b999c989b5096995094979396929594505050565b600081518084526020840193506020830160005b82811015610d175781516001600160a01b0316865260209586019590910190600101610cf0565b5093949350505050565b600081518084526020840193506020830160005b82811015610d17578151865260209586019590910190600101610d35565b604081526000610d666040830185610cdc565b8281036020840152610d788185610d21565b95945050505050565b60008083601f840112610d9357600080fd5b5081356001600160401b03811115610daa57600080fd5b6020830191508360208260051b8501011115610c1f57600080fd5b600080600060408486031215610dda57600080fd5b8335925060208401356001600160401b03811115610df757600080fd5b610e0386828701610d81565b9497909650939450505050565b600080600060808486031215610e2557600080fd5b833592506020840135915060808401851015610e4057600080fd5b6040840190509250925092565b60008060408385031215610e6057600080fd5b823591506020830135610bd381610b53565b600080600060608486031215610e8757600080fd5b833592506020840135610e9981610b53565b929592945050506040919091013590565b602081526000610b856020830184610cdc565b60008060008060008060006080888a031215610ed857600080fd5b8735965060208801356001600160401b03811115610ef557600080fd5b610f018a828b01610d81565b90975095505060408801356001600160401b03811115610f2057600080fd5b610f2c8a828b01610d81565b90955093505060608801356001600160401b03811115610f4b57600080fd5b610f578a828b01610d81565b989b979a50959850939692959293505050565b606081526000610f7d6060830186610d21565b8281036020840152610f8f8186610d21565b90508281036040840152610fa38185610d21565b9695505050505050565b60008060408385031215610fc057600080fd5b50508035926020909101359150565b600081835483915084600052602060002060005b8281101561100a5781546001600160a01b0316845260209093019260019182019101610fe3565b509195945050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156105545761055461102b565b818103818111156105545761055461102b565b634e487b7160e01b600052603160045260246000fdfea164736f6c634300081c000a",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101ac5760003560e01c8063096b810a146101b1578063099a161a146101c45780630b2ee92b146101ea5780630bbfade7146102205780630f3e34121461023857806317d611201461024657806324afef521461027c5780632800d8291461028f578063291a691b146102a25780632e7b716d146102c95780634d6861a6146102dd5780635d504776146102eb5780635efb633c146102fe57806366d3da80146101c25780636c120a951461030657806370e36bbe146101b15780637c92f524146103195780638a78bb15146101b15780638d1ddfb1146103465780639015d3711461034d57806392c0118f14610238578063967966cc146102385780639f0f874a14610346578063a016493014610361578063a55dd12a14610381578063a8a4d69b14610394578063b8ab4704146103a7578063c3a0ec30146103c9578063ca2869a0146103e4578063da881e5a146103f2578063e4d185db14610400578063e59e4695146101b1578063e6745e1314610413578063e82f3b7014610425578063ebf0c71714610346578063f52fd80314610438575b600080fd5b6101c26101bf366004610b68565b50565b005b6101d76101d2366004610b8c565b61047a565b6040519081526020015b60405180910390f35b6101c26101f8366004610ba5565b600091825260016020526040909120805463ffffffff191663ffffffff909216919091179055565b6101c261022e366004610c26565b5050505050505050565b6101c26101bf366004610b8c565b61026e610254366004610b8c565b506040805160008082526020820190815281830190925291565b6040516101e1929190610d53565b6101c261028a366004610dc5565b6104b2565b6101d761029d366004610b8c565b610547565b6102b96102b0366004610e10565b50600192915050565b60405190151581526020016101e1565b6102b96102d7366004610b68565b50600090565b6102b96102d7366004610b8c565b6102b96102f9366004610e4d565b61055a565b6002546101d7565b6101c2610314366004610b8c565b600255565b61032c610327366004610e72565b6105c7565b6040805192835263ffffffff9091166020830152016101e1565b60006101d7565b6102b961035b366004610b68565b50600190565b61037461036f366004610b8c565b6106f9565b6040516101e19190610eaa565b6101c261038f366004610ebd565b610763565b6102b96103a2366004610e4d565b6108a9565b6103ba6103b5366004610b8c565b61090b565b6040516101e193929190610f6a565b60005b6040516001600160a01b0390911681526020016101e1565b6101d76102d7366004610b8c565b6102b961035b366004610b8c565b6103cc61040e366004610fad565b610a2f565b6101c2610421366004610fad565b5050565b6101d7610433366004610b8c565b610a9f565b61044b610446366004610b8c565b610ac3565b6040516101e1949392919093845263ffffffff9283166020850152911660408301521515606082015260800190565b60008181526020818152604080832090516104959201610fcf565b604051602081830303815290604052805190602001209050919050565b60008381526020819052604081206104c991610b21565b60005b818110156105415760008481526020819052604090208383838181106104f4576104f4611015565b90506020020160208101906105099190610b68565b815460018082018455600093845260209093200180546001600160a01b0319166001600160a01b0392909216919091179055016104cc565b50505050565b600061055442600a611041565b92915050565b6000828152602081905260408120815b81548110156105bc57836001600160a01b031682828154811061058f5761058f611015565b6000918252602090912001546001600160a01b0316036105b457600192505050610554565b60010161056a565b506000949350505050565b60008381526020819052604081208190815b81548110156106d557856001600160a01b03168282815481106105fe576105fe611015565b6000918252602090912001546001600160a01b0316036106cd578154829061062890600190611054565b8154811061063857610638611015565b9060005260206000200160009054906101000a90046001600160a01b031682828154811061066857610668611015565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806106a6576106a6611067565b600082815260209020810160001990810180546001600160a01b03191690550190556106d5565b6001016105d9565b506000868152600160205260409020549054925063ffffffff169050935093915050565b6000818152602081815260409182902080548351818402810184019094528084526060939283018282801561075757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610739575b50505050509050919050565b600087815260036020526040812061077a91610b21565b600087815260046020526040812061079191610b21565b60008781526005602052604081206107a891610b21565b60005b858110156107fd5760008881526003602052604090208787838181106107d3576107d3611015565b835460018082018655600095865260209586902092909502939093013592019190915550016107ab565b5060005b8381101561085357600088815260046020526040902085858381811061082957610829611015565b83546001808201865560009586526020958690209290950293909301359201919091555001610801565b5060005b8181101561022e57600088815260056020526040902083838381811061087f5761087f611015565b83546001808201865560009586526020958690209290950293909301359201919091555001610857565b6000828152602081905260408120815b81548110156105bc57836001600160a01b03168282815481106108de576108de611015565b6000918252602090912001546001600160a01b03160361090357600192505050610554565b6001016108b9565b6000818152600360209081526040808320600483528184206005845293829020815483518186028101860190945280845260609586958695919392859183018282801561097757602002820191906000526020600020905b815481526020019060010190808311610963575b50505050509250818054806020026020016040519081016040528092919081815260200182805480156109c957602002820191906000526020600020905b8154815260200190600101908083116109b5575b5050505050915080805480602002602001604051908101604052809291908181526020018280548015610a1b57602002820191906000526020600020905b815481526020019060010190808311610a07575b505050505090509250925092509193909250565b600082815260208190526040812080548390808210610a6e576040516326c5c55b60e11b81526004810192909252602482015260440160405180910390fd5b5050808381548110610a8257610a82611015565b6000918252602090912001546001600160a01b0316949350505050565b60006000198203610ab257506000919050565b604080516020810184905201610495565b6000818152600160209081526040808320549183905282205482918291829163ffffffff908116919081908390829081168211801590610b09575060008563ffffffff16115b63ffffffff9093169a91995097509095509350505050565b50805460008255906000526020600020908101906101bf91905b80821115610b4f5760008155600101610b3b565b5090565b6001600160a01b03811681146101bf57600080fd5b600060208284031215610b7a57600080fd5b8135610b8581610b53565b9392505050565b600060208284031215610b9e57600080fd5b5035919050565b60008060408385031215610bb857600080fd5b82359150602083013563ffffffff81168114610bd357600080fd5b809150509250929050565b60008083601f840112610bf057600080fd5b5081356001600160401b03811115610c0757600080fd5b602083019150836020828501011115610c1f57600080fd5b9250929050565b60008060008060008060008060a0898b031215610c4257600080fd5b8835975060208901356001600160401b03811115610c5f57600080fd5b610c6b8b828c01610bde565b9098509650506040890135945060608901356001600160401b03811115610c9157600080fd5b610c9d8b828c01610bde565b90955093505060808901356001600160401b03811115610cbc57600080fd5b610cc88b828c01610bde565b999c989b5096995094979396929594505050565b600081518084526020840193506020830160005b82811015610d175781516001600160a01b0316865260209586019590910190600101610cf0565b5093949350505050565b600081518084526020840193506020830160005b82811015610d17578151865260209586019590910190600101610d35565b604081526000610d666040830185610cdc565b8281036020840152610d788185610d21565b95945050505050565b60008083601f840112610d9357600080fd5b5081356001600160401b03811115610daa57600080fd5b6020830191508360208260051b8501011115610c1f57600080fd5b600080600060408486031215610dda57600080fd5b8335925060208401356001600160401b03811115610df757600080fd5b610e0386828701610d81565b9497909650939450505050565b600080600060808486031215610e2557600080fd5b833592506020840135915060808401851015610e4057600080fd5b6040840190509250925092565b60008060408385031215610e6057600080fd5b823591506020830135610bd381610b53565b600080600060608486031215610e8757600080fd5b833592506020840135610e9981610b53565b929592945050506040919091013590565b602081526000610b856020830184610cdc565b60008060008060008060006080888a031215610ed857600080fd5b8735965060208801356001600160401b03811115610ef557600080fd5b610f018a828b01610d81565b90975095505060408801356001600160401b03811115610f2057600080fd5b610f2c8a828b01610d81565b90955093505060608801356001600160401b03811115610f4b57600080fd5b610f578a828b01610d81565b989b979a50959850939692959293505050565b606081526000610f7d6060830186610d21565b8281036020840152610f8f8186610d21565b90508281036040840152610fa38185610d21565b9695505050505050565b60008060408385031215610fc057600080fd5b50508035926020909101359150565b600081835483915084600052602060002060005b8281101561100a5781546001600160a01b0316845260209093019260019182019101610fe3565b509195945050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156105545761055461102b565b818103818111156105545761055461102b565b634e487b7160e01b600052603160045260246000fdfea164736f6c634300081c000a",
  "linkReferences": {},
  "deployedLinkReferences": {},
  "immutableReferences": {},
  "inputSourceName": "project/contracts/test/MockCiphernodeRegistry.sol",
  "buildInfoId": "solc-0_8_28-58b894a0ac77a2d784be77b69288a062b8f6f518"
}