UNPKG

arc_dx

Version:

A platform for building DAOs

1,246 lines 50.5 kB
{ "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