[
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        }
      ],
      "name": "AppraiserRemoved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "contract FoundryAppraiserInterface",
          "name": "appraiserContract",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "appriaserId",
          "type": "uint256"
        }
      ],
      "name": "AppraiserSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newBeneficiary",
          "type": "address"
        }
      ],
      "name": "BeneficiarySet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        }
      ],
      "name": "Disabled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        }
      ],
      "name": "Enabled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        }
      ],
      "name": "GuardRemoved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "contract FoundryGuardInterface",
          "name": "instance",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "GuardSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "contract ZoneInterface",
          "name": "zone",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "parent",
          "type": "bytes32"
        }
      ],
      "name": "IssuanceCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "namehash",
          "type": "bytes32"
        }
      ],
      "name": "Registered",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "contract FoundryValidatorInterface",
          "name": "validatorContract",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "validatorId",
          "type": "uint256"
        }
      ],
      "name": "ValidatorAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "contract FoundryValidatorInterface",
          "name": "instance",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "ValidatorRemoved",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "MAX_ITEMS",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        },
        {
          "internalType": "contract FoundryValidatorInterface",
          "name": "instance",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "addValidator",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        },
        {
          "internalType": "string",
          "name": "label",
          "type": "string"
        }
      ],
      "name": "appraise",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "contract IERC20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "wallet",
          "type": "address"
        },
        {
          "internalType": "string",
          "name": "label",
          "type": "string"
        },
        {
          "internalType": "bytes",
          "name": "credentials",
          "type": "bytes"
        }
      ],
      "name": "authorize",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract ZoneInterface",
          "name": "zone",
          "type": "address"
        }
      ],
      "name": "createIssuance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract ZoneInterface",
          "name": "zone",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "parent",
          "type": "bytes32"
        }
      ],
      "name": "createSubIssuance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        }
      ],
      "name": "disable",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        }
      ],
      "name": "enable",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "issuances",
      "outputs": [
        {
          "internalType": "contract ZoneInterface",
          "name": "zone",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "parent",
          "type": "bytes32"
        },
        {
          "internalType": "bool",
          "name": "enabled",
          "type": "bool"
        },
        {
          "components": [
            {
              "internalType": "contract FoundryGuardInterface",
              "name": "instance",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            }
          ],
          "internalType": "struct BaseFoundry.Guard",
          "name": "guard",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "contract FoundryAppraiserInterface",
              "name": "instance",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            }
          ],
          "internalType": "struct BaseFoundry.Appraiser",
          "name": "appraiser",
          "type": "tuple"
        },
        {
          "internalType": "address",
          "name": "beneficiary",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        }
      ],
      "name": "listValidators",
      "outputs": [
        {
          "components": [
            {
              "internalType": "contract FoundryValidatorInterface",
              "name": "instance",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            }
          ],
          "internalType": "struct BaseFoundry.Validator[]",
          "name": "",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        },
        {
          "internalType": "string",
          "name": "label",
          "type": "string"
        },
        {
          "internalType": "bytes",
          "name": "credentials",
          "type": "bytes"
        }
      ],
      "name": "register",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "namehash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        }
      ],
      "name": "removeAppraiser",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        }
      ],
      "name": "removeGuard",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        },
        {
          "internalType": "contract FoundryValidatorInterface",
          "name": "instance",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "removeValidator",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        },
        {
          "internalType": "contract FoundryAppraiserInterface",
          "name": "instance",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "setAppraiser",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "newBeneficiary",
          "type": "address"
        }
      ],
      "name": "setBeneficiary",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        },
        {
          "internalType": "contract FoundryGuardInterface",
          "name": "instance",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "setGuard",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "issuanceId",
          "type": "uint256"
        },
        {
          "internalType": "string",
          "name": "label",
          "type": "string"
        }
      ],
      "name": "validate",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "contract FoundryValidatorInterface",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "validatorLookup",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "validators",
      "outputs": [
        {
          "internalType": "contract FoundryValidatorInterface",
          "name": "instance",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
]