// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.0; /** * @title SOMA ERC721 Guard Contract. * @author SOMA.finance. * @notice Interface of the {ERC721Guard} contract. */ interface IERC721Guard { /** * @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 tokenId The token id to check against. * @return True if the transfer is valid. */ function canTransferFrom(address from, address to, uint256 tokenId) external view returns (bool); }