def METHOD_NAME(self) -> str:
    """
    str: contract.func_name(type1,type2)
    Return the function signature without the return values
    """
    if self._canonical_name is None:
        name, parameters, _ = self.signature
        self._canonical_name = (
            ".".join([self.contract_declarer.name] + self._internal_scope + [name])
            + "("
            + ",".join(parameters)
            + ")"
        )
    return self._canonical_name