{
  "contractName": "SuperWalletTrustRegistry",
  "sourceName": "contracts/SuperWalletTrustRegistry.sol",
  "compiler": {
    "version": "0.8.24+commit.e11b9ed9",
    "settings": {
      "optimizer": {
        "enabled": true,
        "runs": 200
      },
      "evmVersion": "paris"
    }
  },
  "creationBytecodeKeccak256": "0x8dc69c7e939701e522ce83b235d58d4399ef1c9c4d14178d24524b050123c115",
  "runtimeBytecodeKeccak256": "0x71297ff897fb5570ffda13ff3acddc07c6907b6c6930512628e284d157a3b9e2",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "credentialId",
          "type": "bytes32"
        }
      ],
      "name": "AlreadyAnchored",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "credentialId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "circuitId",
          "type": "bytes32"
        }
      ],
      "name": "AlreadyCommitted",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "credentialId",
          "type": "bytes32"
        }
      ],
      "name": "AlreadyRevoked",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BatchLengthMismatch",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "size",
          "type": "uint256"
        }
      ],
      "name": "BatchSize",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "circuitId",
          "type": "bytes32"
        }
      ],
      "name": "CircuitAlreadyRegistered",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "circuitId",
          "type": "bytes32"
        }
      ],
      "name": "CircuitUnknown",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        }
      ],
      "name": "IssuerNotActive",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        }
      ],
      "name": "IssuerUnknown",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "credentialId",
          "type": "bytes32"
        }
      ],
      "name": "NotAnchored",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "caller",
          "type": "address"
        }
      ],
      "name": "NotIssuerOperator",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotOwner",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotPendingOwner",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        }
      ],
      "name": "OperatorAlreadyAdded",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        }
      ],
      "name": "OperatorNotFound",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ZeroValue",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "credentialId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "digest",
          "type": "bytes32"
        }
      ],
      "name": "Anchored",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "circuitId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "verifier",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "vkHash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint16",
          "name": "ceremonyContributions",
          "type": "uint16"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "uri",
          "type": "string"
        }
      ],
      "name": "CircuitRegistered",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "credentialId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "circuitId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "commitment",
          "type": "uint256"
        }
      ],
      "name": "Committed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "keyFingerprint",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "did",
          "type": "string"
        }
      ],
      "name": "IssuerRegistered",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        }
      ],
      "name": "IssuerSuspended",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "operator",
          "type": "address"
        }
      ],
      "name": "OperatorAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "operator",
          "type": "address"
        }
      ],
      "name": "OperatorRemoved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferStarted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "credentialId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "reason",
          "type": "uint8"
        }
      ],
      "name": "Revoked",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "ISSUER_ACTIVE",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "ISSUER_NONE",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "ISSUER_SUSPENDED",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "MAX_BATCH",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "acceptOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        }
      ],
      "name": "addOperator",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "credentialId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "digest",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        }
      ],
      "name": "anchor",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32[]",
          "name": "ids",
          "type": "bytes32[]"
        },
        {
          "internalType": "bytes32[]",
          "name": "digests",
          "type": "bytes32[]"
        },
        {
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        }
      ],
      "name": "anchorBatch",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "circuitId",
          "type": "bytes32"
        }
      ],
      "name": "circuit",
      "outputs": [
        {
          "internalType": "address",
          "name": "verifier",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "vkHash",
          "type": "bytes32"
        },
        {
          "internalType": "uint16",
          "name": "contributions",
          "type": "uint16"
        },
        {
          "internalType": "string",
          "name": "uri",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "credentialId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "circuitId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "commitmentValue",
          "type": "uint256"
        }
      ],
      "name": "commit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "credentialId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "circuitId",
          "type": "bytes32"
        }
      ],
      "name": "commitment",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "credentialId",
          "type": "bytes32"
        }
      ],
      "name": "credential",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "digest",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        },
        {
          "internalType": "uint64",
          "name": "anchoredAt",
          "type": "uint64"
        },
        {
          "internalType": "uint64",
          "name": "revokedAt",
          "type": "uint64"
        },
        {
          "internalType": "uint8",
          "name": "reason",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        }
      ],
      "name": "isOperator",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        }
      ],
      "name": "issuer",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "keyFingerprint",
          "type": "bytes32"
        },
        {
          "internalType": "string",
          "name": "did",
          "type": "string"
        },
        {
          "internalType": "uint8",
          "name": "status",
          "type": "uint8"
        },
        {
          "internalType": "uint64",
          "name": "since",
          "type": "uint64"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pendingOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "circuitId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "verifier",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "vkHash",
          "type": "bytes32"
        },
        {
          "internalType": "uint16",
          "name": "ceremonyContributions",
          "type": "uint16"
        },
        {
          "internalType": "string",
          "name": "uri",
          "type": "string"
        }
      ],
      "name": "registerCircuit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "keyFingerprint",
          "type": "bytes32"
        },
        {
          "internalType": "string",
          "name": "did",
          "type": "string"
        }
      ],
      "name": "registerIssuer",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        }
      ],
      "name": "removeOperator",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "credentialId",
          "type": "bytes32"
        },
        {
          "internalType": "uint8",
          "name": "reason",
          "type": "uint8"
        }
      ],
      "name": "revoke",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "issuerId",
          "type": "bytes32"
        }
      ],
      "name": "suspendIssuer",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ]
}
