{
  "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": "LogNewProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    }
  ],
  "bytecode": "0x606060405260008054600160a060020a033316600160a060020a03199091161790556101ed806100306000396000f3006060604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632ac2af5381146100665780638da5cb5b1461007e578063f2fde38b146100ad578063f98e87ba146100cc575b600080fd5b341561007157600080fd5b61007c6004356100f1565b005b341561008957600080fd5b610091610111565b604051600160a060020a03909116815260200160405180910390f35b34156100b857600080fd5b61007c600160a060020a0360043516610120565b34156100d757600080fd5b6100df6101bb565b60405190815260200160405180910390f35b60005433600160a060020a0390811691161461010c57600080fd5b600155565b600054600160a060020a031681565b60005433600160a060020a0390811691161461013b57600080fd5b600160a060020a038116151561015057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154815600a165627a7a723058204bcf4e00a1bfdcbad850227a93db396684f89e1a65af36485bfccdbdda0e588e0029",
  "deployedBytecode": "0x6060604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632ac2af5381146100665780638da5cb5b1461007e578063f2fde38b146100ad578063f98e87ba146100cc575b600080fd5b341561007157600080fd5b61007c6004356100f1565b005b341561008957600080fd5b610091610111565b604051600160a060020a03909116815260200160405180910390f35b34156100b857600080fd5b61007c600160a060020a0360043516610120565b34156100d757600080fd5b6100df6101bb565b60405190815260200160405180910390f35b60005433600160a060020a0390811691161461010c57600080fd5b600155565b600054600160a060020a031681565b60005433600160a060020a0390811691161461013b57600080fd5b600160a060020a038116151561015057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154815600a165627a7a723058204bcf4e00a1bfdcbad850227a93db396684f89e1a65af36485bfccdbdda0e588e0029",
  "sourceMap": "274:627:25:-;;;501:5:33;:18;;-1:-1:-1;;;;;509:10:33;501:18;-1:-1:-1;;;;;;501:18:33;;;;;;274:627:25;;;;;;",
  "deployedSourceMap": "274:627:25:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;455:157;;;;;;;;;;;;;;;;238:20:33;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:33;;;;;;;;;;;;;;834:169;;;;;;;;;;-1:-1:-1;;;;;834:169:33;;;;;345:31:25;;;;;;;;;;;;;;;;;;;;;;;;;;;455:157;654:5:33;;640:10;-1:-1:-1;;;;;640:19:33;;;654:5;;640:19;632:28;;;;;;569:16:25;:36;455:157::o;238:20:33:-;;;-1:-1:-1;;;;;238:20:33;;:::o;834:169::-;654:5;;640:10;-1:-1:-1;;;;;640:19:33;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:33;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:33;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:33;-1:-1:-1;;;;;982:16:33;;;;;;;;;;834:169::o;345:31:25:-;;;;:::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 LogNewProposal(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": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/UniversalScheme.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/UniversalScheme.sol",
      "exportedSymbols": {
        "UniversalScheme": [
          8465
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".15"
          ]
        },
        "id": 8417,
        "name": "PragmaDirective",
        "src": "0:24:25"
      },
      {
        "attributes": {
          "SourceUnit": 8485,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/UniversalSchemeInterface.sol",
          "file": "./UniversalSchemeInterface.sol",
          "scope": 8466,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 8418,
        "name": "ImportDirective",
        "src": "26:40:25"
      },
      {
        "attributes": {
          "SourceUnit": 4365,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/controller/ControllerInterface.sol",
          "file": "../controller/ControllerInterface.sol",
          "scope": 8466,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 8419,
        "name": "ImportDirective",
        "src": "67:47:25"
      },
      {
        "attributes": {
          "SourceUnit": 3066,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/controller/Avatar.sol",
          "file": "../controller/Avatar.sol",
          "scope": 8466,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 8420,
        "name": "ImportDirective",
        "src": "115:34:25"
      },
      {
        "attributes": {
          "SourceUnit": 10302,
          "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol",
          "file": "zeppelin-solidity/contracts/ownership/Ownable.sol",
          "scope": 8466,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 8421,
        "name": "ImportDirective",
        "src": "150:59:25"
      },
      {
        "attributes": {
          "SourceUnit": 10856,
          "absolutePath": "zeppelin-solidity/contracts/token/StandardToken.sol",
          "file": "zeppelin-solidity/contracts/token/StandardToken.sol",
          "scope": 8466,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 8422,
        "name": "ImportDirective",
        "src": "210:61:25"
      },
      {
        "attributes": {
          "contractDependencies": [
            8484,
            10301
          ],
          "contractKind": "contract",
          "documentation": null,
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            8465,
            8484,
            10301
          ],
          "name": "UniversalScheme",
          "scope": 8466
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "Ownable",
                  "referencedDeclaration": 10301,
                  "type": "contract Ownable"
                },
                "id": 8423,
                "name": "UserDefinedTypeName",
                "src": "302:7:25"
              }
            ],
            "id": 8424,
            "name": "InheritanceSpecifier",
            "src": "302:7:25"
          },
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "UniversalSchemeInterface",
                  "referencedDeclaration": 8484,
                  "type": "contract UniversalSchemeInterface"
                },
                "id": 8425,
                "name": "UserDefinedTypeName",
                "src": "311:24:25"
              }
            ],
            "id": 8426,
            "name": "InheritanceSpecifier",
            "src": "311:24:25"
          },
          {
            "attributes": {
              "constant": false,
              "name": "hashedParameters",
              "scope": 8465,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "bytes32",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "bytes32",
                  "type": "bytes32"
                },
                "id": 8427,
                "name": "ElementaryTypeName",
                "src": "345:7:25"
              }
            ],
            "id": 8428,
            "name": "VariableDeclaration",
            "src": "345:31:25"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogNewProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "proposalId",
                      "scope": 8432,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8429,
                        "name": "ElementaryTypeName",
                        "src": "429:7:25"
                      }
                    ],
                    "id": 8430,
                    "name": "VariableDeclaration",
                    "src": "429:18:25"
                  }
                ],
                "id": 8431,
                "name": "ParameterList",
                "src": "428:20:25"
              }
            ],
            "id": 8432,
            "name": "EventDefinition",
            "src": "408:41:25"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "updateParameters",
              "payable": false,
              "scope": 8465,
              "stateMutability": "nonpayable",
              "superFunction": 8476,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_hashedParameters",
                      "scope": 8444,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8433,
                        "name": "ElementaryTypeName",
                        "src": "490:7:25"
                      }
                    ],
                    "id": 8434,
                    "name": "VariableDeclaration",
                    "src": "490:25:25"
                  }
                ],
                "id": 8435,
                "name": "ParameterList",
                "src": "480:41:25"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 8438,
                "name": "ParameterList",
                "src": "559:0:25"
              },
              {
                "attributes": {
                  "arguments": [
                    null
                  ]
                },
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 10275,
                      "type": "modifier ()",
                      "value": "onlyOwner"
                    },
                    "id": 8436,
                    "name": "Identifier",
                    "src": "545:9:25"
                  }
                ],
                "id": 8437,
                "name": "ModifierInvocation",
                "src": "545:9:25"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bytes32"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8428,
                              "type": "bytes32",
                              "value": "hashedParameters"
                            },
                            "id": 8439,
                            "name": "Identifier",
                            "src": "569:16:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8434,
                              "type": "bytes32",
                              "value": "_hashedParameters"
                            },
                            "id": 8440,
                            "name": "Identifier",
                            "src": "588:17:25"
                          }
                        ],
                        "id": 8441,
                        "name": "Assignment",
                        "src": "569:36:25"
                      }
                    ],
                    "id": 8442,
                    "name": "ExpressionStatement",
                    "src": "569:36:25"
                  }
                ],
                "id": 8443,
                "name": "Block",
                "src": "559:53:25"
              }
            ],
            "id": 8444,
            "name": "FunctionDefinition",
            "src": "455:157:25"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getParametersFromController",
              "payable": false,
              "scope": 8465,
              "stateMutability": "view",
              "superFunction": 8483,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 8464,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3065,
                          "type": "contract Avatar"
                        },
                        "id": 8445,
                        "name": "UserDefinedTypeName",
                        "src": "744:6:25"
                      }
                    ],
                    "id": 8446,
                    "name": "VariableDeclaration",
                    "src": "744:14:25"
                  }
                ],
                "id": 8447,
                "name": "ParameterList",
                "src": "743:16:25"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 8464,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8448,
                        "name": "ElementaryTypeName",
                        "src": "786:7:25"
                      }
                    ],
                    "id": 8449,
                    "name": "VariableDeclaration",
                    "src": "786:7:25"
                  }
                ],
                "id": 8450,
                "name": "ParameterList",
                "src": "785:9:25"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 8450
                    },
                    "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_$8465",
                                  "typeString": "contract UniversalScheme"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "getSchemeParameters",
                              "referencedDeclaration": 4234,
                              "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": 4364,
                                      "type": "type(contract ControllerInterface)",
                                      "value": "ControllerInterface"
                                    },
                                    "id": 8451,
                                    "name": "Identifier",
                                    "src": "812:19:25"
                                  },
                                  {
                                    "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": 10249,
                                          "type": "function () view external returns (address)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 8446,
                                              "type": "contract Avatar",
                                              "value": "_avatar"
                                            },
                                            "id": 8452,
                                            "name": "Identifier",
                                            "src": "832:7:25"
                                          }
                                        ],
                                        "id": 8453,
                                        "name": "MemberAccess",
                                        "src": "832:13:25"
                                      }
                                    ],
                                    "id": 8454,
                                    "name": "FunctionCall",
                                    "src": "832:15:25"
                                  }
                                ],
                                "id": 8455,
                                "name": "FunctionCall",
                                "src": "812:36:25"
                              }
                            ],
                            "id": 8456,
                            "name": "MemberAccess",
                            "src": "812:56:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10920,
                              "type": "contract UniversalScheme",
                              "value": "this"
                            },
                            "id": 8457,
                            "name": "Identifier",
                            "src": "869:4:25"
                          },
                          {
                            "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_$3065",
                                      "typeString": "contract Avatar"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(address)",
                                  "value": "address"
                                },
                                "id": 8458,
                                "name": "ElementaryTypeNameExpression",
                                "src": "874:7:25"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8446,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 8459,
                                "name": "Identifier",
                                "src": "882:7:25"
                              }
                            ],
                            "id": 8460,
                            "name": "FunctionCall",
                            "src": "874:16:25"
                          }
                        ],
                        "id": 8461,
                        "name": "FunctionCall",
                        "src": "812:79:25"
                      }
                    ],
                    "id": 8462,
                    "name": "Return",
                    "src": "805:86:25"
                  }
                ],
                "id": 8463,
                "name": "Block",
                "src": "795:103:25"
              }
            ],
            "id": 8464,
            "name": "FunctionDefinition",
            "src": "707:191:25"
          }
        ],
        "id": 8465,
        "name": "ContractDefinition",
        "src": "274:627:25"
      }
    ],
    "id": 8466,
    "name": "SourceUnit",
    "src": "0:902:25"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-01-25T13:14:57.925Z"
}