@alice-network/zos-lib
Version:
JavaScript library for the ZeppelinOS smart contract platform
285 lines • 9.45 kB
JSON
{
"contractName": "ImplementationProvider",
"abi": [
{
"constant": true,
"inputs": [
{
"name": "contractName",
"type": "string"
}
],
"name": "getImplementation",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"source": "pragma solidity ^0.4.24;\n\n/**\n * @title ImplementationProvider\n * @dev Interface for providing implementation addresses for other contracts by name.\n */\ninterface ImplementationProvider {\n /**\n * @dev Abstract function to return the implementation address of a contract.\n * @param contractName Name of the contract.\n * @return Implementation address of the contract.\n */\n function getImplementation(string contractName) public view returns (address);\n}\n\n",
"sourcePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/application/ImplementationProvider.sol",
"ast": {
"absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/application/ImplementationProvider.sol",
"exportedSymbols": {
"ImplementationProvider": [
435
]
},
"id": 436,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 427,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:3"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": "@title ImplementationProvider\n@dev Interface for providing implementation addresses for other contracts by name.",
"fullyImplemented": false,
"id": 435,
"linearizedBaseContracts": [
435
],
"name": "ImplementationProvider",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": "@dev Abstract function to return the implementation address of a contract.\n@param contractName Name of the contract.\n@return Implementation address of the contract.",
"id": 434,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getImplementation",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 430,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 429,
"name": "contractName",
"nodeType": "VariableDeclaration",
"scope": 434,
"src": "409:19:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 428,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "409:6:3",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "408:21:3"
},
"payable": false,
"returnParameters": {
"id": 433,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 432,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 434,
"src": "451:7:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 431,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "451:7:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "450:9:3"
},
"scope": 435,
"src": "382:78:3",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
}
],
"scope": 436,
"src": "153:309:3"
}
],
"src": "0:464:3"
},
"legacyAST": {
"absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/application/ImplementationProvider.sol",
"exportedSymbols": {
"ImplementationProvider": [
435
]
},
"id": 436,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 427,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:3"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": "@title ImplementationProvider\n@dev Interface for providing implementation addresses for other contracts by name.",
"fullyImplemented": false,
"id": 435,
"linearizedBaseContracts": [
435
],
"name": "ImplementationProvider",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": "@dev Abstract function to return the implementation address of a contract.\n@param contractName Name of the contract.\n@return Implementation address of the contract.",
"id": 434,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getImplementation",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 430,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 429,
"name": "contractName",
"nodeType": "VariableDeclaration",
"scope": 434,
"src": "409:19:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 428,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "409:6:3",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "408:21:3"
},
"payable": false,
"returnParameters": {
"id": 433,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 432,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 434,
"src": "451:7:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 431,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "451:7:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "450:9:3"
},
"scope": 435,
"src": "382:78:3",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
}
],
"scope": 436,
"src": "153:309:3"
}
],
"src": "0:464:3"
},
"compiler": {
"name": "solc",
"version": "0.4.24+commit.e67f0147.Emscripten.clang"
},
"networks": {},
"schemaVersion": "2.0.1",
"updatedAt": "2019-02-15T10:15:15.357Z"
}