@alice-network/zos-lib
Version:
JavaScript library for the ZeppelinOS smart contract platform
1,132 lines • 50.2 kB
JSON
{
"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