@achow101 noted we don't reject them therefore they must be silently accepted. This is not part of the specs, we should remove them. Also cc @sipa.

I can take care of this.
{
        return size() > 0;
    }
    
    bool IsFullyValid() const;
    
    bool IsCompressed() const
    {
        return size() == COMPRESSED_SIZE;
    }
    /**
     * Verify a DER signature (~72 bytes).
     * If this public key is not fully valid, the return value will be false.
     */
    bool Verify(const uint256& hash, const std::vector<unsigned char>& vchSig) const;
    /**
     * Check whether a signature is normalized (lower-S).
     */
    static bool CheckLowS(const std::vector<unsigned char>& vchSig);
    
    bool RecoverCompact(const uint256& hash, const std::vector<unsigned char>& vchSig);
    
    bool Decompress();
    
    [[nodiscard]] bool Derive(CPubKey& pubkeyChild, ChainCode &ccChild, unsigned int nChild, const ChainCode& cc) const;
};
class XOnlyPubKey