UNPKG

@alice-network/zos-lib

Version:

JavaScript library for the ZeppelinOS smart contract platform

285 lines 9.45 kB
{ "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" }