```\nfunction approve(address spender, uint256 amount)\n    public\n    override\n    returns (bool)\n{\n    require(spender != address(0), "SRG20: approve to the zero address");\n    require(\n        msg.sender != address(0),\n        "SRG20: approve from the zero address"\n    );\n\n    _allowances[msg.sender][spender] = amount;\n    emit Approval(msg.sender, spender, amount);\n    return true;\n}\n```\n