{
    "Function": "_calculateAddress",
    "File": "contracts/PlatformProxyAdmin.sol",
    "Parent Contracts": [
        "node_modules/@openzeppelin/contracts/proxy/ProxyAdmin.sol",
        "node_modules/@openzeppelin/contracts/access/Ownable.sol",
        "node_modules/@openzeppelin/contracts/GSN/Context.sol"
    ],
    "High-Level Calls": [],
    "Internal Calls": [
        "keccak256(bytes)",
        "keccak256(bytes)",
        "abi.encode()",
        "type()",
        "abi.encodePacked()",
        "keccak256(bytes)",
        "abi.encodePacked()",
        "abi.encodePacked()"
    ],
    "Library Calls": [],
    "Low-Level Calls": [],
    "Code": "function _calculateAddress(string memory name)\n        internal\n        view\n        returns (address payable)\n    {\n        bytes32 hash = keccak256(\n            abi.encodePacked(\n              bytes1(0xff),\n              address(this),\n              keccak256(abi.encodePacked(name)),\n              keccak256(abi.encodePacked(\n                type(TransparentUpgradeableProxy).creationCode,\n                abi.encode(address(this), address(this), new bytes(0))\n              )))\n        );\n\n        // NOTE: cast last 20 bytes of hash to address\n        return address(uint160(uint(hash)));\n    }"
}