UNPKG

@alice-network/zos-lib

Version:

JavaScript library for the ZeppelinOS smart contract platform

1,132 lines 50.2 kB
{ "contractName": "ProxyCreator", "abi": [ { "constant": true, "inputs": [], "name": "created", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "app", "type": "address" }, { "name": "packageName", "type": "string" }, { "name": "contractName", "type": "string" }, { "name": "admin", "type": "address" }, { "name": "data", "type": "bytes" } ], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "name", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "pure", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b506106af806100206000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461005c578063325a19f1146100ec5780636f7b86be14610143575b600080fd5b34801561006857600080fd5b50610071610278565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100b1578082015181840152602081019050610096565b50505050905090810190601f1680156100de5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156100f857600080fd5b506101016102b5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014f57600080fd5b50610276600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506102db565b005b60606040805190810160405280600c81526020017f50726f787943726561746f720000000000000000000000000000000000000000815250905090565b603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060019054906101000a900460ff16806102fb57506102fa610672565b5b8061031257506000809054906101000a900460ff16155b15156103ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055508573ffffffffffffffffffffffffffffffffffffffff1663cd3e318a868686866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001848103845288818151815260200191508051906020019080838360005b838110156104b857808201518184015260208101905061049d565b50505050905090810190601f1680156104e55780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b8381101561051e578082015181840152602081019050610503565b50505050905090810190601f16801561054b5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610584578082015181840152602081019050610569565b50505050905090810190601f1680156105b15780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1580156105d557600080fd5b505af11580156105e9573d6000803e3d6000fd5b505050506040513d60208110156105ff57600080fd5b8101908080519060200190929190505050603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600060016101000a81548160ff021916908315150217905550505050505050565b600080303b905060008114915050905600a165627a7a72305820f40a7d7c8b205a06ba39f9bcc8994ee746b77bd8972aa89a2716e554f6c4bb680029", "deployedBytecode": "0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461005c578063325a19f1146100ec5780636f7b86be14610143575b600080fd5b34801561006857600080fd5b50610071610278565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100b1578082015181840152602081019050610096565b50505050905090810190601f1680156100de5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156100f857600080fd5b506101016102b5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014f57600080fd5b50610276600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506102db565b005b60606040805190810160405280600c81526020017f50726f787943726561746f720000000000000000000000000000000000000000815250905090565b603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060019054906101000a900460ff16806102fb57506102fa610672565b5b8061031257506000809054906101000a900460ff16155b15156103ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055508573ffffffffffffffffffffffffffffffffffffffff1663cd3e318a868686866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001848103845288818151815260200191508051906020019080838360005b838110156104b857808201518184015260208101905061049d565b50505050905090810190601f1680156104e55780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b8381101561051e578082015181840152602081019050610503565b50505050905090810190601f16801561054b5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610584578082015181840152602081019050610569565b50505050905090810190601f1680156105b15780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1580156105d557600080fd5b505af11580156105e9573d6000803e3d6000fd5b505050506040513d60208110156105ff57600080fd5b8101908080519060200190929190505050603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600060016101000a81548160ff021916908315150217905550505050505050565b600080303b905060008114915050905600a165627a7a72305820f40a7d7c8b205a06ba39f9bcc8994ee746b77bd8972aa89a2716e554f6c4bb680029", "sourceMap": "91:342:13:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;91:342:13;;;;;;;", "deployedSourceMap": "91:342:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;353:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;353:77:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;353:77:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;135:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;135:22:13;;;;;;;;;;;;;;;;;;;;;;;;;;;162:187;;8:9:-1;5:2;;;30:1;27;20:12;5:2;162:187:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;353:77;390:6;404:21;;;;;;;;;;;;;;;;;;;;353:77;:::o;135:22::-;;;;;;;;;;;;;:::o;162:187::-;1129:20:0;1024:12;;;;;;;;;;;:31;;;;1040:15;:13;:15::i;:::-;1024:31;:47;;;;1060:11;;;;;;;;;;;1059:12;1024:47;1016:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1152:12;;;;;;;;;;;1129:35;;1185:4;1170:12;;:19;;;;;;;;;;;;;;;;;;1209:4;1195:11;;:18;;;;;;;;;;;;;;;;;;294:3:13;:10;;;305:11;318:12;332:5;339:4;294:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;294:50:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;294:50:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;294:50:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;294:50:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;294:50:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;294:50:13;;;;;;;;;;;;;;;;284:7;;:60;;;;;;;;;;;;;;;;;;1243:15:0;1228:12;;:30;;;;;;;;;;;;;;;;;;162:187:13;;;;;;:::o;1349:467:0:-;1396:4;1737:10;1782:7;1770:20;1764:26;;1810:1;1804:2;:7;1797:14;;1349:467;;:::o", "source": "pragma solidity ^0.4.24;\n\nimport \"../application/App.sol\";\nimport \"../Initializable.sol\";\n\ncontract ProxyCreator is Initializable {\n\n address public created;\n\n function initialize(App app, string packageName, string contractName, address admin, bytes data) public initializer {\n created = app.create(packageName, contractName, admin, data);\n }\n\n function name() public pure returns (string) {\n return \"ProxyCreator\";\n }\n\n}\n", "sourcePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/ProxyCreator.sol", "ast": { "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/ProxyCreator.sol", "exportedSymbols": { "ProxyCreator": [ 1892 ] }, "id": 1893, "nodeType": "SourceUnit", "nodes": [ { "id": 1851, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:13" }, { "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/application/App.sol", "file": "../application/App.sol", "id": 1852, "nodeType": "ImportDirective", "scope": 1893, "sourceUnit": 309, "src": "26:32:13", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/Initializable.sol", "file": "../Initializable.sol", "id": 1853, "nodeType": "ImportDirective", "scope": 1893, "sourceUnit": 56, "src": "59:30:13", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 1854, "name": "Initializable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 55, "src": "116:13:13", "typeDescriptions": { "typeIdentifier": "t_contract$_Initializable_$55", "typeString": "contract Initializable" } }, "id": 1855, "nodeType": "InheritanceSpecifier", "src": "116:13:13" } ], "contractDependencies": [ 55 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 1892, "linearizedBaseContracts": [ 1892, 55 ], "name": "ProxyCreator", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 1857, "name": "created", "nodeType": "VariableDeclaration", "scope": 1892, "src": "135:22:13", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1856, "name": "address", "nodeType": "ElementaryTypeName", "src": "135:7:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "public" }, { "body": { "id": 1882, "nodeType": "Block", "src": "278:71:13", "statements": [ { "expression": { "argumentTypes": null, "id": 1880, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1872, "name": "created", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1857, "src": "284:7:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1875, "name": "packageName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1861, "src": "305:11:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1876, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1863, "src": "318:12:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1877, "name": "admin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1865, "src": "332:5:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1878, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1867, "src": "339:4:13", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "argumentTypes": null, "id": 1873, "name": "app", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1859, "src": "294:3:13", "typeDescriptions": { "typeIdentifier": "t_contract$_App_$308", "typeString": "contract App" } }, "id": 1874, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "create", "nodeType": "MemberAccess", "referencedDeclaration": 307, "src": "294:10:13", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_AdminUpgradeabilityProxy_$2812_$", "typeString": "function (string memory,string memory,address,bytes memory) payable external returns (contract AdminUpgradeabilityProxy)" } }, "id": 1879, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "294:50:13", "typeDescriptions": { "typeIdentifier": "t_contract$_AdminUpgradeabilityProxy_$2812", "typeString": "contract AdminUpgradeabilityProxy" } }, "src": "284:60:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 1881, "nodeType": "ExpressionStatement", "src": "284:60:13" } ] }, "documentation": null, "id": 1883, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 1870, "modifierName": { "argumentTypes": null, "id": 1869, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "266:11:13", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "266:11:13" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 1868, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1859, "name": "app", "nodeType": "VariableDeclaration", "scope": 1883, "src": "182:7:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_App_$308", "typeString": "contract App" }, "typeName": { "contractScope": null, "id": 1858, "name": "App", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 308, "src": "182:3:13", "typeDescriptions": { "typeIdentifier": "t_contract$_App_$308", "typeString": "contract App" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1861, "name": "packageName", "nodeType": "VariableDeclaration", "scope": 1883, "src": "191:18:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1860, "name": "string", "nodeType": "ElementaryTypeName", "src": "191:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1863, "name": "contractName", "nodeType": "VariableDeclaration", "scope": 1883, "src": "211:19:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1862, "name": "string", "nodeType": "ElementaryTypeName", "src": "211:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1865, "name": "admin", "nodeType": "VariableDeclaration", "scope": 1883, "src": "232:13:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1864, "name": "address", "nodeType": "ElementaryTypeName", "src": "232:7:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1867, "name": "data", "nodeType": "VariableDeclaration", "scope": 1883, "src": "247:10:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1866, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "247:5:13", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "181:77:13" }, "payable": false, "returnParameters": { "id": 1871, "nodeType": "ParameterList", "parameters": [], "src": "278:0:13" }, "scope": 1892, "src": "162:187:13", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1890, "nodeType": "Block", "src": "398:32:13", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "50726f787943726561746f72", "id": 1888, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "411:14:13", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f386af0e192358159c576d9cb03b2fccac834c116b8b7298f6ce24e796a80da2", "typeString": "literal_string \"ProxyCreator\"" }, "value": "ProxyCreator" }, "functionReturnParameters": 1887, "id": 1889, "nodeType": "Return", "src": "404:21:13" } ] }, "documentation": null, "id": 1891, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "name", "nodeType": "FunctionDefinition", "parameters": { "id": 1884, "nodeType": "ParameterList", "parameters": [], "src": "366:2:13" }, "payable": false, "returnParameters": { "id": 1887, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1886, "name": "", "nodeType": "VariableDeclaration", "scope": 1891, "src": "390:6:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1885, "name": "string", "nodeType": "ElementaryTypeName", "src": "390:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "389:8:13" }, "scope": 1892, "src": "353:77:13", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], "scope": 1893, "src": "91:342:13" } ], "src": "0:434:13" }, "legacyAST": { "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/ProxyCreator.sol", "exportedSymbols": { "ProxyCreator": [ 1892 ] }, "id": 1893, "nodeType": "SourceUnit", "nodes": [ { "id": 1851, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:13" }, { "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/application/App.sol", "file": "../application/App.sol", "id": 1852, "nodeType": "ImportDirective", "scope": 1893, "sourceUnit": 309, "src": "26:32:13", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/Initializable.sol", "file": "../Initializable.sol", "id": 1853, "nodeType": "ImportDirective", "scope": 1893, "sourceUnit": 56, "src": "59:30:13", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 1854, "name": "Initializable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 55, "src": "116:13:13", "typeDescriptions": { "typeIdentifier": "t_contract$_Initializable_$55", "typeString": "contract Initializable" } }, "id": 1855, "nodeType": "InheritanceSpecifier", "src": "116:13:13" } ], "contractDependencies": [ 55 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 1892, "linearizedBaseContracts": [ 1892, 55 ], "name": "ProxyCreator", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 1857, "name": "created", "nodeType": "VariableDeclaration", "scope": 1892, "src": "135:22:13", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1856, "name": "address", "nodeType": "ElementaryTypeName", "src": "135:7:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "public" }, { "body": { "id": 1882, "nodeType": "Block", "src": "278:71:13", "statements": [ { "expression": { "argumentTypes": null, "id": 1880, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1872, "name": "created", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1857, "src": "284:7:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1875, "name": "packageName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1861, "src": "305:11:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1876, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1863, "src": "318:12:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1877, "name": "admin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1865, "src": "332:5:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1878, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1867, "src": "339:4:13", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "argumentTypes": null, "id": 1873, "name": "app", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1859, "src": "294:3:13", "typeDescriptions": { "typeIdentifier": "t_contract$_App_$308", "typeString": "contract App" } }, "id": 1874, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "create", "nodeType": "MemberAccess", "referencedDeclaration": 307, "src": "294:10:13", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_AdminUpgradeabilityProxy_$2812_$", "typeString": "function (string memory,string memory,address,bytes memory) payable external returns (contract AdminUpgradeabilityProxy)" } }, "id": 1879, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "294:50:13", "typeDescriptions": { "typeIdentifier": "t_contract$_AdminUpgradeabilityProxy_$2812", "typeString": "contract AdminUpgradeabilityProxy" } }, "src": "284:60:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 1881, "nodeType": "ExpressionStatement", "src": "284:60:13" } ] }, "documentation": null, "id": 1883, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 1870, "modifierName": { "argumentTypes": null, "id": 1869, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "266:11:13", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "266:11:13" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 1868, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1859, "name": "app", "nodeType": "VariableDeclaration", "scope": 1883, "src": "182:7:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_App_$308", "typeString": "contract App" }, "typeName": { "contractScope": null, "id": 1858, "name": "App", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 308, "src": "182:3:13", "typeDescriptions": { "typeIdentifier": "t_contract$_App_$308", "typeString": "contract App" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1861, "name": "packageName", "nodeType": "VariableDeclaration", "scope": 1883, "src": "191:18:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1860, "name": "string", "nodeType": "ElementaryTypeName", "src": "191:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1863, "name": "contractName", "nodeType": "VariableDeclaration", "scope": 1883, "src": "211:19:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1862, "name": "string", "nodeType": "ElementaryTypeName", "src": "211:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1865, "name": "admin", "nodeType": "VariableDeclaration", "scope": 1883, "src": "232:13:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1864, "name": "address", "nodeType": "ElementaryTypeName", "src": "232:7:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1867, "name": "data", "nodeType": "VariableDeclaration", "scope": 1883, "src": "247:10:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1866, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "247:5:13", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "181:77:13" }, "payable": false, "returnParameters": { "id": 1871, "nodeType": "ParameterList", "parameters": [], "src": "278:0:13" }, "scope": 1892, "src": "162:187:13", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1890, "nodeType": "Block", "src": "398:32:13", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "50726f787943726561746f72", "id": 1888, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "411:14:13", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f386af0e192358159c576d9cb03b2fccac834c116b8b7298f6ce24e796a80da2", "typeString": "literal_string \"ProxyCreator\"" }, "value": "ProxyCreator" }, "functionReturnParameters": 1887, "id": 1889, "nodeType": "Return", "src": "404:21:13" } ] }, "documentation": null, "id": 1891, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "name", "nodeType": "FunctionDefinition", "parameters": { "id": 1884, "nodeType": "ParameterList", "parameters": [], "src": "366:2:13" }, "payable": false, "returnParameters": { "id": 1887, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1886, "name": "", "nodeType": "VariableDeclaration", "scope": 1891, "src": "390:6:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1885, "name": "string", "nodeType": "ElementaryTypeName", "src": "390:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "389:8:13" }, "scope": 1892, "src": "353:77:13", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], "scope": 1893, "src