{
  "compiler": {
    "version": "0.8.27+commit.40a35a09"
  },
  "language": "Solidity",
  "output": {
    "abi": [
      {
        "inputs": [
          {
            "internalType": "struct Attestation",
            "name": "attestation",
            "type": "tuple",
            "components": [
              {
                "internalType": "bytes32",
                "name": "uid",
                "type": "bytes32"
              },
              {
                "internalType": "bytes32",
                "name": "schema",
                "type": "bytes32"
              },
              {
                "internalType": "uint64",
                "name": "time",
                "type": "uint64"
              },
              {
                "internalType": "uint64",
                "name": "expirationTime",
                "type": "uint64"
              },
              {
                "internalType": "uint64",
                "name": "revocationTime",
                "type": "uint64"
              },
              {
                "internalType": "bytes32",
                "name": "refUID",
                "type": "bytes32"
              },
              {
                "internalType": "address",
                "name": "recipient",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "attester",
                "type": "address"
              },
              {
                "internalType": "bool",
                "name": "revocable",
                "type": "bool"
              },
              {
                "internalType": "bytes",
                "name": "data",
                "type": "bytes"
              }
            ]
          }
        ],
        "stateMutability": "payable",
        "type": "function",
        "name": "attest",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "pure",
        "type": "function",
        "name": "isPayable",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "struct Attestation[]",
            "name": "attestations",
            "type": "tuple[]",
            "components": [
              {
                "internalType": "bytes32",
                "name": "uid",
                "type": "bytes32"
              },
              {
                "internalType": "bytes32",
                "name": "schema",
                "type": "bytes32"
              },
              {
                "internalType": "uint64",
                "name": "time",
                "type": "uint64"
              },
              {
                "internalType": "uint64",
                "name": "expirationTime",
                "type": "uint64"
              },
              {
                "internalType": "uint64",
                "name": "revocationTime",
                "type": "uint64"
              },
              {
                "internalType": "bytes32",
                "name": "refUID",
                "type": "bytes32"
              },
              {
                "internalType": "address",
                "name": "recipient",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "attester",
                "type": "address"
              },
              {
                "internalType": "bool",
                "name": "revocable",
                "type": "bool"
              },
              {
                "internalType": "bytes",
                "name": "data",
                "type": "bytes"
              }
            ]
          },
          {
            "internalType": "uint256[]",
            "name": "values",
            "type": "uint256[]"
          }
        ],
        "stateMutability": "payable",
        "type": "function",
        "name": "multiAttest",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "struct Attestation[]",
            "name": "attestations",
            "type": "tuple[]",
            "components": [
              {
                "internalType": "bytes32",
                "name": "uid",
                "type": "bytes32"
              },
              {
                "internalType": "bytes32",
                "name": "schema",
                "type": "bytes32"
              },
              {
                "internalType": "uint64",
                "name": "time",
                "type": "uint64"
              },
              {
                "internalType": "uint64",
                "name": "expirationTime",
                "type": "uint64"
              },
              {
                "internalType": "uint64",
                "name": "revocationTime",
                "type": "uint64"
              },
              {
                "internalType": "bytes32",
                "name": "refUID",
                "type": "bytes32"
              },
              {
                "internalType": "address",
                "name": "recipient",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "attester",
                "type": "address"
              },
              {
                "internalType": "bool",
                "name": "revocable",
                "type": "bool"
              },
              {
                "internalType": "bytes",
                "name": "data",
                "type": "bytes"
              }
            ]
          },
          {
            "internalType": "uint256[]",
            "name": "values",
            "type": "uint256[]"
          }
        ],
        "stateMutability": "payable",
        "type": "function",
        "name": "multiRevoke",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "struct Attestation",
            "name": "attestation",
            "type": "tuple",
            "components": [
              {
                "internalType": "bytes32",
                "name": "uid",
                "type": "bytes32"
              },
              {
                "internalType": "bytes32",
                "name": "schema",
                "type": "bytes32"
              },
              {
                "internalType": "uint64",
                "name": "time",
                "type": "uint64"
              },
              {
                "internalType": "uint64",
                "name": "expirationTime",
                "type": "uint64"
              },
              {
                "internalType": "uint64",
                "name": "revocationTime",
                "type": "uint64"
              },
              {
                "internalType": "bytes32",
                "name": "refUID",
                "type": "bytes32"
              },
              {
                "internalType": "address",
                "name": "recipient",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "attester",
                "type": "address"
              },
              {
                "internalType": "bool",
                "name": "revocable",
                "type": "bool"
              },
              {
                "internalType": "bytes",
                "name": "data",
                "type": "bytes"
              }
            ]
          }
        ],
        "stateMutability": "payable",
        "type": "function",
        "name": "revoke",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "version",
        "outputs": [
          {
            "internalType": "string",
            "name": "",
            "type": "string"
          }
        ]
      }
    ],
    "devdoc": {
      "kind": "dev",
      "methods": {
        "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": {
          "params": {
            "attestation": "The new attestation."
          },
          "returns": {
            "_0": "Whether the attestation is valid."
          }
        },
        "isPayable()": {
          "returns": {
            "_0": "Whether the resolver supports ETH transfers."
          }
        },
        "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": {
          "params": {
            "attestations": "The new attestations.",
            "values": "Explicit ETH amounts which were sent with each attestation."
          },
          "returns": {
            "_0": "Whether all the attestations are valid."
          }
        },
        "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": {
          "params": {
            "attestations": "The existing attestations to be revoked.",
            "values": "Explicit ETH amounts which were sent with each revocation."
          },
          "returns": {
            "_0": "Whether the attestations can be revoked."
          }
        },
        "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": {
          "params": {
            "attestation": "The existing attestation to be revoked."
          },
          "returns": {
            "_0": "Whether the attestation can be revoked."
          }
        },
        "version()": {
          "returns": {
            "_0": "Semver contract version as a string."
          }
        }
      },
      "version": 1
    },
    "userdoc": {
      "kind": "user",
      "methods": {
        "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": {
          "notice": "Processes an attestation and verifies whether it's valid."
        },
        "isPayable()": {
          "notice": "Checks if the resolver can be sent ETH."
        },
        "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": {
          "notice": "Processes multiple attestations and verifies whether they are valid."
        },
        "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": {
          "notice": "Processes revocation of multiple attestation and verifies they can be revoked."
        },
        "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": {
          "notice": "Processes an attestation revocation and verifies if it can be revoked."
        },
        "version()": {
          "notice": "Returns the full semver contract version."
        }
      },
      "version": 1
    }
  },
  "settings": {
    "remappings": [
      "@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/",
      "@openzeppelin/=node_modules/@openzeppelin/",
      "forge-std/=lib/forge-std/src/",
      "hardhat/=node_modules/hardhat/"
    ],
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "metadata": {
      "bytecodeHash": "ipfs"
    },
    "compilationTarget": {
      "node_modules/@ethereum-attestation-service/eas-contracts/contracts/resolver/ISchemaResolver.sol": "ISchemaResolver"
    },
    "evmVersion": "cancun",
    "libraries": {},
    "viaIR": true
  },
  "sources": {
    "node_modules/@ethereum-attestation-service/eas-contracts/contracts/Common.sol": {
      "keccak256": "0x957bd2e6d0d6d637f86208b135c29fbaf4412cb08e5e7a61ede16b80561bf685",
      "urls": [
        "bzz-raw://da1dc9aedbb1d4d39c46c2235918d3adfbc5741dd34a46010cf425d134e7936d",
        "dweb:/ipfs/QmWUk6bXnLaghS2riF3GTFEeURCzgYFMA5woa6AsgPwEgc"
      ],
      "license": "MIT"
    },
    "node_modules/@ethereum-attestation-service/eas-contracts/contracts/ISemver.sol": {
      "keccak256": "0x04a67939b4e1a8d0a51101b8f69f8882930bbdc66319f38023828625b5d1ff18",
      "urls": [
        "bzz-raw://3dd543fa0e33cef1ea757627f9c2a10a66ee1ce17aa9087f437c5b53a903c7f0",
        "dweb:/ipfs/QmXsy6UsGBzF9zPCCjmiwPpCcX3tHqU13TmR67B69tKnR6"
      ],
      "license": "MIT"
    },
    "node_modules/@ethereum-attestation-service/eas-contracts/contracts/resolver/ISchemaResolver.sol": {
      "keccak256": "0xb7d1961ed928c620cddf35c2bf46845b10828bc5d73145214630202ed355b6bb",
      "urls": [
        "bzz-raw://cf1cabacfb15c9bace8280b540b52e5aa440e1b4eba675f9782c34ce0f03902f",
        "dweb:/ipfs/QmakYcK4xbrijzvoaBCmBJK6HeaBqbXxWKtDQ1z62aXwCR"
      ],
      "license": "MIT"
    }
  },
  "version": 1
}