{
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "AlreadyExists",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "uid",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "registerer",
          "type": "address"
        }
      ],
      "name": "Registered",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "uid",
          "type": "bytes32"
        }
      ],
      "name": "getSchema",
      "outputs": [
        {
          "components": [
            {
              "internalType": "bytes32",
              "name": "uid",
              "type": "bytes32"
            },
            {
              "internalType": "contract ISchemaResolver",
              "name": "resolver",
              "type": "address"
            },
            {
              "internalType": "bool",
              "name": "revocable",
              "type": "bool"
            },
            {
              "internalType": "string",
              "name": "schema",
              "type": "string"
            }
          ],
          "internalType": "struct SchemaRecord",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "schema",
          "type": "string"
        },
        {
          "internalType": "contract ISchemaResolver",
          "name": "resolver",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "revocable",
          "type": "bool"
        }
      ],
      "name": "register",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "address": "0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13",
  "args": [],
  "bytecode": "[encoded data, 5820 characters]",
  "deployedBytecode": "[encoded data, 5678 characters]",
  "devdoc": {
    "version": 1,
    "kind": "dev",
    "methods": {
      "constructor": {
        "details": "Creates a new SchemaRegistry instance."
      },
      "getSchema(bytes32)": {
        "details": "Returns an existing schema by UID",
        "params": {
          "uid": "The UID of the schema to retrieve."
        },
        "returns": {
          "_0": "The schema data members."
        }
      },
      "register(string,address,bool)": {
        "details": "Submits and reserves a new schema",
        "params": {
          "resolver": "An optional schema resolver.",
          "revocable": "Whether the schema allows revocations explicitly.",
          "schema": "The schema data schema."
        },
        "returns": {
          "_0": "The UID of the new schema."
        }
      },
      "version()": {
        "returns": {
          "_0": "Semver contract version as a string."
        }
      }
    },
    "events": {
      "Registered(bytes32,address)": {
        "details": "Emitted when a new schema has been registered",
        "params": {
          "registerer": "The address of the account used to register the schema.",
          "uid": "The schema UID."
        }
      }
    },
    "title": "SchemaRegistry"
  },
  "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"type\":\"error\",\"name\":\"AlreadyExists\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"registerer\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"Registered\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getSchema\",\"outputs\":[{\"internalType\":\"struct SchemaRecord\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISchemaResolver\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"schema\",\"type\":\"string\"}]}]},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"schema\",\"type\":\"string\"},{\"internalType\":\"contract ISchemaResolver\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"register\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}]}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Creates a new SchemaRegistry instance.\"},\"getSchema(bytes32)\":{\"details\":\"Returns an existing schema by UID\",\"params\":{\"uid\":\"The UID of the schema to retrieve.\"},\"returns\":{\"_0\":\"The schema data members.\"}},\"register(string,address,bool)\":{\"details\":\"Submits and reserves a new schema\",\"params\":{\"resolver\":\"An optional schema resolver.\",\"revocable\":\"Whether the schema allows revocations explicitly.\",\"schema\":\"The schema data schema.\"},\"returns\":{\"_0\":\"The UID of the new schema.\"}},\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"version\":1}},\"settings\":{\"remappings\":[\":@cwia/=node_modules/clones-with-immutable-args/src/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@openzeppelin/contracts-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/\",\":@rari-capital/=node_modules/@rari-capital/\",\":@rari-capital/solmate/=node_modules/@rari-capital/solmate/\",\":clones-with-immutable-args/=node_modules/clones-with-immutable-args/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"],\"optimizer\":{\"enabled\":true,\"runs\":999999},\"metadata\":{\"bytecodeHash\":\"none\"},\"compilationTarget\":{\"contracts/EAS/SchemaRegistry.sol\":\"SchemaRegistry\"},\"libraries\":{}},\"sources\":{\"contracts/EAS/Common.sol\":{\"keccak256\":\"0x880e8262ee6682eeca6140e5a0b71f98e0c4024720c777da161e05a7715ed09a\",\"urls\":[\"bzz-raw://56ed7dc6b538070a66b851275a6a9721275da9e5e83631d94e93620cd679c3f6\",\"dweb:/ipfs/QmVjKgNr3jbnYerjDyFGLky8wXCUR8SuzxrsypBVVSW3tk\"],\"license\":\"MIT\"},\"contracts/EAS/ISchemaRegistry.sol\":{\"keccak256\":\"0x4e988bea43a70e8ed156c7ee74dd3667872a68f65fa10dc4f07ddd4d89b929f1\",\"urls\":[\"bzz-raw://046977484b8089aad16f2064099b3f7604bcbddd61334e046838c3c448b5ebb5\",\"dweb:/ipfs/QmXdorYunKEbiosCGL4teYCd1W2njCqujvMWQjYonAxU6w\"],\"license\":\"MIT\"},\"contracts/EAS/SchemaRegistry.sol\":{\"keccak256\":\"0x41f61bef4ebc0c20d0ed6bbab7623f26e0ff13f68e969211a8882a9610f935b6\",\"urls\":[\"bzz-raw://cccadbdd3bf6546ed9d7280119b6d0c7d4de6f92de9469cbab62c01d59b84c8b\",\"dweb:/ipfs/Qmf7vycRfckwYCUYN7e6bce4QuMj35hjR1AqqtoYm4gNxu\"],\"license\":\"MIT\"},\"contracts/EAS/resolver/ISchemaResolver.sol\":{\"keccak256\":\"0xe537341e3d8d9c8e0eada21b4278beef510781fb1745892312c286a3c8287c2d\",\"urls\":[\"bzz-raw://5ab80b1fd7b6ad0ca94ff14358c5ba942614e25632d8a07c8e364d3f45c08453\",\"dweb:/ipfs/QmY6WToUtVo1HpDq7z7Tb17othZnJwpz4m26GuzKAsGTeM\"],\"license\":\"MIT\"},\"contracts/universal/Semver.sol\":{\"keccak256\":\"0xc455c84bb1f17e994dea0451fd363f81f83965bfa86e81ac6c8b3a327b9a0ff0\",\"urls\":[\"bzz-raw://fab499f3c0d7df8eb763b50621848d5d2147fb9c42a8eb9b65a11093090bb482\",\"dweb:/ipfs/QmUKsG4ztwtUZFjuRYAxgUFTgH5YxWSGF1BFFaB7vdM2K3\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xaf159a8b1923ad2a26d516089bceca9bdeaeacd04be50983ea00ba63070f08a3\",\"urls\":[\"bzz-raw://6f2cf1c531122bc7ca96b8c8db6a60deae60441e5223065e792553d4849b5638\",\"dweb:/ipfs/QmPBdJmBBABMDCfyDjCbdxgiqRavgiSL88SYPGibgbPas9\"],\"license\":\"MIT\"}},\"version\":1}",
  "numDeployments": 1,
  "receipt": {
    "transactionHash": "0xef2a1eb6082e0ce53a239b80272f9ac5e0734901f0e2b7dc851d6f4d3ab04e8e",
    "transactionIndex": "0x1",
    "blockHash": "0x3d832e9dc651b4667640a6a685b55f4548663e0e936adf45c2336dc44f029b68",
    "blockNumber": "0x6645730",
    "from": "0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa",
    "to": null,
    "cumulativeGasUsed": "0xadf9a",
    "gasUsed": "0xa1a55",
    "contractAddress": "0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13",
    "logs": [],
    "status": "0x1",
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "type": "0x2",
    "effectiveGasPrice": "0xb2d05e40"
  },
  "solcInputHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "storageLayout": {
    "storage": [
      {
        "astId": 27112,
        "contract": "contracts/EAS/SchemaRegistry.sol:SchemaRegistry",
        "label": "_registry",
        "offset": 0,
        "slot": "0",
        "type": "t_mapping(t_bytes32,t_struct(SchemaRecord)27057_storage)"
      },
      {
        "astId": 27118,
        "contract": "contracts/EAS/SchemaRegistry.sol:SchemaRegistry",
        "label": "__gap",
        "offset": 0,
        "slot": "1",
        "type": "t_array(t_uint256)49_storage"
      }
    ],
    "types": {
      "t_array(t_uint256)49_storage": {
        "encoding": "inplace",
        "label": "uint256[49]",
        "numberOfBytes": "1568",
        "base": "t_uint256"
      },
      "t_bool": {
        "encoding": "inplace",
        "label": "bool",
        "numberOfBytes": "1"
      },
      "t_bytes32": {
        "encoding": "inplace",
        "label": "bytes32",
        "numberOfBytes": "32"
      },
      "t_contract(ISchemaResolver)27536": {
        "encoding": "inplace",
        "label": "contract ISchemaResolver",
        "numberOfBytes": "20"
      },
      "t_mapping(t_bytes32,t_struct(SchemaRecord)27057_storage)": {
        "encoding": "mapping",
        "key": "t_bytes32",
        "label": "mapping(bytes32 => struct SchemaRecord)",
        "numberOfBytes": "32",
        "value": "t_struct(SchemaRecord)27057_storage"
      },
      "t_string_storage": {
        "encoding": "bytes",
        "label": "string",
        "numberOfBytes": "32"
      },
      "t_struct(SchemaRecord)27057_storage": {
        "encoding": "inplace",
        "label": "struct SchemaRecord",
        "numberOfBytes": "96",
        "members": [
          {
            "astId": 27049,
            "contract": "contracts/EAS/SchemaRegistry.sol:SchemaRegistry",
            "label": "uid",
            "offset": 0,
            "slot": "0",
            "type": "t_bytes32"
          },
          {
            "astId": 27052,
            "contract": "contracts/EAS/SchemaRegistry.sol:SchemaRegistry",
            "label": "resolver",
            "offset": 0,
            "slot": "1",
            "type": "t_contract(ISchemaResolver)27536"
          },
          {
            "astId": 27054,
            "contract": "contracts/EAS/SchemaRegistry.sol:SchemaRegistry",
            "label": "revocable",
            "offset": 20,
            "slot": "1",
            "type": "t_bool"
          },
          {
            "astId": 27056,
            "contract": "contracts/EAS/SchemaRegistry.sol:SchemaRegistry",
            "label": "schema",
            "offset": 0,
            "slot": "2",
            "type": "t_string_storage"
          }
        ]
      },
      "t_uint256": {
        "encoding": "inplace",
        "label": "uint256",
        "numberOfBytes": "32"
      }
    }
  },
  "transactionHash": "0xef2a1eb6082e0ce53a239b80272f9ac5e0734901f0e2b7dc851d6f4d3ab04e8e",
  "userdoc": {
    "version": 1,
    "kind": "user",
    "methods": {
      "version()": {
        "notice": "Returns the full semver contract version."
      }
    },
    "notice": "The global attestation schemas for the Ethereum Attestation Service protocol."
  }
}