{
    "Function": "updateImplementation",
    "File": "contracts/StrategyProxyFactory.sol",
    "Parent Contracts": [
        "contracts/helpers/StringUtils.sol",
        "contracts/helpers/AddressUtils.sol",
        "node_modules/@openzeppelin/contracts/proxy/Initializable.sol",
        "contracts/StrategyProxyFactoryStorage.sol",
        "contracts/interfaces/IStrategyProxyFactory.sol",
        "contracts/helpers/StrategyTypes.sol"
    ],
    "High-Level Calls": [],
    "Internal Calls": [
        "parseInt",
        "parseInt",
        "onlyOwner",
        "require(bool,string)",
        "noZeroAddress"
    ],
    "Library Calls": [],
    "Low-Level Calls": [],
    "Code": "function updateImplementation(address newImplementation, string memory newVersion) external noZeroAddress(newImplementation) onlyOwner {\n        require(parseInt(newVersion) > parseInt(_version), \"Invalid version\");\n        _implementation = newImplementation;\n        _version = newVersion;\n        emit Update(newImplementation, _version);\n    }"
}