{
  "contractName": "Registrar",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "registrationDate",
          "type": "uint256"
        }
      ],
      "name": "AuctionStarted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "status",
          "type": "uint8"
        }
      ],
      "name": "BidRevealed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "string",
          "name": "name",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "registrationDate",
          "type": "uint256"
        }
      ],
      "name": "HashInvalidated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "registrationDate",
          "type": "uint256"
        }
      ],
      "name": "HashRegistered",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "HashReleased",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "bidder",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "deposit",
          "type": "uint256"
        }
      ],
      "name": "NewBid",
      "type": "event"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_hash",
          "type": "bytes32"
        }
      ],
      "name": "state",
      "outputs": [
        {
          "internalType": "enum Registrar.Mode",
          "name": "",
          "type": "uint8"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_hash",
          "type": "bytes32"
        }
      ],
      "name": "startAuction",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32[]",
          "name": "_hashes",
          "type": "bytes32[]"
        }
      ],
      "name": "startAuctions",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "sealedBid",
          "type": "bytes32"
        }
      ],
      "name": "newBid",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32[]",
          "name": "hashes",
          "type": "bytes32[]"
        },
        {
          "internalType": "bytes32",
          "name": "sealedBid",
          "type": "bytes32"
        }
      ],
      "name": "startAuctionsAndBid",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_hash",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "_salt",
          "type": "bytes32"
        }
      ],
      "name": "unsealBid",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "bidder",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "seal",
          "type": "bytes32"
        }
      ],
      "name": "cancelBid",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_hash",
          "type": "bytes32"
        }
      ],
      "name": "finalizeAuction",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_hash",
          "type": "bytes32"
        },
        {
          "internalType": "address payable",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transfer",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_hash",
          "type": "bytes32"
        }
      ],
      "name": "releaseDeed",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "string",
          "name": "unhashedName",
          "type": "string"
        }
      ],
      "name": "invalidateName",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32[]",
          "name": "labels",
          "type": "bytes32[]"
        }
      ],
      "name": "eraseNode",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_hash",
          "type": "bytes32"
        }
      ],
      "name": "transferRegistrars",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        },
        {
          "internalType": "contract Deed",
          "name": "deed",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "registrationDate",
          "type": "uint256"
        }
      ],
      "name": "acceptRegistrarTransfer",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_hash",
          "type": "bytes32"
        }
      ],
      "name": "entries",
      "outputs": [
        {
          "internalType": "enum Registrar.Mode",
          "name": "",
          "type": "uint8"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"registrationDate\",\"type\":\"uint256\"}],\"name\":\"AuctionStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"BidRevealed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"registrationDate\",\"type\":\"uint256\"}],\"name\":\"HashInvalidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"registrationDate\",\"type\":\"uint256\"}],\"name\":\"HashRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"HashReleased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"}],\"name\":\"NewBid\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"contract Deed\",\"name\":\"deed\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"registrationDate\",\"type\":\"uint256\"}],\"name\":\"acceptRegistrarTransfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"seal\",\"type\":\"bytes32\"}],\"name\":\"cancelBid\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"entries\",\"outputs\":[{\"internalType\":\"enum Registrar.Mode\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"labels\",\"type\":\"bytes32[]\"}],\"name\":\"eraseNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"finalizeAuction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"unhashedName\",\"type\":\"string\"}],\"name\":\"invalidateName\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"sealedBid\",\"type\":\"bytes32\"}],\"name\":\"newBid\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"releaseDeed\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"startAuction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_hashes\",\"type\":\"bytes32[]\"}],\"name\":\"startAuctions\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"hashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32\",\"name\":\"sealedBid\",\"type\":\"bytes32\"}],\"name\":\"startAuctionsAndBid\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum Registrar.Mode\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"},{\"internalType\":\"address payable\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"transferRegistrars\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_salt\",\"type\":\"bytes32\"}],\"name\":\"unsealBid\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/makoto/work/ens/ens/contracts/Registrar.sol\":\"Registrar\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/makoto/work/ens/ens/contracts/Deed.sol\":{\"keccak256\":\"0x7b4abd2f65e2e093743077b899d0fb4952627ad7ff6104b840f9869f5baa5e96\",\"urls\":[\"bzz-raw://d72dc40eb83ded3cca64d6c1b9958f665f4cd61115fed4d32dfd62d0c6ded0fc\",\"dweb:/ipfs/Qmdkef7QyeJDF96ToptWRWroYYuD8XjCvrtxy46dA62iA2\"]},\"/Users/makoto/work/ens/ens/contracts/Registrar.sol\":{\"keccak256\":\"0xaef3f85ba0cf0544485d506a3f93719a90f8f28ef6c59f7175955768bec719bb\",\"urls\":[\"bzz-raw://fc1be7eec872590585a2dfbc0b3d0ef332444dd528ee75e96fb107f265ccc5e7\",\"dweb:/ipfs/QmUCo66Bpmic9rHjdjw2VrmmJ7c7Ma1oHJ2ZvbtctsDM6g\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "pragma solidity >=0.4.24;\n\nimport \"./Deed.sol\";\n\ninterface Registrar {\n\n    enum Mode { Open, Auction, Owned, Forbidden, Reveal, NotYetAvailable }\n\n    event AuctionStarted(bytes32 indexed hash, uint registrationDate);\n    event NewBid(bytes32 indexed hash, address indexed bidder, uint deposit);\n    event BidRevealed(bytes32 indexed hash, address indexed owner, uint value, uint8 status);\n    event HashRegistered(bytes32 indexed hash, address indexed owner, uint value, uint registrationDate);\n    event HashReleased(bytes32 indexed hash, uint value);\n    event HashInvalidated(bytes32 indexed hash, string indexed name, uint value, uint registrationDate);\n\n    function state(bytes32 _hash) external view returns (Mode);\n    function startAuction(bytes32 _hash) external;\n    function startAuctions(bytes32[] calldata _hashes) external;\n    function newBid(bytes32 sealedBid) external payable;\n    function startAuctionsAndBid(bytes32[] calldata hashes, bytes32 sealedBid) external payable;\n    function unsealBid(bytes32 _hash, uint _value, bytes32 _salt) external;\n    function cancelBid(address bidder, bytes32 seal) external;\n    function finalizeAuction(bytes32 _hash) external;\n    function transfer(bytes32 _hash, address payable newOwner) external;\n    function releaseDeed(bytes32 _hash) external;\n    function invalidateName(string calldata unhashedName) external;\n    function eraseNode(bytes32[] calldata labels) external;\n    function transferRegistrars(bytes32 _hash) external;\n    function acceptRegistrarTransfer(bytes32 hash, Deed deed, uint registrationDate) external;\n    function entries(bytes32 _hash) external view returns (Mode, address, uint, uint, uint);\n}\n",
  "sourcePath": "/Users/makoto/work/ens/ens/contracts/Registrar.sol",
  "ast": {
    "absolutePath": "/Users/makoto/work/ens/ens/contracts/Registrar.sol",
    "exportedSymbols": {
      "Registrar": [
        2727
      ]
    },
    "id": 2728,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2564,
        "literals": [
          "solidity",
          ">=",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:25:8"
      },
      {
        "absolutePath": "/Users/makoto/work/ens/ens/contracts/Deed.sol",
        "file": "./Deed.sol",
        "id": 2565,
        "nodeType": "ImportDirective",
        "scope": 2728,
        "sourceUnit": 48,
        "src": "27:20:8",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 2727,
        "linearizedBaseContracts": [
          2727
        ],
        "name": "Registrar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "canonicalName": "Registrar.Mode",
            "id": 2572,
            "members": [
              {
                "id": 2566,
                "name": "Open",
                "nodeType": "EnumValue",
                "src": "88:4:8"
              },
              {
                "id": 2567,
                "name": "Auction",
                "nodeType": "EnumValue",
                "src": "94:7:8"
              },
              {
                "id": 2568,
                "name": "Owned",
                "nodeType": "EnumValue",
                "src": "103:5:8"
              },
              {
                "id": 2569,
                "name": "Forbidden",
                "nodeType": "EnumValue",
                "src": "110:9:8"
              },
              {
                "id": 2570,
                "name": "Reveal",
                "nodeType": "EnumValue",
                "src": "121:6:8"
              },
              {
                "id": 2571,
                "name": "NotYetAvailable",
                "nodeType": "EnumValue",
                "src": "129:15:8"
              }
            ],
            "name": "Mode",
            "nodeType": "EnumDefinition",
            "src": "76:70:8"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2578,
            "name": "AuctionStarted",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2577,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2574,
                  "indexed": true,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2578,
                  "src": "173:20:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2573,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "173:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2576,
                  "indexed": false,
                  "name": "registrationDate",
                  "nodeType": "VariableDeclaration",
                  "scope": 2578,
                  "src": "195:21:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2575,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "195:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "172:45:8"
            },
            "src": "152:66:8"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2586,
            "name": "NewBid",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2585,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2580,
                  "indexed": true,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2586,
                  "src": "236:20:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2579,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "236:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2582,
                  "indexed": true,
                  "name": "bidder",
                  "nodeType": "VariableDeclaration",
                  "scope": 2586,
                  "src": "258:22:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2581,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "258:7:8",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2584,
                  "indexed": false,
                  "name": "deposit",
                  "nodeType": "VariableDeclaration",
                  "scope": 2586,
                  "src": "282:12:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2583,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "282:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "235:60:8"
            },
            "src": "223:73:8"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2596,
            "name": "BidRevealed",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2595,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2588,
                  "indexed": true,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2596,
                  "src": "319:20:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2587,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "319:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2590,
                  "indexed": true,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 2596,
                  "src": "341:21:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2589,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "341:7:8",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2592,
                  "indexed": false,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 2596,
                  "src": "364:10:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2591,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "364:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2594,
                  "indexed": false,
                  "name": "status",
                  "nodeType": "VariableDeclaration",
                  "scope": 2596,
                  "src": "376:12:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 2593,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "376:5:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "318:71:8"
            },
            "src": "301:89:8"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2606,
            "name": "HashRegistered",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2605,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2598,
                  "indexed": true,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2606,
                  "src": "416:20:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2597,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "416:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2600,
                  "indexed": true,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 2606,
                  "src": "438:21:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2599,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "438:7:8",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2602,
                  "indexed": false,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 2606,
                  "src": "461:10:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2601,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "461:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2604,
                  "indexed": false,
                  "name": "registrationDate",
                  "nodeType": "VariableDeclaration",
                  "scope": 2606,
                  "src": "473:21:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2603,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "473:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "415:80:8"
            },
            "src": "395:101:8"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2612,
            "name": "HashReleased",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2611,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2608,
                  "indexed": true,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2612,
                  "src": "520:20:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2607,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "520:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2610,
                  "indexed": false,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 2612,
                  "src": "542:10:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2609,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "542:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "519:34:8"
            },
            "src": "501:53:8"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2622,
            "name": "HashInvalidated",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2621,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2614,
                  "indexed": true,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2622,
                  "src": "581:20:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2613,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "581:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2616,
                  "indexed": true,
                  "name": "name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2622,
                  "src": "603:19:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2615,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "603:6:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2618,
                  "indexed": false,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 2622,
                  "src": "624:10:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2617,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "624:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2620,
                  "indexed": false,
                  "name": "registrationDate",
                  "nodeType": "VariableDeclaration",
                  "scope": 2622,
                  "src": "636:21:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2619,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "636:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "580:78:8"
            },
            "src": "559:100:8"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2629,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "state",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2625,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2624,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2629,
                  "src": "680:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2623,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "680:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "679:15:8"
            },
            "returnParameters": {
              "id": 2628,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2627,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2629,
                  "src": "718:4:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_Mode_$2572",
                    "typeString": "enum Registrar.Mode"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2626,
                    "name": "Mode",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2572,
                    "src": "718:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Mode_$2572",
                      "typeString": "enum Registrar.Mode"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "717:6:8"
            },
            "scope": 2727,
            "src": "665:59:8",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2634,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "startAuction",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2632,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2631,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2634,
                  "src": "751:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2630,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "751:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "750:15:8"
            },
            "returnParameters": {
              "id": 2633,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "774:0:8"
            },
            "scope": 2727,
            "src": "729:46:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2640,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "startAuctions",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2638,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2637,
                  "name": "_hashes",
                  "nodeType": "VariableDeclaration",
                  "scope": 2640,
                  "src": "803:26:8",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 2635,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "803:7:8",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 2636,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "803:9:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "802:28:8"
            },
            "returnParameters": {
              "id": 2639,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "839:0:8"
            },
            "scope": 2727,
            "src": "780:60:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2645,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "newBid",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2643,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2642,
                  "name": "sealedBid",
                  "nodeType": "VariableDeclaration",
                  "scope": 2645,
                  "src": "861:17:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2641,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "861:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "860:19:8"
            },
            "returnParameters": {
              "id": 2644,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "896:0:8"
            },
            "scope": 2727,
            "src": "845:52:8",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2653,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "startAuctionsAndBid",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2651,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2648,
                  "name": "hashes",
                  "nodeType": "VariableDeclaration",
                  "scope": 2653,
                  "src": "931:25:8",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 2646,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "931:7:8",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 2647,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "931:9:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2650,
                  "name": "sealedBid",
                  "nodeType": "VariableDeclaration",
                  "scope": 2653,
                  "src": "958:17:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2649,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "958:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "930:46:8"
            },
            "returnParameters": {
              "id": 2652,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "993:0:8"
            },
            "scope": 2727,
            "src": "902:92:8",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2662,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "unsealBid",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2660,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2655,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2662,
                  "src": "1018:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2654,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1018:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2657,
                  "name": "_value",
                  "nodeType": "VariableDeclaration",
                  "scope": 2662,
                  "src": "1033:11:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2656,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1033:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2659,
                  "name": "_salt",
                  "nodeType": "VariableDeclaration",
                  "scope": 2662,
                  "src": "1046:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2658,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1046:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1017:43:8"
            },
            "returnParameters": {
              "id": 2661,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1069:0:8"
            },
            "scope": 2727,
            "src": "999:71:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2669,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "cancelBid",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2667,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2664,
                  "name": "bidder",
                  "nodeType": "VariableDeclaration",
                  "scope": 2669,
                  "src": "1094:14:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2663,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1094:7:8",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2666,
                  "name": "seal",
                  "nodeType": "VariableDeclaration",
                  "scope": 2669,
                  "src": "1110:12:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2665,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1110:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1093:30:8"
            },
            "returnParameters": {
              "id": 2668,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1132:0:8"
            },
            "scope": 2727,
            "src": "1075:58:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2674,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "finalizeAuction",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2672,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2671,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2674,
                  "src": "1163:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2670,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1163:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1162:15:8"
            },
            "returnParameters": {
              "id": 2673,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1186:0:8"
            },
            "scope": 2727,
            "src": "1138:49:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2681,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2679,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2676,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2681,
                  "src": "1210:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2675,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1210:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2678,
                  "name": "newOwner",
                  "nodeType": "VariableDeclaration",
                  "scope": 2681,
                  "src": "1225:24:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address_payable",
                    "typeString": "address payable"
                  },
                  "typeName": {
                    "id": 2677,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1225:15:8",
                    "stateMutability": "payable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address_payable",
                      "typeString": "address payable"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1209:41:8"
            },
            "returnParameters": {
              "id": 2680,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1259:0:8"
            },
            "scope": 2727,
            "src": "1192:68:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2686,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "releaseDeed",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2684,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2683,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2686,
                  "src": "1286:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2682,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1286:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1285:15:8"
            },
            "returnParameters": {
              "id": 2685,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1309:0:8"
            },
            "scope": 2727,
            "src": "1265:45:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2691,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "invalidateName",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2689,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2688,
                  "name": "unhashedName",
                  "nodeType": "VariableDeclaration",
                  "scope": 2691,
                  "src": "1339:28:8",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2687,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1339:6:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1338:30:8"
            },
            "returnParameters": {
              "id": 2690,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1377:0:8"
            },
            "scope": 2727,
            "src": "1315:63:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2697,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "eraseNode",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2695,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2694,
                  "name": "labels",
                  "nodeType": "VariableDeclaration",
                  "scope": 2697,
                  "src": "1402:25:8",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 2692,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "1402:7:8",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 2693,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1402:9:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1401:27:8"
            },
            "returnParameters": {
              "id": 2696,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1437:0:8"
            },
            "scope": 2727,
            "src": "1383:55:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2702,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transferRegistrars",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2700,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2699,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2702,
                  "src": "1471:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2698,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1471:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1470:15:8"
            },
            "returnParameters": {
              "id": 2701,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1494:0:8"
            },
            "scope": 2727,
            "src": "1443:52:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2711,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "acceptRegistrarTransfer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2709,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2704,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2711,
                  "src": "1533:12:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2703,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1533:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2706,
                  "name": "deed",
                  "nodeType": "VariableDeclaration",
                  "scope": 2711,
                  "src": "1547:9:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_Deed_$47",
                    "typeString": "contract Deed"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2705,
                    "name": "Deed",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 47,
                    "src": "1547:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Deed_$47",
                      "typeString": "contract Deed"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2708,
                  "name": "registrationDate",
                  "nodeType": "VariableDeclaration",
                  "scope": 2711,
                  "src": "1558:21:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2707,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1558:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1532:48:8"
            },
            "returnParameters": {
              "id": 2710,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1589:0:8"
            },
            "scope": 2727,
            "src": "1500:90:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2726,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "entries",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2714,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2713,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2726,
                  "src": "1612:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2712,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1612:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1611:15:8"
            },
            "returnParameters": {
              "id": 2725,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2716,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2726,
                  "src": "1650:4:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_Mode_$2572",
                    "typeString": "enum Registrar.Mode"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2715,
                    "name": "Mode",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2572,
                    "src": "1650:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Mode_$2572",
                      "typeString": "enum Registrar.Mode"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2718,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2726,
                  "src": "1656:7:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2717,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1656:7:8",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2720,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2726,
                  "src": "1665:4:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2719,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1665:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2722,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2726,
                  "src": "1671:4:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2721,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1671:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2724,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2726,
                  "src": "1677:4:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2723,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1677:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1649:33:8"
            },
            "scope": 2727,
            "src": "1595:88:8",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          }
        ],
        "scope": 2728,
        "src": "49:1636:8"
      }
    ],
    "src": "0:1686:8"
  },
  "legacyAST": {
    "absolutePath": "/Users/makoto/work/ens/ens/contracts/Registrar.sol",
    "exportedSymbols": {
      "Registrar": [
        2727
      ]
    },
    "id": 2728,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2564,
        "literals": [
          "solidity",
          ">=",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:25:8"
      },
      {
        "absolutePath": "/Users/makoto/work/ens/ens/contracts/Deed.sol",
        "file": "./Deed.sol",
        "id": 2565,
        "nodeType": "ImportDirective",
        "scope": 2728,
        "sourceUnit": 48,
        "src": "27:20:8",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 2727,
        "linearizedBaseContracts": [
          2727
        ],
        "name": "Registrar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "canonicalName": "Registrar.Mode",
            "id": 2572,
            "members": [
              {
                "id": 2566,
                "name": "Open",
                "nodeType": "EnumValue",
                "src": "88:4:8"
              },
              {
                "id": 2567,
                "name": "Auction",
                "nodeType": "EnumValue",
                "src": "94:7:8"
              },
              {
                "id": 2568,
                "name": "Owned",
                "nodeType": "EnumValue",
                "src": "103:5:8"
              },
              {
                "id": 2569,
                "name": "Forbidden",
                "nodeType": "EnumValue",
                "src": "110:9:8"
              },
              {
                "id": 2570,
                "name": "Reveal",
                "nodeType": "EnumValue",
                "src": "121:6:8"
              },
              {
                "id": 2571,
                "name": "NotYetAvailable",
                "nodeType": "EnumValue",
                "src": "129:15:8"
              }
            ],
            "name": "Mode",
            "nodeType": "EnumDefinition",
            "src": "76:70:8"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2578,
            "name": "AuctionStarted",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2577,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2574,
                  "indexed": true,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2578,
                  "src": "173:20:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2573,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "173:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2576,
                  "indexed": false,
                  "name": "registrationDate",
                  "nodeType": "VariableDeclaration",
                  "scope": 2578,
                  "src": "195:21:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2575,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "195:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "172:45:8"
            },
            "src": "152:66:8"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2586,
            "name": "NewBid",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2585,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2580,
                  "indexed": true,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2586,
                  "src": "236:20:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2579,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "236:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2582,
                  "indexed": true,
                  "name": "bidder",
                  "nodeType": "VariableDeclaration",
                  "scope": 2586,
                  "src": "258:22:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2581,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "258:7:8",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2584,
                  "indexed": false,
                  "name": "deposit",
                  "nodeType": "VariableDeclaration",
                  "scope": 2586,
                  "src": "282:12:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2583,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "282:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "235:60:8"
            },
            "src": "223:73:8"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2596,
            "name": "BidRevealed",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2595,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2588,
                  "indexed": true,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2596,
                  "src": "319:20:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2587,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "319:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2590,
                  "indexed": true,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 2596,
                  "src": "341:21:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2589,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "341:7:8",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2592,
                  "indexed": false,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 2596,
                  "src": "364:10:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2591,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "364:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2594,
                  "indexed": false,
                  "name": "status",
                  "nodeType": "VariableDeclaration",
                  "scope": 2596,
                  "src": "376:12:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 2593,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "376:5:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "318:71:8"
            },
            "src": "301:89:8"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2606,
            "name": "HashRegistered",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2605,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2598,
                  "indexed": true,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2606,
                  "src": "416:20:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2597,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "416:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2600,
                  "indexed": true,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 2606,
                  "src": "438:21:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2599,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "438:7:8",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2602,
                  "indexed": false,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 2606,
                  "src": "461:10:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2601,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "461:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2604,
                  "indexed": false,
                  "name": "registrationDate",
                  "nodeType": "VariableDeclaration",
                  "scope": 2606,
                  "src": "473:21:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2603,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "473:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "415:80:8"
            },
            "src": "395:101:8"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2612,
            "name": "HashReleased",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2611,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2608,
                  "indexed": true,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2612,
                  "src": "520:20:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2607,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "520:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2610,
                  "indexed": false,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 2612,
                  "src": "542:10:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2609,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "542:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "519:34:8"
            },
            "src": "501:53:8"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2622,
            "name": "HashInvalidated",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2621,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2614,
                  "indexed": true,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2622,
                  "src": "581:20:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2613,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "581:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2616,
                  "indexed": true,
                  "name": "name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2622,
                  "src": "603:19:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2615,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "603:6:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2618,
                  "indexed": false,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 2622,
                  "src": "624:10:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2617,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "624:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2620,
                  "indexed": false,
                  "name": "registrationDate",
                  "nodeType": "VariableDeclaration",
                  "scope": 2622,
                  "src": "636:21:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2619,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "636:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "580:78:8"
            },
            "src": "559:100:8"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2629,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "state",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2625,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2624,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2629,
                  "src": "680:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2623,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "680:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "679:15:8"
            },
            "returnParameters": {
              "id": 2628,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2627,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2629,
                  "src": "718:4:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_Mode_$2572",
                    "typeString": "enum Registrar.Mode"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2626,
                    "name": "Mode",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2572,
                    "src": "718:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Mode_$2572",
                      "typeString": "enum Registrar.Mode"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "717:6:8"
            },
            "scope": 2727,
            "src": "665:59:8",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2634,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "startAuction",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2632,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2631,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2634,
                  "src": "751:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2630,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "751:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "750:15:8"
            },
            "returnParameters": {
              "id": 2633,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "774:0:8"
            },
            "scope": 2727,
            "src": "729:46:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2640,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "startAuctions",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2638,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2637,
                  "name": "_hashes",
                  "nodeType": "VariableDeclaration",
                  "scope": 2640,
                  "src": "803:26:8",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 2635,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "803:7:8",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 2636,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "803:9:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "802:28:8"
            },
            "returnParameters": {
              "id": 2639,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "839:0:8"
            },
            "scope": 2727,
            "src": "780:60:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2645,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "newBid",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2643,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2642,
                  "name": "sealedBid",
                  "nodeType": "VariableDeclaration",
                  "scope": 2645,
                  "src": "861:17:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2641,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "861:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "860:19:8"
            },
            "returnParameters": {
              "id": 2644,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "896:0:8"
            },
            "scope": 2727,
            "src": "845:52:8",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2653,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "startAuctionsAndBid",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2651,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2648,
                  "name": "hashes",
                  "nodeType": "VariableDeclaration",
                  "scope": 2653,
                  "src": "931:25:8",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 2646,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "931:7:8",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 2647,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "931:9:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2650,
                  "name": "sealedBid",
                  "nodeType": "VariableDeclaration",
                  "scope": 2653,
                  "src": "958:17:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2649,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "958:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "930:46:8"
            },
            "returnParameters": {
              "id": 2652,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "993:0:8"
            },
            "scope": 2727,
            "src": "902:92:8",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2662,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "unsealBid",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2660,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2655,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2662,
                  "src": "1018:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2654,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1018:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2657,
                  "name": "_value",
                  "nodeType": "VariableDeclaration",
                  "scope": 2662,
                  "src": "1033:11:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2656,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1033:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2659,
                  "name": "_salt",
                  "nodeType": "VariableDeclaration",
                  "scope": 2662,
                  "src": "1046:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2658,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1046:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1017:43:8"
            },
            "returnParameters": {
              "id": 2661,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1069:0:8"
            },
            "scope": 2727,
            "src": "999:71:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2669,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "cancelBid",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2667,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2664,
                  "name": "bidder",
                  "nodeType": "VariableDeclaration",
                  "scope": 2669,
                  "src": "1094:14:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2663,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1094:7:8",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2666,
                  "name": "seal",
                  "nodeType": "VariableDeclaration",
                  "scope": 2669,
                  "src": "1110:12:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2665,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1110:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1093:30:8"
            },
            "returnParameters": {
              "id": 2668,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1132:0:8"
            },
            "scope": 2727,
            "src": "1075:58:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2674,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "finalizeAuction",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2672,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2671,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2674,
                  "src": "1163:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2670,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1163:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1162:15:8"
            },
            "returnParameters": {
              "id": 2673,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1186:0:8"
            },
            "scope": 2727,
            "src": "1138:49:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2681,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2679,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2676,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2681,
                  "src": "1210:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2675,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1210:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2678,
                  "name": "newOwner",
                  "nodeType": "VariableDeclaration",
                  "scope": 2681,
                  "src": "1225:24:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address_payable",
                    "typeString": "address payable"
                  },
                  "typeName": {
                    "id": 2677,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1225:15:8",
                    "stateMutability": "payable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address_payable",
                      "typeString": "address payable"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1209:41:8"
            },
            "returnParameters": {
              "id": 2680,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1259:0:8"
            },
            "scope": 2727,
            "src": "1192:68:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2686,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "releaseDeed",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2684,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2683,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2686,
                  "src": "1286:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2682,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1286:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1285:15:8"
            },
            "returnParameters": {
              "id": 2685,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1309:0:8"
            },
            "scope": 2727,
            "src": "1265:45:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2691,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "invalidateName",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2689,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2688,
                  "name": "unhashedName",
                  "nodeType": "VariableDeclaration",
                  "scope": 2691,
                  "src": "1339:28:8",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2687,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1339:6:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1338:30:8"
            },
            "returnParameters": {
              "id": 2690,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1377:0:8"
            },
            "scope": 2727,
            "src": "1315:63:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2697,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "eraseNode",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2695,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2694,
                  "name": "labels",
                  "nodeType": "VariableDeclaration",
                  "scope": 2697,
                  "src": "1402:25:8",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 2692,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "1402:7:8",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 2693,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1402:9:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1401:27:8"
            },
            "returnParameters": {
              "id": 2696,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1437:0:8"
            },
            "scope": 2727,
            "src": "1383:55:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2702,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transferRegistrars",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2700,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2699,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2702,
                  "src": "1471:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2698,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1471:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1470:15:8"
            },
            "returnParameters": {
              "id": 2701,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1494:0:8"
            },
            "scope": 2727,
            "src": "1443:52:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2711,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "acceptRegistrarTransfer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2709,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2704,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2711,
                  "src": "1533:12:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2703,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1533:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2706,
                  "name": "deed",
                  "nodeType": "VariableDeclaration",
                  "scope": 2711,
                  "src": "1547:9:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_Deed_$47",
                    "typeString": "contract Deed"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2705,
                    "name": "Deed",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 47,
                    "src": "1547:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Deed_$47",
                      "typeString": "contract Deed"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2708,
                  "name": "registrationDate",
                  "nodeType": "VariableDeclaration",
                  "scope": 2711,
                  "src": "1558:21:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2707,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1558:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1532:48:8"
            },
            "returnParameters": {
              "id": 2710,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1589:0:8"
            },
            "scope": 2727,
            "src": "1500:90:8",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 2726,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "entries",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2714,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2713,
                  "name": "_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2726,
                  "src": "1612:13:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2712,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1612:7:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1611:15:8"
            },
            "returnParameters": {
              "id": 2725,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2716,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2726,
                  "src": "1650:4:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_Mode_$2572",
                    "typeString": "enum Registrar.Mode"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2715,
                    "name": "Mode",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2572,
                    "src": "1650:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Mode_$2572",
                      "typeString": "enum Registrar.Mode"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2718,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2726,
                  "src": "1656:7:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2717,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1656:7:8",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2720,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2726,
                  "src": "1665:4:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2719,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1665:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2722,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2726,
                  "src": "1671:4:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2721,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1671:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2724,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2726,
                  "src": "1677:4:8",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2723,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1677:4:8",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1649:33:8"
            },
            "scope": 2727,
            "src": "1595:88:8",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          }
        ],
        "scope": 2728,
        "src": "49:1636:8"
      }
    ],
    "src": "0:1686:8"
  },
  "compiler": {
    "name": "solc",
    "version": "0.5.16+commit.9c3226ce.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.2.0",
  "updatedAt": "2020-06-23T14:47:43.710Z",
  "devdoc": {
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}