// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.0; /** * @title SOMA ERC20 Guard Contract. * @author SOMA.finance. * @notice Interface of the {ERC20Guard} contract. */ interface IERC20Guard { /** * @notice Checks that both `from` and `to` have the required privileges. Ignores address zero. * @param from The address sending the tokens. * @param to The address receiving the tokens. * @param amount The amount of tokens to transfer. * @return True if the transfer is valid. */ function canTransferFrom(address from, address to, uint256 amount) external view returns (bool); }