{
  "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": "0x2545fa928d5d278cA75Fd47306e4a89096ff6403",
  "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\":[\":.ignored_clones-with-immutable-args/=node_modules/.ignored_clones-with-immutable-args/src/\",\":.ignored_forge-std/=node_modules/.ignored_forge-std/src/\",\":@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\":\"0x922fda236f56fa813171ac1ae04d70d58763142ed084e36d29b369160f99acef\",\"urls\":[\"bzz-raw://82c6eb5ce50a0cfa28ad70fcd33fcd7f7704d538666127dc7aca32960423851b\",\"dweb:/ipfs/QmVQXmi9d7R4iks3rKNQKsq9HeuHZwpCg68jFbYGTw3VUs\"],\"license\":\"MIT\"},\"contracts/EAS/ISchemaRegistry.sol\":{\"keccak256\":\"0x456637ee808bb949d3941cd8b11581a7e7e0a92f304dbbf06fba320f27f57664\",\"urls\":[\"bzz-raw://372bc7f2fc72460daa5273200ac0d6b81427a23a65c8f5152a0f0fe2a47567d7\",\"dweb:/ipfs/QmSDDuVvp5nXaNDPzZbDMH1YE2nN4nrK8hEDctWds4wRah\"],\"license\":\"MIT\"},\"contracts/EAS/SchemaRegistry.sol\":{\"keccak256\":\"0x0cba1207d8986681585b65863a7cefd5cfc23e9e414d02baef027fca5cc8113d\",\"urls\":[\"bzz-raw://a5f62f15f3e977d1416af1cc4742e312d6f7c75a5ab533180695e02eb603d172\",\"dweb:/ipfs/QmPsyWTzKet3v4bfM7H8Eyz2uRRafz25Jxeqg9c6rKUDPH\"],\"license\":\"MIT\"},\"contracts/EAS/resolver/ISchemaResolver.sol\":{\"keccak256\":\"0x222f41e52e73c3edf2adcddd65c1c6911287b701b07413959a2f720778136135\",\"urls\":[\"bzz-raw://5b3fc66b38c358c3aa704aa3c22bfe7d48063f18529dbc6b61666d0609ffd658\",\"dweb:/ipfs/QmcHBVQzH4mTV1afqQrYw83kgknNETQ1brgWryBwN6u3mf\"],\"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": "0xfcee65e070a73f09d30aeae275abb7ff11f0e6d7a950c6032b0fb7e0950a382c",
    "transactionIndex": "0x1",
    "blockHash": "0x9c59cce84fd9fdd418fa3b99cc22fc52b775eed30b3671ab644dbec7630ce162",
    "blockNumber": "0xbaabdb",
    "from": "0x18394B52d3Cb931dfA76F63251919D051953413d",
    "to": null,
    "cumulativeGasUsed": "0xad18a",
    "gasUsed": "0xa1a55",
    "contractAddress": "0x2545fa928d5d278cA75Fd47306e4a89096ff6403",
    "logs": [],
    "status": "0x1",
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "type": "0x2",
    "effectiveGasPrice": "0xb2d05e32"
  },
  "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": "0xfcee65e070a73f09d30aeae275abb7ff11f0e6d7a950c6032b0fb7e0950a382c",
  "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."
  }
}