{
    "Function": "transferFrom",
    "File": "contracts/test/OtherStrategyToken.sol",
    "Parent Contracts": [
        "contracts/test/OtherStrategyTokenStorage.sol",
        "contracts/helpers/StrategyTypes.sol",
        "contracts/interfaces/IStrategyToken.sol",
        "contracts/interfaces/IERC20NonStandard.sol"
    ],
    "High-Level Calls": [
        "SafeMath"
    ],
    "Internal Calls": [
        "_transfer",
        "_approve"
    ],
    "Library Calls": [
        "sub"
    ],
    "Low-Level Calls": [],
    "Code": "function transferFrom(\n        address sender,\n        address recipient,\n        uint256 amount\n    ) external virtual override returns (bool) {\n        _transfer(sender, recipient, amount);\n        _approve(\n            sender,\n            msg.sender,\n            _allowances[sender][msg.sender].sub(amount, \"ERC20: allowance too low\")\n        );\n        return true;\n    }"
}