```\nfunction transferFrom(\n    address sender,\n    address recipient,\n    uint amount\n) external override returns (bool) {\n    if (allowance[sender][msg.sender] != type(uint).max) {\n        require(allowance[sender][msg.sender] >= amount, "VoxNET: insufficient allowance");\n        allowance[sender][msg.sender] = allowance[sender][msg.sender] - amount;\n    }\n\n    return doTransfer(sender, recipient, amount);\n}\n```\n