{
    "Function": "calculateWithdrawalRoot",
    "File": "src/contracts/core/StrategyManager.sol",
    "Parent Contracts": [
        "src/contracts/core/StrategyManagerStorage.sol",
        "src/contracts/interfaces/IStrategyManager.sol",
        "src/contracts/permissions/Pausable.sol",
        "src/contracts/interfaces/IPausable.sol",
        "lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol",
        "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol",
        "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol",
        "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol"
    ],
    "High-Level Calls": [],
    "Internal Calls": [
        "keccak256(bytes)",
        "abi.encode()"
    ],
    "Library Calls": [],
    "Low-Level Calls": [],
    "Code": "function calculateWithdrawalRoot(QueuedWithdrawal memory queuedWithdrawal) public pure returns (bytes32) {\n        return (\n            keccak256(\n                abi.encode(\n                    queuedWithdrawal.strategies,\n                    queuedWithdrawal.shares,\n                    queuedWithdrawal.depositor,\n                    queuedWithdrawal.withdrawerAndNonce,\n                    queuedWithdrawal.withdrawalStartBlock,\n                    queuedWithdrawal.delegatedAddress\n                )\n            )\n        );\n    }"
}