{
  "contractName": "UniversalScheme",
  "abi": [
    {
      "constant": false,
      "inputs": [
        {
          "name": "_hashedParameters",
          "type": "bytes32"
        }
      ],
      "name": "updateParameters",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "hashedParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "proposalId",
          "type": "bytes32"
        }
      ],
      "name": "NewProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    }
  ],
  "bytecode": "0x606060405260008054600160a060020a033316600160a060020a03199091161790556101ed806100306000396000f3006060604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632ac2af5381146100665780638da5cb5b1461007e578063f2fde38b146100ad578063f98e87ba146100cc575b600080fd5b341561007157600080fd5b61007c6004356100f1565b005b341561008957600080fd5b610091610111565b604051600160a060020a03909116815260200160405180910390f35b34156100b857600080fd5b61007c600160a060020a0360043516610120565b34156100d757600080fd5b6100df6101bb565b60405190815260200160405180910390f35b60005433600160a060020a0390811691161461010c57600080fd5b600155565b600054600160a060020a031681565b60005433600160a060020a0390811691161461013b57600080fd5b600160a060020a038116151561015057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154815600a165627a7a72305820651179f28df0ac418f069c8b8e34b7ee3aef2e71d5ba18ceba239367fd4a94c10029",
  "deployedBytecode": "0x6060604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632ac2af5381146100665780638da5cb5b1461007e578063f2fde38b146100ad578063f98e87ba146100cc575b600080fd5b341561007157600080fd5b61007c6004356100f1565b005b341561008957600080fd5b610091610111565b604051600160a060020a03909116815260200160405180910390f35b34156100b857600080fd5b61007c600160a060020a0360043516610120565b34156100d757600080fd5b6100df6101bb565b60405190815260200160405180910390f35b60005433600160a060020a0390811691161461010c57600080fd5b600155565b600054600160a060020a031681565b60005433600160a060020a0390811691161461013b57600080fd5b600160a060020a038116151561015057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154815600a165627a7a72305820651179f28df0ac418f069c8b8e34b7ee3aef2e71d5ba18ceba239367fd4a94c10029",
  "sourceMap": "274:624:27:-;;;501:5:35;:18;;-1:-1:-1;;;;;509:10:35;501:18;-1:-1:-1;;;;;;501:18:35;;;;;;274:624:27;;;;;;",
  "deployedSourceMap": "274:624:27:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;452:157;;;;;;;;;;;;;;;;238:20:35;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:35;;;;;;;;;;;;;;834:169;;;;;;;;;;-1:-1:-1;;;;;834:169:35;;;;;345:31:27;;;;;;;;;;;;;;;;;;;;;;;;;;;452:157;654:5:35;;640:10;-1:-1:-1;;;;;640:19:35;;;654:5;;640:19;632:28;;;;;;566:16:27;:36;452:157::o;238:20:35:-;;;-1:-1:-1;;;;;238:20:35;;:::o;834:169::-;654:5;;640:10;-1:-1:-1;;;;;640:19:35;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:35;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:35;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:35;-1:-1:-1;;;;;982:16:35;;;;;;;;;;834:169::o;345:31:27:-;;;;:::o",
  "source": "pragma solidity ^0.4.15;\n\nimport \"./UniversalSchemeInterface.sol\";\nimport \"../controller/ControllerInterface.sol\";\nimport \"../controller/Avatar.sol\";\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\nimport \"zeppelin-solidity/contracts/token/StandardToken.sol\";\n\n\ncontract UniversalScheme is Ownable, UniversalSchemeInterface { //\n    bytes32 public hashedParameters; // For other parameters.\n\n    event NewProposal(bytes32 proposalId);\n\n    function updateParameters(\n        bytes32 _hashedParameters\n    )\n        public\n        onlyOwner\n    {\n        hashedParameters = _hashedParameters;\n    }\n\n    /**\n    *  @dev get the parameters for the current scheme from the controller\n    */\n    function getParametersFromController(Avatar _avatar) internal constant returns(bytes32) {\n        return ControllerInterface(_avatar.owner()).getSchemeParameters(this,address(_avatar));\n    }\n\n}\n",
  "sourcePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/UniversalScheme.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/UniversalScheme.sol",
      "exportedSymbols": {
        "UniversalScheme": [
          9585
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".15"
          ]
        },
        "id": 9537,
        "name": "PragmaDirective",
        "src": "0:24:27"
      },
      {
        "attributes": {
          "SourceUnit": 9605,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/UniversalSchemeInterface.sol",
          "file": "./UniversalSchemeInterface.sol",
          "scope": 9586,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9538,
        "name": "ImportDirective",
        "src": "26:40:27"
      },
      {
        "attributes": {
          "SourceUnit": 5173,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/controller/ControllerInterface.sol",
          "file": "../controller/ControllerInterface.sol",
          "scope": 9586,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9539,
        "name": "ImportDirective",
        "src": "67:47:27"
      },
      {
        "attributes": {
          "SourceUnit": 3874,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/controller/Avatar.sol",
          "file": "../controller/Avatar.sol",
          "scope": 9586,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9540,
        "name": "ImportDirective",
        "src": "115:34:27"
      },
      {
        "attributes": {
          "SourceUnit": 11446,
          "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol",
          "file": "zeppelin-solidity/contracts/ownership/Ownable.sol",
          "scope": 9586,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9541,
        "name": "ImportDirective",
        "src": "150:59:27"
      },
      {
        "attributes": {
          "SourceUnit": 12000,
          "absolutePath": "zeppelin-solidity/contracts/token/StandardToken.sol",
          "file": "zeppelin-solidity/contracts/token/StandardToken.sol",
          "scope": 9586,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9542,
        "name": "ImportDirective",
        "src": "210:61:27"
      },
      {
        "attributes": {
          "contractDependencies": [
            9604,
            11445
          ],
          "contractKind": "contract",
          "documentation": null,
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            9585,
            9604,
            11445
          ],
          "name": "UniversalScheme",
          "scope": 9586
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "Ownable",
                  "referencedDeclaration": 11445,
                  "type": "contract Ownable"
                },
                "id": 9543,
                "name": "UserDefinedTypeName",
                "src": "302:7:27"
              }
            ],
            "id": 9544,
            "name": "InheritanceSpecifier",
            "src": "302:7:27"
          },
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "UniversalSchemeInterface",
                  "referencedDeclaration": 9604,
                  "type": "contract UniversalSchemeInterface"
                },
                "id": 9545,
                "name": "UserDefinedTypeName",
                "src": "311:24:27"
              }
            ],
            "id": 9546,
            "name": "InheritanceSpecifier",
            "src": "311:24:27"
          },
          {
            "attributes": {
              "constant": false,
              "name": "hashedParameters",
              "scope": 9585,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "bytes32",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "bytes32",
                  "type": "bytes32"
                },
                "id": 9547,
                "name": "ElementaryTypeName",
                "src": "345:7:27"
              }
            ],
            "id": 9548,
            "name": "VariableDeclaration",
            "src": "345:31:27"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "NewProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "proposalId",
                      "scope": 9552,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9549,
                        "name": "ElementaryTypeName",
                        "src": "426:7:27"
                      }
                    ],
                    "id": 9550,
                    "name": "VariableDeclaration",
                    "src": "426:18:27"
                  }
                ],
                "id": 9551,
                "name": "ParameterList",
                "src": "425:20:27"
              }
            ],
            "id": 9552,
            "name": "EventDefinition",
            "src": "408:38:27"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "updateParameters",
              "payable": false,
              "scope": 9585,
              "stateMutability": "nonpayable",
              "superFunction": 9596,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_hashedParameters",
                      "scope": 9564,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9553,
                        "name": "ElementaryTypeName",
                        "src": "487:7:27"
                      }
                    ],
                    "id": 9554,
                    "name": "VariableDeclaration",
                    "src": "487:25:27"
                  }
                ],
                "id": 9555,
                "name": "ParameterList",
                "src": "477:41:27"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9558,
                "name": "ParameterList",
                "src": "556:0:27"
              },
              {
                "attributes": {
                  "arguments": [
                    null
                  ]
                },
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 11419,
                      "type": "modifier ()",
                      "value": "onlyOwner"
                    },
                    "id": 9556,
                    "name": "Identifier",
                    "src": "542:9:27"
                  }
                ],
                "id": 9557,
                "name": "ModifierInvocation",
                "src": "542:9:27"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bytes32"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9548,
                              "type": "bytes32",
                              "value": "hashedParameters"
                            },
                            "id": 9559,
                            "name": "Identifier",
                            "src": "566:16:27"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9554,
                              "type": "bytes32",
                              "value": "_hashedParameters"
                            },
                            "id": 9560,
                            "name": "Identifier",
                            "src": "585:17:27"
                          }
                        ],
                        "id": 9561,
                        "name": "Assignment",
                        "src": "566:36:27"
                      }
                    ],
                    "id": 9562,
                    "name": "ExpressionStatement",
                    "src": "566:36:27"
                  }
                ],
                "id": 9563,
                "name": "Block",
                "src": "556:53:27"
              }
            ],
            "id": 9564,
            "name": "FunctionDefinition",
            "src": "452:157:27"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getParametersFromController",
              "payable": false,
              "scope": 9585,
              "stateMutability": "view",
              "superFunction": 9603,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 9584,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3873,
                          "type": "contract Avatar"
                        },
                        "id": 9565,
                        "name": "UserDefinedTypeName",
                        "src": "741:6:27"
                      }
                    ],
                    "id": 9566,
                    "name": "VariableDeclaration",
                    "src": "741:14:27"
                  }
                ],
                "id": 9567,
                "name": "ParameterList",
                "src": "740:16:27"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 9584,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9568,
                        "name": "ElementaryTypeName",
                        "src": "783:7:27"
                      }
                    ],
                    "id": 9569,
                    "name": "VariableDeclaration",
                    "src": "783:7:27"
                  }
                ],
                "id": 9570,
                "name": "ParameterList",
                "src": "782:9:27"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 9570
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_UniversalScheme_$9585",
                                  "typeString": "contract UniversalScheme"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "getSchemeParameters",
                              "referencedDeclaration": 5042,
                              "type": "function (address,address) view external returns (bytes32)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "contract ControllerInterface",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 5172,
                                      "type": "type(contract ControllerInterface)",
                                      "value": "ControllerInterface"
                                    },
                                    "id": 9571,
                                    "name": "Identifier",
                                    "src": "809:19:27"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "arguments": [
                                        null
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "address",
                                      "type_conversion": false
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            null
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "owner",
                                          "referencedDeclaration": 11393,
                                          "type": "function () view external returns (address)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 9566,
                                              "type": "contract Avatar",
                                              "value": "_avatar"
                                            },
                                            "id": 9572,
                                            "name": "Identifier",
                                            "src": "829:7:27"
                                          }
                                        ],
                                        "id": 9573,
                                        "name": "MemberAccess",
                                        "src": "829:13:27"
                                      }
                                    ],
                                    "id": 9574,
                                    "name": "FunctionCall",
                                    "src": "829:15:27"
                                  }
                                ],
                                "id": 9575,
                                "name": "FunctionCall",
                                "src": "809:36:27"
                              }
                            ],
                            "id": 9576,
                            "name": "MemberAccess",
                            "src": "809:56:27"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12064,
                              "type": "contract UniversalScheme",
                              "value": "this"
                            },
                            "id": 9577,
                            "name": "Identifier",
                            "src": "866:4:27"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_Avatar_$3873",
                                      "typeString": "contract Avatar"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(address)",
                                  "value": "address"
                                },
                                "id": 9578,
                                "name": "ElementaryTypeNameExpression",
                                "src": "871:7:27"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9566,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 9579,
                                "name": "Identifier",
                                "src": "879:7:27"
                              }
                            ],
                            "id": 9580,
                            "name": "FunctionCall",
                            "src": "871:16:27"
                          }
                        ],
                        "id": 9581,
                        "name": "FunctionCall",
                        "src": "809:79:27"
                      }
                    ],
                    "id": 9582,
                    "name": "Return",
                    "src": "802:86:27"
                  }
                ],
                "id": 9583,
                "name": "Block",
                "src": "792:103:27"
              }
            ],
            "id": 9584,
            "name": "FunctionDefinition",
            "src": "704:191:27"
          }
        ],
        "id": 9585,
        "name": "ContractDefinition",
        "src": "274:624:27"
      }
    ],
    "id": 9586,
    "name": "SourceUnit",
    "src": "0:899:27"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-02-04T21:57:39.066Z"
}