{
  "contractName": "Autopetrified",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "hasInitialized",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getInitializationBlock",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isPetrified",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b5061002861002d640100000000026401000000009004565b6102ff565b6000610046610160640100000000026401000000009004565b146040805190810160405280601881526020017f494e49545f414c52454144595f494e495449414c495a45440000000000000000815250901515610125576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156100ea5780820151818401526020810190506100cf565b50505050905090810190601f1680156101175780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061015e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101aa640100000000026401000000009004565b565b60006101a57febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e600102600019166102ed64010000000002610180176401000000009004565b905090565b60006101c3610160640100000000026401000000009004565b146040805190810160405280601881526020017f494e49545f414c52454144595f494e495449414c495a454400000000000000008152509015156102a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561026757808201518184015260208101905061024c565b50505050905090810190601f1680156102945780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506102ea817febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e600102600019166102f86401000000000261018b179091906401000000009004565b50565b600081549050919050565b8082555050565b6101be8061030e6000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630803fac01461005c5780638b3dd7491461008b578063de4796ed146100b6575b600080fd5b34801561006857600080fd5b506100716100e5565b604051808215151515815260200191505060405180910390f35b34801561009757600080fd5b506100a0610110565b6040518082815260200191505060405180910390f35b3480156100c257600080fd5b506100cb610147565b604051808215151515815260200191505060405180910390f35b6000806100f0610110565b90506000811415801561010a575080610107610178565b10155b91505090565b60006101427febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e60010260001916610180565b905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610172610110565b14905090565b600043905090565b600081549050919050565b80825550505600a165627a7a723058209c1f48a40d12b2baa35246f7a09149e2acd72aad2f01d3d46450941baa6513940029",
  "deployedBytecode": "0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630803fac01461005c5780638b3dd7491461008b578063de4796ed146100b6575b600080fd5b34801561006857600080fd5b506100716100e5565b604051808215151515815260200191505060405180910390f35b34801561009757600080fd5b506100a0610110565b6040518082815260200191505060405180910390f35b3480156100c257600080fd5b506100cb610147565b604051808215151515815260200191505060405180910390f35b6000806100f0610110565b90506000811415801561010a575080610107610178565b10155b91505090565b60006101427febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e60010260001916610180565b905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610172610110565b14905090565b600043905090565b600081549050919050565b80825550505600a165627a7a723058209c1f48a40d12b2baa35246f7a09149e2acd72aad2f01d3d46450941baa6513940029",
  "sourceMap": "100:262:19:-;;;144:216;8:9:-1;5:2;;;30:1;27;20:12;5:2;144:216:19;344:9;:7;;;:9;;;:::i;:::-;100:262;;590:84:28;651:1:26;623:24;:22;;;:24;;;:::i;:::-;:29;654:25;;;;;;;;;;;;;;;;;;615:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;615:65:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;637:30:28;277:2;637:13;;;:30;;;:::i;:::-;590:84::o;889:137:26:-;944:7;970:49;353:66;970:29;;:47;;;;;;;;:49;;;:::i;:::-;963:56;;889:137;:::o;1759:141::-;651:1;623:24;:22;;;:24;;;:::i;:::-;:29;654:25;;;;;;;;;;;;;;;;;;615:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;615:65:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1832:61;1880:12;353:66;1832:29;;:47;;;;;;;;;:61;;;;;:::i;:::-;1759:141;:::o;519:134:31:-;587:12;636:8;630:15;622:23;;620:27;;;:::o;1028:119::-;1134:4;1124:8;1117:22;1115:26;;:::o;100:262:19:-;;;;;;;",
  "deployedSourceMap": "100:262:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1136:208:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1136:208:26;;;;;;;;;;;;;;;;;;;;;;;;;;;889:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;889:137:26;;;;;;;;;;;;;;;;;;;;;;;287:117:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:117:28;;;;;;;;;;;;;;;;;;;;;;;;;;;1136:208:26;1183:4;1199:27;1229:24;:22;:24::i;:::-;1199:54;;1293:1;1270:19;:24;;:67;;;;;1318:19;1298:16;:14;:16::i;:::-;:39;;1270:67;1263:74;;1136:208;;:::o;889:137::-;944:7;970:49;353:66;970:29;;:47;;;;:49::i;:::-;963:56;;889:137;:::o;287:117:28:-;331:4;277:2;354:24;:22;:24::i;:::-;:43;347:50;;287:117;:::o;347:94:29:-;396:7;422:12;415:19;;347:94;:::o;519:134:31:-;587:12;636:8;630:15;622:23;;620:27;;;:::o;1028:119::-;1134:4;1124:8;1117:22;1115:26;;:::o",
  "source": "/*\n * SPDX-License-Identitifer:    MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"./Petrifiable.sol\";\n\n\ncontract Autopetrified is Petrifiable {\n    constructor() public {\n        // Immediately petrify base (non-proxy) instances of inherited contracts on deploy.\n        // This renders them uninitializable (and unusable without a proxy).\n        petrify();\n    }\n}\n",
  "sourcePath": "@aragon/os/contracts/common/Autopetrified.sol",
  "ast": {
    "absolutePath": "@aragon/os/contracts/common/Autopetrified.sol",
    "exportedSymbols": {
      "Autopetrified": [
        8488
      ]
    },
    "id": 8489,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 8477,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "44:24:19"
      },
      {
        "absolutePath": "@aragon/os/contracts/common/Petrifiable.sol",
        "file": "./Petrifiable.sol",
        "id": 8478,
        "nodeType": "ImportDirective",
        "scope": 8489,
        "sourceUnit": 8823,
        "src": "70:27:19",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 8479,
              "name": "Petrifiable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8822,
              "src": "126:11:19",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Petrifiable_$8822",
                "typeString": "contract Petrifiable"
              }
            },
            "id": 8480,
            "nodeType": "InheritanceSpecifier",
            "src": "126:11:19"
          }
        ],
        "contractDependencies": [
          8761,
          8822,
          8869
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 8488,
        "linearizedBaseContracts": [
          8488,
          8822,
          8761,
          8869
        ],
        "name": "Autopetrified",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 8486,
              "nodeType": "Block",
              "src": "165:195:19",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 8483,
                      "name": "petrify",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8821,
                      "src": "344:7:19",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 8484,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "344:9:19",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8485,
                  "nodeType": "ExpressionStatement",
                  "src": "344:9:19"
                }
              ]
            },
            "documentation": null,
            "id": 8487,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8481,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "155:2:19"
            },
            "payable": false,
            "returnParameters": {
              "id": 8482,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "165:0:19"
            },
            "scope": 8488,
            "src": "144:216:19",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 8489,
        "src": "100:262:19"
      }
    ],
    "src": "44:319:19"
  },
  "legacyAST": {
    "absolutePath": "@aragon/os/contracts/common/Autopetrified.sol",
    "exportedSymbols": {
      "Autopetrified": [
        8488
      ]
    },
    "id": 8489,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 8477,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "44:24:19"
      },
      {
        "absolutePath": "@aragon/os/contracts/common/Petrifiable.sol",
        "file": "./Petrifiable.sol",
        "id": 8478,
        "nodeType": "ImportDirective",
        "scope": 8489,
        "sourceUnit": 8823,
        "src": "70:27:19",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 8479,
              "name": "Petrifiable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8822,
              "src": "126:11:19",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Petrifiable_$8822",
                "typeString": "contract Petrifiable"
              }
            },
            "id": 8480,
            "nodeType": "InheritanceSpecifier",
            "src": "126:11:19"
          }
        ],
        "contractDependencies": [
          8761,
          8822,
          8869
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 8488,
        "linearizedBaseContracts": [
          8488,
          8822,
          8761,
          8869
        ],
        "name": "Autopetrified",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 8486,
              "nodeType": "Block",
              "src": "165:195:19",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 8483,
                      "name": "petrify",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8821,
                      "src": "344:7:19",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 8484,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "344:9:19",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8485,
                  "nodeType": "ExpressionStatement",
                  "src": "344:9:19"
                }
              ]
            },
            "documentation": null,
            "id": 8487,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8481,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "155:2:19"
            },
            "payable": false,
            "returnParameters": {
              "id": 8482,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "165:0:19"
            },
            "scope": 8488,
            "src": "144:216:19",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 8489,
        "src": "100:262:19"
      }
    ],
    "src": "44:319:19"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.0.1",
  "updatedAt": "2019-03-29T09:45:33.504Z",
  "devdoc": {
    "methods": {
      "getInitializationBlock()": {
        "return": "Block number in which the contract was initialized"
      },
      "hasInitialized()": {
        "return": "Whether the contract has been initialized by the time of the current block"
      }
    }
  },
  "userdoc": {
    "methods": {}
  }
}