arc_dx
Version:
A platform for building DAOs
1,246 lines • 50.5 kB
JSON
{
"contractName": "UniversalScheme",
"abi": [
{
"constant": false,
"inputs": [],
"name": "renounceOwnership",
"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": true,
"name": "previousOwner",
"type": "address"
}
],
"name": "OwnershipRenounced",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"constant": false,
"inputs": [
{
"name": "_hashedParameters",
"type": "bytes32"
}
],
"name": "updateParameters",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405260008054600160a060020a03191633179055610282806100256000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632ac2af538114610071578063715018a61461008b5780638da5cb5b146100a0578063f2fde38b146100d1578063f98e87ba146100f2575b600080fd5b34801561007d57600080fd5b50610089600435610119565b005b34801561009757600080fd5b50610089610135565b3480156100ac57600080fd5b506100b56101a1565b60408051600160a060020a039092168252519081900360200190f35b3480156100dd57600080fd5b50610089600160a060020a03600435166101b0565b3480156100fe57600080fd5b506101076101d3565b60408051918252519081900360200190f35b600054600160a060020a0316331461013057600080fd5b600155565b600054600160a060020a0316331461014c57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b600054600160a060020a031633146101c757600080fd5b6101d0816101d9565b50565b60015481565b600160a060020a03811615156101ee57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058202f0c25da2092a429eef709e1ff0f1abe9205b7a93d6232b11919d2b36de6ca210029",
"deployedBytecode": "0x60806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632ac2af538114610071578063715018a61461008b5780638da5cb5b146100a0578063f2fde38b146100d1578063f98e87ba146100f2575b600080fd5b34801561007d57600080fd5b50610089600435610119565b005b34801561009757600080fd5b50610089610135565b3480156100ac57600080fd5b506100b56101a1565b60408051600160a060020a039092168252519081900360200190f35b3480156100dd57600080fd5b50610089600160a060020a03600435166101b0565b3480156100fe57600080fd5b506101076101d3565b60408051918252519081900360200190f35b600054600160a060020a0316331461013057600080fd5b600155565b600054600160a060020a0316331461014c57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b600054600160a060020a031633146101c757600080fd5b6101d0816101d9565b50565b60015481565b600160a060020a03811615156101ee57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058202f0c25da2092a429eef709e1ff0f1abe9205b7a93d6232b11919d2b36de6ca210029",
"sourceMap": "288:572:33:-;;;567:5:55;:18;;-1:-1:-1;;;;;;567:18:55;575:10;567:18;;;288:572:33;;;;;;",
"deployedSourceMap": "288:572:33:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;419:157;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;419:157:33;;;;;;;1001:111:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:55;;;;238:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:55;;;;;;;;-1:-1:-1;;;;;238:20:55;;;;;;;;;;;;;;1274:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1274:103:55;-1:-1:-1;;;;;1274:103:55;;;;;356:31:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;356:31:33;;;;;;;;;;;;;;;;;;;;419:157;719:5:55;;-1:-1:-1;;;;;719:5:55;705:10;:19;697:28;;;;;;533:16:33;:36;419:157::o;1001:111:55:-;719:5;;-1:-1:-1;;;;;719:5:55;705:10;:19;697:28;;;;;;1077:5;;;1058:25;;-1:-1:-1;;;;;1077:5:55;;;;1058:25;;;1105:1;1089:18;;-1:-1:-1;;1089:18:55;;;1001:111::o;238:20::-;;;-1:-1:-1;;;;;238:20:55;;:::o;1274:103::-;719:5;;-1:-1:-1;;;;;719:5:55;705:10;:19;697:28;;;;;;1343:29;1362:9;1343:18;:29::i;:::-;1274:103;:::o;356:31:33:-;;;;:::o;1512:171:55:-;-1:-1:-1;;;;;1582:23:55;;;;1574:32;;;;;;1638:5;;;1617:38;;-1:-1:-1;;;;;1617:38:55;;;;1638:5;;;1617:38;;;1661:5;:17;;-1:-1:-1;;1661:17:55;-1:-1:-1;;;;;1661:17:55;;;;;;;;;;1512:171::o",
"source": "pragma solidity ^0.4.25;\n\nimport \"./UniversalSchemeInterface.sol\";\nimport \"../controller/ControllerInterface.sol\";\nimport \"../controller/Avatar.sol\";\nimport \"openzeppelin-solidity/contracts/ownership/Ownable.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol\";\n\n\ncontract UniversalScheme is Ownable, UniversalSchemeInterface {\n bytes32 public hashedParameters; // For other parameters.\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 view returns(bytes32) {\n return ControllerInterface(_avatar.owner()).getSchemeParameters(this,address(_avatar));\n }\n}\n",
"sourcePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/UniversalScheme.sol",
"ast": {
"absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/UniversalScheme.sol",
"exportedSymbols": {
"UniversalScheme": [
10668
]
},
"id": 10669,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 10624,
"literals": [
"solidity",
"^",
"0.4",
".25"
],
"nodeType": "PragmaDirective",
"src": "0:24:33"
},
{
"absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/UniversalSchemeInterface.sol",
"file": "./UniversalSchemeInterface.sol",
"id": 10625,
"nodeType": "ImportDirective",
"scope": 10669,
"sourceUnit": 10688,
"src": "26:40:33",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/controller/ControllerInterface.sol",
"file": "../controller/ControllerInterface.sol",
"id": 10626,
"nodeType": "ImportDirective",
"scope": 10669,
"sourceUnit": 2007,
"src": "67:47:33",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/controller/Avatar.sol",
"file": "../controller/Avatar.sol",
"id": 10627,
"nodeType": "ImportDirective",
"scope": 10669,
"sourceUnit": 334,
"src": "115:34:33",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol",
"file": "openzeppelin-solidity/contracts/ownership/Ownable.sol",
"id": 10628,
"nodeType": "ImportDirective",
"scope": 10669,
"sourceUnit": 20878,
"src": "150:63:33",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol",
"file": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol",
"id": 10629,
"nodeType": "ImportDirective",
"scope": 10669,
"sourceUnit": 21535,
"src": "214:71:33",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 10630,
"name": "Ownable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 20877,
"src": "316:7:33",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$20877",
"typeString": "contract Ownable"
}
},
"id": 10631,
"nodeType": "InheritanceSpecifier",
"src": "316:7:33"
},
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 10632,
"name": "UniversalSchemeInterface",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10687,
"src": "325:24:33",
"typeDescriptions": {
"typeIdentifier": "t_contract$_UniversalSchemeInterface_$10687",
"typeString": "contract UniversalSchemeInterface"
}
},
"id": 10633,
"nodeType": "InheritanceSpecifier",
"src": "325:24:33"
}
],
"contractDependencies": [
10687,
20877
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 10668,
"linearizedBaseContracts": [
10668,
10687,
20877
],
"name": "UniversalScheme",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 10635,
"name": "hashedParameters",
"nodeType": "VariableDeclaration",
"scope": 10668,
"src": "356:31:33",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 10634,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "356:7:33",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 10646,
"nodeType": "Block",
"src": "523:53:33",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 10644,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 10642,
"name": "hashedParameters",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10635,
"src": "533:16:33",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 10643,
"name": "_hashedParameters",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10637,
"src": "552:17:33",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"src": "533:36:33",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 10645,
"nodeType": "ExpressionStatement",
"src": "533:36:33"
}
]
},
"documentation": null,
"id": 10647,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 10640,
"modifierName": {
"argumentTypes": null,
"id": 10639,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20825,
"src": "509:9:33",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "509:9:33"
}
],
"name": "updateParameters",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10638,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10637,
"name": "_hashedParameters",
"nodeType": "VariableDeclaration",
"scope": 10647,
"src": "454:25:33",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 10636,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "454:7:33",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "444:41:33"
},
"payable": false,
"returnParameters": {
"id": 10641,
"nodeType": "ParameterList",
"parameters": [],
"src": "523:0:33"
},
"scope": 10668,
"src": "419:157:33",
"stateMutability": "nonpayable",
"superFunction": 10679,
"visibility": "public"
},
{
"body": {
"id": 10666,
"nodeType": "Block",
"src": "755:103:33",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 10660,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 21646,
"src": "829:4:33",
"typeDescriptions": {
"typeIdentifier": "t_contract$_UniversalScheme_$10668",
"typeString": "contract UniversalScheme"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 10662,
"name": "_avatar",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10649,
"src": "842:7:33",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Avatar_$333",
"typeString": "contract Avatar"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_Avatar_$333",
"typeString": "contract Avatar"
}
],
"id": 10661,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "834:7:33",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 10663,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "834:16:33",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_UniversalScheme_$10668",
"typeString": "contract UniversalScheme"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 10655,
"name": "_avatar",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10649,
"src": "792:7:33",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Avatar_$333",
"typeString": "contract Avatar"
}
},
"id": 10656,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "owner",
"nodeType": "MemberAccess",
"referencedDeclaration": 20795,
"src": "792:13:33",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
"typeString": "function () view external returns (address)"
}
},
"id": 10657,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "792:15:33",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 10654,
"name": "ControllerInterface",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2006,
"src": "772:19:33",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ControllerInterface_$2006_$",
"typeString": "type(contract ControllerInterface)"
}
},
"id": 10658,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "772:36:33",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ControllerInterface_$2006",
"typeString": "contract ControllerInterface"
}
},
"id": 10659,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getSchemeParameters",
"nodeType": "MemberAccess",
"referencedDeclaration": 1857,
"src": "772:56:33",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bytes32_$",
"typeString": "function (address,address) view external returns (bytes32)"
}
},
"id": 10664,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "772:79:33",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"functionReturnParameters": 10653,
"id": 10665,
"nodeType": "Return",
"src": "765:86:33"
}
]
},
"documentation": " @dev get the parameters for the current scheme from the controller",
"id": 10667,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getParametersFromController",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10650,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10649,
"name": "_avatar",
"nodeType": "VariableDeclaration",
"scope": 10667,
"src": "708:14:33",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Avatar_$333",
"typeString": "contract Avatar"
},
"typeName": {
"contractScope": null,
"id": 10648,
"name": "Avatar",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 333,
"src": "708:6:33",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Avatar_$333",
"typeString": "contract Avatar"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "707:16:33"
},
"payable": false,
"returnParameters": {
"id": 10653,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10652,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 10667,
"src": "746:7:33",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 10651,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "746:7:33",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "745:9:33"
},
"scope": 10668,
"src": "671:187:33",
"stateMutability": "view",
"superFunction": 10686,
"visibility": "internal"
}
],
"scope": 10669,
"src": "288:572:33"
}
],
"src": "0:861:33"
},
"legacyAST": {
"absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/UniversalScheme.sol",
"exportedSymbols": {
"UniversalScheme": [
10668
]
},
"id": 10669,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 10624,
"literals": [
"solidity",
"^",
"0.4",
".25"
],
"nodeType": "PragmaDirective",
"src": "0:24:33"
},
{
"absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/UniversalSchemeInterface.sol",
"file": "./UniversalSchemeInterface.sol",
"id": 10625,
"nodeType": "ImportDirective",
"scope": 10669,
"sourceUnit": 10688,
"src": "26:40:33",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/controller/ControllerInterface.sol",
"file": "../controller/ControllerInterface.sol",
"id": 10626,
"nodeType": "ImportDirective",
"scope": 10669,
"sourceUnit": 2007,
"src": "67:47:33",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/controller/Avatar.sol",
"file": "../controller/Avatar.sol",
"id": 10627,
"nodeType": "ImportDirective",
"scope": 10669,
"sourceUnit": 334,
"src": "115:34:33",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol",
"file": "openzeppelin-solidity/contracts/ownership/Ownable.sol",
"id": 10628,
"nodeType": "ImportDirective",
"scope": 10669,
"sourceUnit": 20878,
"src": "150:63:33",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol",
"file": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol",
"id": 10629,
"nodeType": "ImportDirective",
"scope": 10669,
"sourceUnit": 21535,
"src": "214:71:33",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 10630,
"name": "Ownable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 20877,
"src": "316:7:33",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$20877",
"typeString": "contract Ownable"
}
},
"id": 10631,
"nodeType": "InheritanceSpecifier",
"src": "316:7:33"
},
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 10632,
"name": "UniversalSchemeInterface",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10687,
"src": "325:24:33",
"typeDescriptions": {
"typeIdentifier": "t_contract$_UniversalSchemeInterface_$10687",
"typeString": "contract UniversalSchemeInterface"
}
},
"id": 10633,
"nodeType": "InheritanceSpecifier",
"src": "325:24:33"
}
],
"contractDependencies": [
10687,
20877
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 10668,
"linearizedBaseContracts": [
10668,
10687,
20877
],
"name": "UniversalScheme",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 10635,
"name": "hashedParameters",
"nodeType": "VariableDeclaration",
"scope": 10668,
"src": "356:31:33",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 10634,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "356:7:33",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 10646,
"nodeType": "Block",
"src": "523:53:33",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 10644,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 10642,
"name": "hashedParameters",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10635,
"src": "533:16:33",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 10643,
"name": "_hashedParameters",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10637,
"src": "552:17:33",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"src": "533:36:33",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 10645,
"nodeType": "ExpressionStatement",
"src": "533:36:33"
}
]
},
"documentation": null,
"id": 10647,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 10640,
"modifierName": {
"argumentTypes": null,
"id": 10639,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20825,
"src": "509:9:33",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "509:9:33"
}
],
"name": "updateParameters",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10638,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10637,
"name": "_hashedParameters",
"nodeType": "VariableDeclaration",
"scope": 10647,
"src": "454:25:33",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 10636,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "454:7:33",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "444:41:33"
},
"payable": false,
"returnParameters": {
"id": 10641,
"nodeType": "ParameterList",
"parameters": [],
"src": "523:0:33"
},
"scope": 10668,
"src": "419:157:33",
"stateMutability": "nonpayable",
"superFunction": 10679,
"visibility": "public"
},
{
"body": {
"id": 10666,
"nodeType": "Block",
"src": "755:103:33",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 10660,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 21646,
"src": "829:4:33",
"typeDescriptions": {
"typeIdentifier": "t_contract$_UniversalScheme_$10668",
"typeString": "contract UniversalScheme"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 10662,
"name": "_avatar",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10649,
"src": "842:7:33",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Avatar_$333",
"typeString": "contract Avatar"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_Avatar_$333",
"typeString": "contract Avatar"
}
],
"id": 10661,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "834:7:33",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 10663,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "834:16:33",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_UniversalScheme_$10668",
"typeString": "contract UniversalScheme"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 10655,
"name": "_avatar",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10649,
"src": "792:7:33",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Avatar_$333",
"typeString": "contract Avatar"
}
},
"id": 10656,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "owner",
"nodeType": "MemberAccess",
"referencedDeclaration": 20795,
"src": "792:13:33",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
"typeString": "function () view external returns (address)"
}
},
"id": 10657,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "792:15:33",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 10654,
"name": "ControllerInterface",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2006,
"src": "772:19:33",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ControllerInterface_$2006_$",
"typeString": "type(contract ControllerInterface)"
}
},
"id": 10658,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "772:36:33",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ControllerInterface_$2006",
"typeString": "contract ControllerInterface"
}
},
"id": 10659,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getSchemeParameters",
"nodeType": "MemberAccess",
"referencedDeclaration": 1857,
"src": "772:56:33",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bytes32_$",
"typeString": "function (address,address) view external returns (bytes32)"
}
},
"id": 10664,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "772:79:33",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"functionReturnParameters": 10653,
"id": 10665,
"nodeType": "Return",
"src": "765:86:33"
}
]
},
"documentation": " @dev get the parameters for the current scheme from the controller",
"id": 10667,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getParametersFromController",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10650,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10649,
"name": "_avatar",
"nodeType": "VariableDeclaration",
"scope": 10667,
"src": "708:14:33",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Avatar_$333",
"typeString": "contract Avatar"
},
"typeName": {
"contractScope": null,
"id": 10648,
"name": "Avatar",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 333,
"src": "708:6:33",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Avatar_$333",
"typeString": "contract Avatar"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "707:16:33"
},
"payable": false,
"returnParameters": {
"id": 10653,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10652,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 10667,
"src": "746:7:33",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 10651,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "746:7:33",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "745