{
  "contractName": "ACOwned",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "new_owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_new_owner",
          "type": "address"
        }
      ],
      "name": "change_owner",
      "outputs": [
        {
          "name": "_success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "claim_ownership",
      "outputs": [
        {
          "name": "_success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610393806100206000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063253c8bd4146100675780634552b04f146100c25780638da5cb5b14610119578063f7a79a0214610170575b600080fd5b34801561007357600080fd5b506100a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061019f565b604051808215151515815260200191505060405180910390f35b3480156100ce57600080fd5b506100d76101fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012557600080fd5b5061012e610224565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017c57600080fd5b50610185610249565b604051808215151515815260200191505060405180910390f35b60006101a9610310565b15156101b457600080fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102a757600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050905600a165627a7a72305820d684d1e2f21f894bf1e0d43ad5e885ff817cf17d2a5469bb0d333819a2d4cde90029",
  "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063253c8bd4146100675780634552b04f146100c25780638da5cb5b14610119578063f7a79a0214610170575b600080fd5b34801561007357600080fd5b506100a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061019f565b604051808215151515815260200191505060405180910390f35b3480156100ce57600080fd5b506100d76101fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012557600080fd5b5061012e610224565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017c57600080fd5b50610185610249565b604051808215151515815260200191505060405180910390f35b60006101a9610310565b15156101b457600080fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102a757600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050905600a165627a7a72305820d684d1e2f21f894bf1e0d43ad5e885ff817cf17d2a5469bb0d333819a2d4cde90029",
  "sourceMap": "89:932:64:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;89:932:64;;;;;;;",
  "deployedSourceMap": "89:932:64:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;672:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;672:173:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;135:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;135:24:64;;;;;;;;;;;;;;;;;;;;;;;;;;;111:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;111:20:64;;;;;;;;;;;;;;;;;;;;;;;;;;;849:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;849:169:64;;;;;;;;;;;;;;;;;;;;;;;;;;;672:173;774:13;288:10;:8;:10::i;:::-;280:19;;;;;;;;809:10;797:9;;:22;;;;;;;;;;;;;;;;;;836:4;825:15;;672:173;;;:::o;135:24::-;;;;;;;;;;;;;:::o;111:20::-;;;;;;;;;;;;;:::o;849:169::-;914:13;959:9;;;;;;;;;;;945:23;;:10;:23;;;937:32;;;;;;;;983:9;;;;;;;;;;;975:5;;:17;;;;;;;;;;;;;;;;;;1009:4;998:15;;849:169;:::o;527:141::-;606:14;657:5;;;;;;;;;;;643:19;;:10;:19;;;630:33;;527:141;:::o",
  "source": "pragma solidity ^0.4.25;\n\n/// @title Owner based access control\n/// @author DigixGlobal\n\ncontract ACOwned {\n\n  address public owner;\n  address public new_owner;\n  bool is_ac_owned_init;\n\n  /// @dev Modifier to check if msg.sender is the contract owner\n  modifier if_owner() {\n    require(is_owner());\n    _;\n  }\n\n  function init_ac_owned()\n           internal\n           returns (bool _success)\n  {\n    if (is_ac_owned_init == false) {\n      owner = msg.sender;\n      is_ac_owned_init = true;\n    }\n    _success = true;\n  }\n\n  function is_owner()\n           private\n           constant\n           returns (bool _is_owner)\n  {\n    _is_owner = (msg.sender == owner);\n  }\n\n  function change_owner(address _new_owner)\n           if_owner()\n           public\n           returns (bool _success)\n  {\n    new_owner = _new_owner;\n    _success = true;\n  }\n\n  function claim_ownership()\n           public\n           returns (bool _success)\n  {\n    require(msg.sender == new_owner);\n    owner = new_owner;\n    _success = true;\n  }\n\n}\n",
  "sourcePath": "@digix/cacp-contracts-dao/contracts/ACOwned.sol",
  "ast": {
    "absolutePath": "@digix/cacp-contracts-dao/contracts/ACOwned.sol",
    "exportedSymbols": {
      "ACOwned": [
        18252
      ]
    },
    "id": 18253,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 18159,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:64"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": "@title Owner based access control\n @author DigixGlobal",
        "fullyImplemented": true,
        "id": 18252,
        "linearizedBaseContracts": [
          18252
        ],
        "name": "ACOwned",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 18161,
            "name": "owner",
            "nodeType": "VariableDeclaration",
            "scope": 18252,
            "src": "111:20:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 18160,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "111:7:64",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 18163,
            "name": "new_owner",
            "nodeType": "VariableDeclaration",
            "scope": 18252,
            "src": "135:24:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 18162,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "135:7:64",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 18165,
            "name": "is_ac_owned_init",
            "nodeType": "VariableDeclaration",
            "scope": 18252,
            "src": "163:21:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 18164,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "163:4:64",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 18173,
              "nodeType": "Block",
              "src": "274:37:64",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 18168,
                          "name": "is_owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18212,
                          "src": "288:8:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                            "typeString": "function () view returns (bool)"
                          }
                        },
                        "id": 18169,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "288:10:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 18167,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "280:7:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 18170,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "280:19:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 18171,
                  "nodeType": "ExpressionStatement",
                  "src": "280:19:64"
                },
                {
                  "id": 18172,
                  "nodeType": "PlaceholderStatement",
                  "src": "305:1:64"
                }
              ]
            },
            "documentation": "@dev Modifier to check if msg.sender is the contract owner",
            "id": 18174,
            "name": "if_owner",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 18166,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "271:2:64"
            },
            "src": "254:57:64",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 18197,
              "nodeType": "Block",
              "src": "397:126:64",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 18181,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 18179,
                      "name": "is_ac_owned_init",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18165,
                      "src": "407:16:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 18180,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "427:5:64",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "src": "407:25:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 18192,
                  "nodeType": "IfStatement",
                  "src": "403:95:64",
                  "trueBody": {
                    "id": 18191,
                    "nodeType": "Block",
                    "src": "434:64:64",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 18185,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 18182,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18161,
                            "src": "442:5:64",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 18183,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26182,
                              "src": "450:3:64",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 18184,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "450:10:64",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "442:18:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 18186,
                        "nodeType": "ExpressionStatement",
                        "src": "442:18:64"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 18189,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 18187,
                            "name": "is_ac_owned_init",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18165,
                            "src": "468:16:64",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 18188,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "487:4:64",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          },
                          "src": "468:23:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 18190,
                        "nodeType": "ExpressionStatement",
                        "src": "468:23:64"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 18195,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 18193,
                      "name": "_success",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18177,
                      "src": "503:8:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 18194,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "514:4:64",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "503:15:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 18196,
                  "nodeType": "ExpressionStatement",
                  "src": "503:15:64"
                }
              ]
            },
            "documentation": null,
            "id": 18198,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "init_ac_owned",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18175,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "337:2:64"
            },
            "payable": false,
            "returnParameters": {
              "id": 18178,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18177,
                  "name": "_success",
                  "nodeType": "VariableDeclaration",
                  "scope": 18198,
                  "src": "380:13:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 18176,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "380:4:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "379:15:64"
            },
            "scope": 18252,
            "src": "315:208:64",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 18211,
              "nodeType": "Block",
              "src": "624:44:64",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 18209,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 18203,
                      "name": "_is_owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18201,
                      "src": "630:9:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 18207,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 18204,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26182,
                              "src": "643:3:64",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 18205,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "643:10:64",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 18206,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18161,
                            "src": "657:5:64",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "643:19:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        }
                      ],
                      "id": 18208,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "642:21:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "630:33:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 18210,
                  "nodeType": "ExpressionStatement",
                  "src": "630:33:64"
                }
              ]
            },
            "documentation": null,
            "id": 18212,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "is_owner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18199,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "544:2:64"
            },
            "payable": false,
            "returnParameters": {
              "id": 18202,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18201,
                  "name": "_is_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 18212,
                  "src": "606:14:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 18200,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "606:4:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "605:16:64"
            },
            "scope": 18252,
            "src": "527:141:64",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 18229,
              "nodeType": "Block",
              "src": "791:54:64",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 18223,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 18221,
                      "name": "new_owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18163,
                      "src": "797:9:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 18222,
                      "name": "_new_owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18214,
                      "src": "809:10:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "797:22:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 18224,
                  "nodeType": "ExpressionStatement",
                  "src": "797:22:64"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 18227,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 18225,
                      "name": "_success",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18219,
                      "src": "825:8:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 18226,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "836:4:64",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "825:15:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 18228,
                  "nodeType": "ExpressionStatement",
                  "src": "825:15:64"
                }
              ]
            },
            "documentation": null,
            "id": 18230,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [],
                "id": 18217,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 18216,
                  "name": "if_owner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 18174,
                  "src": "725:8:64",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "725:10:64"
              }
            ],
            "name": "change_owner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18215,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18214,
                  "name": "_new_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 18230,
                  "src": "694:18:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 18213,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "694:7:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "693:20:64"
            },
            "payable": false,
            "returnParameters": {
              "id": 18220,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18219,
                  "name": "_success",
                  "nodeType": "VariableDeclaration",
                  "scope": 18230,
                  "src": "774:13:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 18218,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "774:4:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "773:15:64"
            },
            "scope": 18252,
            "src": "672:173:64",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18250,
              "nodeType": "Block",
              "src": "931:87:64",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 18239,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 18236,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26182,
                            "src": "945:3:64",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 18237,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "945:10:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 18238,
                          "name": "new_owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18163,
                          "src": "959:9:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "945:23:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 18235,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "937:7:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 18240,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "937:32:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 18241,
                  "nodeType": "ExpressionStatement",
                  "src": "937:32:64"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 18244,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 18242,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18161,
                      "src": "975:5:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 18243,
                      "name": "new_owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18163,
                      "src": "983:9:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "975:17:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 18245,
                  "nodeType": "ExpressionStatement",
                  "src": "975:17:64"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 18248,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 18246,
                      "name": "_success",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18233,
                      "src": "998:8:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 18247,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1009:4:64",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "998:15:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 18249,
                  "nodeType": "ExpressionStatement",
                  "src": "998:15:64"
                }
              ]
            },
            "documentation": null,
            "id": 18251,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "claim_ownership",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18231,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "873:2:64"
            },
            "payable": false,
            "returnParameters": {
              "id": 18234,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18233,
                  "name": "_success",
                  "nodeType": "VariableDeclaration",
                  "scope": 18251,
                  "src": "914:13:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 18232,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "914:4:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "913:15:64"
            },
            "scope": 18252,
            "src": "849:169:64",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 18253,
        "src": "89:932:64"
      }
    ],
    "src": "0:1022:64"
  },
  "legacyAST": {
    "absolutePath": "@digix/cacp-contracts-dao/contracts/ACOwned.sol",
    "exportedSymbols": {
      "ACOwned": [
        18252
      ]
    },
    "id": 18253,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 18159,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:64"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": "@title Owner based access control\n @author DigixGlobal",
        "fullyImplemented": true,
        "id": 18252,
        "linearizedBaseContracts": [
          18252
        ],
        "name": "ACOwned",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 18161,
            "name": "owner",
            "nodeType": "VariableDeclaration",
            "scope": 18252,
            "src": "111:20:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 18160,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "111:7:64",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 18163,
            "name": "new_owner",
            "nodeType": "VariableDeclaration",
            "scope": 18252,
            "src": "135:24:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 18162,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "135:7:64",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 18165,
            "name": "is_ac_owned_init",
            "nodeType": "VariableDeclaration",
            "scope": 18252,
            "src": "163:21:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 18164,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "163:4:64",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 18173,
              "nodeType": "Block",
              "src": "274:37:64",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 18168,
                          "name": "is_owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18212,
                          "src": "288:8:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                            "typeString": "function () view returns (bool)"
                          }
                        },
                        "id": 18169,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "288:10:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 18167,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "280:7:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 18170,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "280:19:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 18171,
                  "nodeType": "ExpressionStatement",
                  "src": "280:19:64"
                },
                {
                  "id": 18172,
                  "nodeType": "PlaceholderStatement",
                  "src": "305:1:64"
                }
              ]
            },
            "documentation": "@dev Modifier to check if msg.sender is the contract owner",
            "id": 18174,
            "name": "if_owner",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 18166,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "271:2:64"
            },
            "src": "254:57:64",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 18197,
              "nodeType": "Block",
              "src": "397:126:64",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 18181,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 18179,
                      "name": "is_ac_owned_init",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18165,
                      "src": "407:16:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 18180,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "427:5:64",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "src": "407:25:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 18192,
                  "nodeType": "IfStatement",
                  "src": "403:95:64",
                  "trueBody": {
                    "id": 18191,
                    "nodeType": "Block",
                    "src": "434:64:64",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 18185,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 18182,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18161,
                            "src": "442:5:64",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 18183,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26182,
                              "src": "450:3:64",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 18184,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "450:10:64",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "442:18:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 18186,
                        "nodeType": "ExpressionStatement",
                        "src": "442:18:64"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 18189,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 18187,
                            "name": "is_ac_owned_init",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18165,
                            "src": "468:16:64",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 18188,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "487:4:64",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          },
                          "src": "468:23:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 18190,
                        "nodeType": "ExpressionStatement",
                        "src": "468:23:64"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 18195,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 18193,
                      "name": "_success",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18177,
                      "src": "503:8:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 18194,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "514:4:64",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "503:15:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 18196,
                  "nodeType": "ExpressionStatement",
                  "src": "503:15:64"
                }
              ]
            },
            "documentation": null,
            "id": 18198,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "init_ac_owned",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18175,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "337:2:64"
            },
            "payable": false,
            "returnParameters": {
              "id": 18178,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18177,
                  "name": "_success",
                  "nodeType": "VariableDeclaration",
                  "scope": 18198,
                  "src": "380:13:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 18176,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "380:4:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "379:15:64"
            },
            "scope": 18252,
            "src": "315:208:64",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 18211,
              "nodeType": "Block",
              "src": "624:44:64",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 18209,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 18203,
                      "name": "_is_owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18201,
                      "src": "630:9:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 18207,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 18204,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26182,
                              "src": "643:3:64",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 18205,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "643:10:64",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 18206,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18161,
                            "src": "657:5:64",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "643:19:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        }
                      ],
                      "id": 18208,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "642:21:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "630:33:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 18210,
                  "nodeType": "ExpressionStatement",
                  "src": "630:33:64"
                }
              ]
            },
            "documentation": null,
            "id": 18212,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "is_owner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18199,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "544:2:64"
            },
            "payable": false,
            "returnParameters": {
              "id": 18202,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18201,
                  "name": "_is_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 18212,
                  "src": "606:14:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 18200,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "606:4:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "605:16:64"
            },
            "scope": 18252,
            "src": "527:141:64",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 18229,
              "nodeType": "Block",
              "src": "791:54:64",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 18223,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 18221,
                      "name": "new_owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18163,
                      "src": "797:9:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 18222,
                      "name": "_new_owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18214,
                      "src": "809:10:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "797:22:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 18224,
                  "nodeType": "ExpressionStatement",
                  "src": "797:22:64"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 18227,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 18225,
                      "name": "_success",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18219,
                      "src": "825:8:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 18226,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "836:4:64",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "825:15:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 18228,
                  "nodeType": "ExpressionStatement",
                  "src": "825:15:64"
                }
              ]
            },
            "documentation": null,
            "id": 18230,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [],
                "id": 18217,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 18216,
                  "name": "if_owner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 18174,
                  "src": "725:8:64",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "725:10:64"
              }
            ],
            "name": "change_owner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18215,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18214,
                  "name": "_new_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 18230,
                  "src": "694:18:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 18213,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "694:7:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "693:20:64"
            },
            "payable": false,
            "returnParameters": {
              "id": 18220,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18219,
                  "name": "_success",
                  "nodeType": "VariableDeclaration",
                  "scope": 18230,
                  "src": "774:13:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 18218,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "774:4:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "773:15:64"
            },
            "scope": 18252,
            "src": "672:173:64",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18250,
              "nodeType": "Block",
              "src": "931:87:64",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 18239,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 18236,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26182,
                            "src": "945:3:64",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 18237,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "945:10:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 18238,
                          "name": "new_owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18163,
                          "src": "959:9:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "945:23:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 18235,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "937:7:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 18240,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "937:32:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 18241,
                  "nodeType": "ExpressionStatement",
                  "src": "937:32:64"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 18244,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 18242,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18161,
                      "src": "975:5:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 18243,
                      "name": "new_owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18163,
                      "src": "983:9:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "975:17:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 18245,
                  "nodeType": "ExpressionStatement",
                  "src": "975:17:64"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 18248,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 18246,
                      "name": "_success",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18233,
                      "src": "998:8:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 18247,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1009:4:64",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "998:15:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 18249,
                  "nodeType": "ExpressionStatement",
                  "src": "998:15:64"
                }
              ]
            },
            "documentation": null,
            "id": 18251,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "claim_ownership",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18231,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "873:2:64"
            },
            "payable": false,
            "returnParameters": {
              "id": 18234,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18233,
                  "name": "_success",
                  "nodeType": "VariableDeclaration",
                  "scope": 18251,
                  "src": "914:13:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 18232,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "914:4:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "913:15:64"
            },
            "scope": 18252,
            "src": "849:169:64",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 18253,
        "src": "89:932:64"
      }
    ],
    "src": "0:1022:64"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.25+commit.59dbf8f1.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "2.0.2",
  "updatedAt": "2020-03-13T02:38:46.126Z"
}