interface IERC1400TokensChecker {

  // function canTransfer(
  //   bytes4 functionSig,
  //   address operator,
  //   address from,
  //   address to,
  //   uint256 value,
  //   bytes calldata data,
  //   bytes calldata operatorData
  // ) external view returns (byte, bytes32);

  function canTransferByPartition(
    bytes4 functionSig,
    bytes32 partition,
    address operator,
    address from,
    address to,
    uint256 value,
    bytes calldata data,
    bytes calldata operatorData
    ) external view returns (byte, bytes32, bytes32);

}
/**
 * @title IERC1400TokensChecker
 * @dev IERC1400TokensChecker interface
 */
function canTransferByPartition(
  bytes4 functionSig,
  bytes32 partition,
  address operator,
  address from,
  address to,
  uint256 value,
  bytes calldata data,
  bytes calldata operatorData
  ) external view returns (byte, bytes32, bytes32);

// function canTransfer(
//   bytes4 functionSig,
//   address operator,
//   address from,
//   address to,
//   uint256 value,
//   bytes calldata data,
//   bytes calldata operatorData
// ) external view returns (byte, bytes32);