{
  "contractName": "IResolver",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "node",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "a",
          "type": "address"
        }
      ],
      "name": "AddrChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "node",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "coinType",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "newAddress",
          "type": "bytes"
        }
      ],
      "name": "AddressChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "node",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "name",
          "type": "string"
        }
      ],
      "name": "NameChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "node",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "contentType",
          "type": "uint256"
        }
      ],
      "name": "ABIChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "node",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "x",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "y",
          "type": "bytes32"
        }
      ],
      "name": "PubkeyChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "node",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "indexedKey",
          "type": "string"
        },
        {
          "indexed": false,
          "name": "key",
          "type": "string"
        }
      ],
      "name": "TextChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "node",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "hash",
          "type": "bytes"
        }
      ],
      "name": "ContenthashChanged",
      "type": "event"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "contentTypes",
          "type": "uint256"
        }
      ],
      "name": "ABI",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        },
        {
          "name": "",
          "type": "bytes"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "coinType",
          "type": "uint256"
        }
      ],
      "name": "addr",
      "outputs": [
        {
          "name": "",
          "type": "bytes"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "addr",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "contenthash",
      "outputs": [
        {
          "name": "",
          "type": "bytes"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "dnsrr",
      "outputs": [
        {
          "name": "",
          "type": "bytes"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "name",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "pubkey",
      "outputs": [
        {
          "name": "x",
          "type": "bytes32"
        },
        {
          "name": "y",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "key",
          "type": "string"
        }
      ],
      "name": "text",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "interfaceID",
          "type": "bytes4"
        }
      ],
      "name": "interfaceImplementer",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "contentType",
          "type": "uint256"
        },
        {
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "setABI",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "coinType",
          "type": "uint256"
        },
        {
          "name": "a",
          "type": "bytes"
        }
      ],
      "name": "setAddr",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "_addr",
          "type": "address"
        }
      ],
      "name": "setAddr",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "hash",
          "type": "bytes"
        }
      ],
      "name": "setContenthash",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "setDnsrr",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "_name",
          "type": "string"
        }
      ],
      "name": "setName",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "x",
          "type": "bytes32"
        },
        {
          "name": "y",
          "type": "bytes32"
        }
      ],
      "name": "setPubkey",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "key",
          "type": "string"
        },
        {
          "name": "value",
          "type": "string"
        }
      ],
      "name": "setText",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "node",
          "type": "bytes32"
        },
        {
          "name": "interfaceID",
          "type": "bytes4"
        },
        {
          "name": "implementer",
          "type": "address"
        }
      ],
      "name": "setInterface",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "interfaceID",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "metadata": "",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "pragma solidity >=0.4.24;\n\n/**\n * A generic resolver interface which includes all the functions\n */\ninterface IResolver {\n  event AddrChanged(bytes32 indexed node, address a);\n  event AddressChanged(\n    bytes32 indexed node,\n    uint256 coinType,\n    bytes newAddress\n  );\n  event NameChanged(bytes32 indexed node, string name);\n  event ABIChanged(bytes32 indexed node, uint256 indexed contentType);\n  event PubkeyChanged(bytes32 indexed node, bytes32 x, bytes32 y);\n  event TextChanged(\n    bytes32 indexed node,\n    string indexed indexedKey,\n    string key\n  );\n  event ContenthashChanged(bytes32 indexed node, bytes hash);\n\n  function ABI(bytes32 node, uint256 contentTypes)\n    external\n    view\n    returns (uint256, bytes memory);\n\n  function addr(bytes32 node) external view returns (address);\n\n  function addr(bytes32 node, uint256 coinType)\n    external\n    view\n    returns (bytes memory);\n\n  function contenthash(bytes32 node) external view returns (bytes memory);\n\n  function dnsrr(bytes32 node) external view returns (bytes memory);\n\n  function name(bytes32 node) external view returns (string memory);\n\n  function pubkey(bytes32 node) external view returns (bytes32 x, bytes32 y);\n\n  function text(bytes32 node, string key) external view returns (string memory);\n\n  function interfaceImplementer(bytes32 node, bytes4 interfaceID)\n    external\n    view\n    returns (address);\n\n  function setABI(\n    bytes32 node,\n    uint256 contentType,\n    bytes data\n  ) external;\n\n  function setAddr(bytes32 node, address _addr) external;\n\n  function setAddr(\n    bytes32 node,\n    uint256 coinType,\n    bytes a\n  ) external;\n\n  function setContenthash(bytes32 node, bytes hash) external;\n\n  function setDnsrr(bytes32 node, bytes data) external;\n\n  function setName(bytes32 node, string _name) external;\n\n  function setPubkey(\n    bytes32 node,\n    bytes32 x,\n    bytes32 y\n  ) external;\n\n  function setText(\n    bytes32 node,\n    string key,\n    string value\n  ) external;\n\n  function setInterface(\n    bytes32 node,\n    bytes4 interfaceID,\n    address implementer\n  ) external;\n\n  function supportsInterface(bytes4 interfaceID) external pure returns (bool);\n}\n",
  "sourcePath": "/Users/chtian/Documents/01_work/01_develope/jcc/jcc-solidity-utils/contracts/interface/IResolver.sol",
  "ast": {
    "absolutePath": "/Users/chtian/Documents/01_work/01_develope/jcc/jcc-solidity-utils/contracts/interface/IResolver.sol",
    "exportedSymbols": {
      "IResolver": [
        1293
      ]
    },
    "id": 1294,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 1089,
        "literals": [
          "solidity",
          ">=",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:25:9"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": "A generic resolver interface which includes all the functions",
        "fullyImplemented": false,
        "id": 1293,
        "linearizedBaseContracts": [
          1293
        ],
        "name": "IResolver",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 1095,
            "name": "AddrChanged",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1094,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1091,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1095,
                  "src": "142:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1090,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "142:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1093,
                  "indexed": false,
                  "name": "a",
                  "nodeType": "VariableDeclaration",
                  "scope": 1095,
                  "src": "164:9:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1092,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "164:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "141:33:9"
            },
            "src": "124:51:9"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1103,
            "name": "AddressChanged",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1102,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1097,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1103,
                  "src": "204:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1096,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "204:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1099,
                  "indexed": false,
                  "name": "coinType",
                  "nodeType": "VariableDeclaration",
                  "scope": 1103,
                  "src": "230:16:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1098,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "230:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1101,
                  "indexed": false,
                  "name": "newAddress",
                  "nodeType": "VariableDeclaration",
                  "scope": 1103,
                  "src": "252:16:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1100,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "252:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "198:74:9"
            },
            "src": "178:95:9"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1109,
            "name": "NameChanged",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1108,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1105,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1109,
                  "src": "294:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1104,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "294:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1107,
                  "indexed": false,
                  "name": "name",
                  "nodeType": "VariableDeclaration",
                  "scope": 1109,
                  "src": "316:11:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1106,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "316:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "293:35:9"
            },
            "src": "276:53:9"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1115,
            "name": "ABIChanged",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1114,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1111,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1115,
                  "src": "349:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1110,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "349:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1113,
                  "indexed": true,
                  "name": "contentType",
                  "nodeType": "VariableDeclaration",
                  "scope": 1115,
                  "src": "371:27:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1112,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "371:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "348:51:9"
            },
            "src": "332:68:9"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1123,
            "name": "PubkeyChanged",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1122,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1117,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1123,
                  "src": "423:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1116,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "423:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1119,
                  "indexed": false,
                  "name": "x",
                  "nodeType": "VariableDeclaration",
                  "scope": 1123,
                  "src": "445:9:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1118,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "445:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1121,
                  "indexed": false,
                  "name": "y",
                  "nodeType": "VariableDeclaration",
                  "scope": 1123,
                  "src": "456:9:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1120,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "456:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "422:44:9"
            },
            "src": "403:64:9"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1131,
            "name": "TextChanged",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1130,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1125,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1131,
                  "src": "493:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1124,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "493:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1127,
                  "indexed": true,
                  "name": "indexedKey",
                  "nodeType": "VariableDeclaration",
                  "scope": 1131,
                  "src": "519:25:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1126,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "519:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1129,
                  "indexed": false,
                  "name": "key",
                  "nodeType": "VariableDeclaration",
                  "scope": 1131,
                  "src": "550:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1128,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "550:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "487:77:9"
            },
            "src": "470:95:9"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1137,
            "name": "ContenthashChanged",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1136,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1133,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1137,
                  "src": "593:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1132,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "593:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1135,
                  "indexed": false,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 1137,
                  "src": "615:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1134,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "615:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "592:34:9"
            },
            "src": "568:59:9"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1148,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "ABI",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1142,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1139,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1148,
                  "src": "644:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1138,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "644:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1141,
                  "name": "contentTypes",
                  "nodeType": "VariableDeclaration",
                  "scope": 1148,
                  "src": "658:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1140,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "658:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "643:36:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1147,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1144,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1148,
                  "src": "715:7:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1143,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "715:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1146,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1148,
                  "src": "724:5:9",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1145,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "724:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "714:23:9"
            },
            "scope": 1293,
            "src": "631:107:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1155,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "addr",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1151,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1150,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1155,
                  "src": "756:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1149,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "756:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "755:14:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1154,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1153,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1155,
                  "src": "793:7:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1152,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "793:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "792:9:9"
            },
            "scope": 1293,
            "src": "742:60:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1164,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "addr",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1160,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1157,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1164,
                  "src": "820:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1156,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "820:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1159,
                  "name": "coinType",
                  "nodeType": "VariableDeclaration",
                  "scope": 1164,
                  "src": "834:16:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1158,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "834:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "819:32:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1163,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1162,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1164,
                  "src": "887:5:9",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1161,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "887:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "886:14:9"
            },
            "scope": 1293,
            "src": "806:95:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1171,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "contenthash",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1167,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1166,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1171,
                  "src": "926:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1165,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "926:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "925:14:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1170,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1169,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1171,
                  "src": "963:5:9",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1168,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "963:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "962:14:9"
            },
            "scope": 1293,
            "src": "905:72:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1178,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "dnsrr",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1174,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1173,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1178,
                  "src": "996:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1172,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "996:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "995:14:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1177,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1176,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1178,
                  "src": "1033:5:9",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1175,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1033:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1032:14:9"
            },
            "scope": 1293,
            "src": "981:66:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1185,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "name",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1181,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1180,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1185,
                  "src": "1065:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1179,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1065:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1064:14:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1184,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1183,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1185,
                  "src": "1102:6:9",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1182,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1102:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1101:15:9"
            },
            "scope": 1293,
            "src": "1051:66:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1194,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "pubkey",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1188,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1187,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1194,
                  "src": "1137:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1186,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1137:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1136:14:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1193,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1190,
                  "name": "x",
                  "nodeType": "VariableDeclaration",
                  "scope": 1194,
                  "src": "1174:9:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1189,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1174:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1192,
                  "name": "y",
                  "nodeType": "VariableDeclaration",
                  "scope": 1194,
                  "src": "1185:9:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1191,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1185:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1173:22:9"
            },
            "scope": 1293,
            "src": "1121:75:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1203,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "text",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1199,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1196,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1203,
                  "src": "1214:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1195,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1214:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1198,
                  "name": "key",
                  "nodeType": "VariableDeclaration",
                  "scope": 1203,
                  "src": "1228:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1197,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1228:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1213:26:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1202,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1201,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1203,
                  "src": "1263:6:9",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1200,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1263:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1262:15:9"
            },
            "scope": 1293,
            "src": "1200:78:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1212,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "interfaceImplementer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1208,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1205,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1212,
                  "src": "1312:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1204,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1312:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1207,
                  "name": "interfaceID",
                  "nodeType": "VariableDeclaration",
                  "scope": 1212,
                  "src": "1326:18:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1206,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "1326:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1311:34:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1211,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1210,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1212,
                  "src": "1381:7:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1209,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1381:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1380:9:9"
            },
            "scope": 1293,
            "src": "1282:108:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1221,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setABI",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1219,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1214,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1221,
                  "src": "1415:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1213,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1415:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1216,
                  "name": "contentType",
                  "nodeType": "VariableDeclaration",
                  "scope": 1221,
                  "src": "1433:19:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1215,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1433:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1218,
                  "name": "data",
                  "nodeType": "VariableDeclaration",
                  "scope": 1221,
                  "src": "1458:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1217,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1458:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1409:63:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1220,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1481:0:9"
            },
            "scope": 1293,
            "src": "1394:88:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1228,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setAddr",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1226,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1223,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1228,
                  "src": "1503:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1222,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1503:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1225,
                  "name": "_addr",
                  "nodeType": "VariableDeclaration",
                  "scope": 1228,
                  "src": "1517:13:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1224,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1517:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1502:29:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1227,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1540:0:9"
            },
            "scope": 1293,
            "src": "1486:55:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1237,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setAddr",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1235,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1230,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1237,
                  "src": "1567:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1229,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1567:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1232,
                  "name": "coinType",
                  "nodeType": "VariableDeclaration",
                  "scope": 1237,
                  "src": "1585:16:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1231,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1585:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1234,
                  "name": "a",
                  "nodeType": "VariableDeclaration",
                  "scope": 1237,
                  "src": "1607:7:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1233,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1607:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1561:57:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1236,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1627:0:9"
            },
            "scope": 1293,
            "src": "1545:83:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1244,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setContenthash",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1242,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1239,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1244,
                  "src": "1656:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1238,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1656:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1241,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 1244,
                  "src": "1670:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1240,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1670:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1655:26:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1243,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1690:0:9"
            },
            "scope": 1293,
            "src": "1632:59:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1251,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setDnsrr",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1249,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1246,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1251,
                  "src": "1713:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1245,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1713:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1248,
                  "name": "data",
                  "nodeType": "VariableDeclaration",
                  "scope": 1251,
                  "src": "1727:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1247,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1727:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1712:26:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1250,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1747:0:9"
            },
            "scope": 1293,
            "src": "1695:53:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1258,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setName",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1256,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1253,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1258,
                  "src": "1769:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1252,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1769:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1255,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 1258,
                  "src": "1783:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1254,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1783:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1768:28:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1257,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1805:0:9"
            },
            "scope": 1293,
            "src": "1752:54:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1267,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setPubkey",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1265,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1260,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1267,
                  "src": "1834:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1259,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1834:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1262,
                  "name": "x",
                  "nodeType": "VariableDeclaration",
                  "scope": 1267,
                  "src": "1852:9:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1261,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1852:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1264,
                  "name": "y",
                  "nodeType": "VariableDeclaration",
                  "scope": 1267,
                  "src": "1867:9:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1263,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1867:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1828:52:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1266,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1889:0:9"
            },
            "scope": 1293,
            "src": "1810:80:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1276,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setText",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1274,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1269,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1276,
                  "src": "1916:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1268,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1916:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1271,
                  "name": "key",
                  "nodeType": "VariableDeclaration",
                  "scope": 1276,
                  "src": "1934:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1270,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1934:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1273,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 1276,
                  "src": "1950:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1272,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1950:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1910:56:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1275,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1975:0:9"
            },
            "scope": 1293,
            "src": "1894:82:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1285,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setInterface",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1283,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1278,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1285,
                  "src": "2007:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1277,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2007:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1280,
                  "name": "interfaceID",
                  "nodeType": "VariableDeclaration",
                  "scope": 1285,
                  "src": "2025:18:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1279,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "2025:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1282,
                  "name": "implementer",
                  "nodeType": "VariableDeclaration",
                  "scope": 1285,
                  "src": "2049:19:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1281,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2049:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2001:71:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1284,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2081:0:9"
            },
            "scope": 1293,
            "src": "1980:102:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1292,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "supportsInterface",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1288,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1287,
                  "name": "interfaceID",
                  "nodeType": "VariableDeclaration",
                  "scope": 1292,
                  "src": "2113:18:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1286,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "2113:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2112:20:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1291,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1290,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1292,
                  "src": "2156:4:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1289,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2156:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2155:6:9"
            },
            "scope": 1293,
            "src": "2086:76:9",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "external"
          }
        ],
        "scope": 1294,
        "src": "100:2064:9"
      }
    ],
    "src": "0:2165:9"
  },
  "legacyAST": {
    "absolutePath": "/Users/chtian/Documents/01_work/01_develope/jcc/jcc-solidity-utils/contracts/interface/IResolver.sol",
    "exportedSymbols": {
      "IResolver": [
        1293
      ]
    },
    "id": 1294,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 1089,
        "literals": [
          "solidity",
          ">=",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:25:9"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": "A generic resolver interface which includes all the functions",
        "fullyImplemented": false,
        "id": 1293,
        "linearizedBaseContracts": [
          1293
        ],
        "name": "IResolver",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 1095,
            "name": "AddrChanged",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1094,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1091,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1095,
                  "src": "142:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1090,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "142:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1093,
                  "indexed": false,
                  "name": "a",
                  "nodeType": "VariableDeclaration",
                  "scope": 1095,
                  "src": "164:9:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1092,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "164:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "141:33:9"
            },
            "src": "124:51:9"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1103,
            "name": "AddressChanged",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1102,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1097,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1103,
                  "src": "204:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1096,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "204:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1099,
                  "indexed": false,
                  "name": "coinType",
                  "nodeType": "VariableDeclaration",
                  "scope": 1103,
                  "src": "230:16:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1098,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "230:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1101,
                  "indexed": false,
                  "name": "newAddress",
                  "nodeType": "VariableDeclaration",
                  "scope": 1103,
                  "src": "252:16:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1100,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "252:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "198:74:9"
            },
            "src": "178:95:9"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1109,
            "name": "NameChanged",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1108,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1105,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1109,
                  "src": "294:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1104,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "294:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1107,
                  "indexed": false,
                  "name": "name",
                  "nodeType": "VariableDeclaration",
                  "scope": 1109,
                  "src": "316:11:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1106,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "316:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "293:35:9"
            },
            "src": "276:53:9"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1115,
            "name": "ABIChanged",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1114,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1111,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1115,
                  "src": "349:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1110,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "349:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1113,
                  "indexed": true,
                  "name": "contentType",
                  "nodeType": "VariableDeclaration",
                  "scope": 1115,
                  "src": "371:27:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1112,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "371:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "348:51:9"
            },
            "src": "332:68:9"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1123,
            "name": "PubkeyChanged",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1122,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1117,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1123,
                  "src": "423:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1116,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "423:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1119,
                  "indexed": false,
                  "name": "x",
                  "nodeType": "VariableDeclaration",
                  "scope": 1123,
                  "src": "445:9:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1118,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "445:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1121,
                  "indexed": false,
                  "name": "y",
                  "nodeType": "VariableDeclaration",
                  "scope": 1123,
                  "src": "456:9:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1120,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "456:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "422:44:9"
            },
            "src": "403:64:9"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1131,
            "name": "TextChanged",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1130,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1125,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1131,
                  "src": "493:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1124,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "493:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1127,
                  "indexed": true,
                  "name": "indexedKey",
                  "nodeType": "VariableDeclaration",
                  "scope": 1131,
                  "src": "519:25:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1126,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "519:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1129,
                  "indexed": false,
                  "name": "key",
                  "nodeType": "VariableDeclaration",
                  "scope": 1131,
                  "src": "550:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1128,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "550:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "487:77:9"
            },
            "src": "470:95:9"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1137,
            "name": "ContenthashChanged",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1136,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1133,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1137,
                  "src": "593:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1132,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "593:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1135,
                  "indexed": false,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 1137,
                  "src": "615:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1134,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "615:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "592:34:9"
            },
            "src": "568:59:9"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1148,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "ABI",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1142,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1139,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1148,
                  "src": "644:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1138,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "644:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1141,
                  "name": "contentTypes",
                  "nodeType": "VariableDeclaration",
                  "scope": 1148,
                  "src": "658:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1140,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "658:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "643:36:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1147,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1144,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1148,
                  "src": "715:7:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1143,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "715:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1146,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1148,
                  "src": "724:5:9",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1145,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "724:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "714:23:9"
            },
            "scope": 1293,
            "src": "631:107:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1155,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "addr",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1151,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1150,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1155,
                  "src": "756:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1149,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "756:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "755:14:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1154,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1153,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1155,
                  "src": "793:7:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1152,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "793:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "792:9:9"
            },
            "scope": 1293,
            "src": "742:60:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1164,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "addr",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1160,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1157,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1164,
                  "src": "820:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1156,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "820:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1159,
                  "name": "coinType",
                  "nodeType": "VariableDeclaration",
                  "scope": 1164,
                  "src": "834:16:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1158,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "834:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "819:32:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1163,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1162,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1164,
                  "src": "887:5:9",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1161,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "887:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "886:14:9"
            },
            "scope": 1293,
            "src": "806:95:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1171,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "contenthash",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1167,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1166,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1171,
                  "src": "926:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1165,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "926:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "925:14:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1170,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1169,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1171,
                  "src": "963:5:9",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1168,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "963:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "962:14:9"
            },
            "scope": 1293,
            "src": "905:72:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1178,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "dnsrr",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1174,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1173,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1178,
                  "src": "996:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1172,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "996:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "995:14:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1177,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1176,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1178,
                  "src": "1033:5:9",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1175,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1033:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1032:14:9"
            },
            "scope": 1293,
            "src": "981:66:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1185,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "name",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1181,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1180,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1185,
                  "src": "1065:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1179,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1065:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1064:14:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1184,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1183,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1185,
                  "src": "1102:6:9",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1182,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1102:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1101:15:9"
            },
            "scope": 1293,
            "src": "1051:66:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1194,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "pubkey",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1188,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1187,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1194,
                  "src": "1137:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1186,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1137:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1136:14:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1193,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1190,
                  "name": "x",
                  "nodeType": "VariableDeclaration",
                  "scope": 1194,
                  "src": "1174:9:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1189,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1174:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1192,
                  "name": "y",
                  "nodeType": "VariableDeclaration",
                  "scope": 1194,
                  "src": "1185:9:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1191,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1185:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1173:22:9"
            },
            "scope": 1293,
            "src": "1121:75:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1203,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "text",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1199,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1196,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1203,
                  "src": "1214:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1195,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1214:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1198,
                  "name": "key",
                  "nodeType": "VariableDeclaration",
                  "scope": 1203,
                  "src": "1228:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1197,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1228:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1213:26:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1202,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1201,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1203,
                  "src": "1263:6:9",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1200,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1263:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1262:15:9"
            },
            "scope": 1293,
            "src": "1200:78:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1212,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "interfaceImplementer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1208,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1205,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1212,
                  "src": "1312:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1204,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1312:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1207,
                  "name": "interfaceID",
                  "nodeType": "VariableDeclaration",
                  "scope": 1212,
                  "src": "1326:18:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1206,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "1326:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1311:34:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1211,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1210,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1212,
                  "src": "1381:7:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1209,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1381:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1380:9:9"
            },
            "scope": 1293,
            "src": "1282:108:9",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1221,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setABI",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1219,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1214,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1221,
                  "src": "1415:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1213,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1415:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1216,
                  "name": "contentType",
                  "nodeType": "VariableDeclaration",
                  "scope": 1221,
                  "src": "1433:19:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1215,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1433:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1218,
                  "name": "data",
                  "nodeType": "VariableDeclaration",
                  "scope": 1221,
                  "src": "1458:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1217,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1458:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1409:63:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1220,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1481:0:9"
            },
            "scope": 1293,
            "src": "1394:88:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1228,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setAddr",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1226,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1223,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1228,
                  "src": "1503:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1222,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1503:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1225,
                  "name": "_addr",
                  "nodeType": "VariableDeclaration",
                  "scope": 1228,
                  "src": "1517:13:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1224,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1517:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1502:29:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1227,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1540:0:9"
            },
            "scope": 1293,
            "src": "1486:55:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1237,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setAddr",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1235,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1230,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1237,
                  "src": "1567:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1229,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1567:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1232,
                  "name": "coinType",
                  "nodeType": "VariableDeclaration",
                  "scope": 1237,
                  "src": "1585:16:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1231,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1585:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1234,
                  "name": "a",
                  "nodeType": "VariableDeclaration",
                  "scope": 1237,
                  "src": "1607:7:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1233,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1607:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1561:57:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1236,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1627:0:9"
            },
            "scope": 1293,
            "src": "1545:83:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1244,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setContenthash",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1242,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1239,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1244,
                  "src": "1656:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1238,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1656:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1241,
                  "name": "hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 1244,
                  "src": "1670:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1240,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1670:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1655:26:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1243,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1690:0:9"
            },
            "scope": 1293,
            "src": "1632:59:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1251,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setDnsrr",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1249,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1246,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1251,
                  "src": "1713:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1245,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1713:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1248,
                  "name": "data",
                  "nodeType": "VariableDeclaration",
                  "scope": 1251,
                  "src": "1727:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1247,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1727:5:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1712:26:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1250,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1747:0:9"
            },
            "scope": 1293,
            "src": "1695:53:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1258,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setName",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1256,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1253,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1258,
                  "src": "1769:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1252,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1769:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1255,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 1258,
                  "src": "1783:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1254,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1783:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1768:28:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1257,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1805:0:9"
            },
            "scope": 1293,
            "src": "1752:54:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1267,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setPubkey",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1265,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1260,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1267,
                  "src": "1834:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1259,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1834:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1262,
                  "name": "x",
                  "nodeType": "VariableDeclaration",
                  "scope": 1267,
                  "src": "1852:9:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1261,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1852:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1264,
                  "name": "y",
                  "nodeType": "VariableDeclaration",
                  "scope": 1267,
                  "src": "1867:9:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1263,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1867:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1828:52:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1266,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1889:0:9"
            },
            "scope": 1293,
            "src": "1810:80:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1276,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setText",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1274,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1269,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1276,
                  "src": "1916:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1268,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1916:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1271,
                  "name": "key",
                  "nodeType": "VariableDeclaration",
                  "scope": 1276,
                  "src": "1934:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1270,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1934:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1273,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 1276,
                  "src": "1950:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1272,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1950:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1910:56:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1275,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1975:0:9"
            },
            "scope": 1293,
            "src": "1894:82:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1285,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setInterface",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1283,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1278,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 1285,
                  "src": "2007:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1277,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2007:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1280,
                  "name": "interfaceID",
                  "nodeType": "VariableDeclaration",
                  "scope": 1285,
                  "src": "2025:18:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1279,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "2025:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1282,
                  "name": "implementer",
                  "nodeType": "VariableDeclaration",
                  "scope": 1285,
                  "src": "2049:19:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1281,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2049:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2001:71:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1284,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2081:0:9"
            },
            "scope": 1293,
            "src": "1980:102:9",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 1292,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "supportsInterface",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1288,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1287,
                  "name": "interfaceID",
                  "nodeType": "VariableDeclaration",
                  "scope": 1292,
                  "src": "2113:18:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1286,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "2113:6:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2112:20:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1291,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1290,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1292,
                  "src": "2156:4:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1289,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2156:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2155:6:9"
            },
            "scope": 1293,
            "src": "2086:76:9",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "external"
          }
        ],
        "scope": 1294,
        "src": "100:2064:9"
      }
    ],
    "src": "0:2165:9"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.0.16",
  "updatedAt": "2021-03-06T09:30:00.947Z",
  "devdoc": {
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}