/// <inheritdoc /> public bool Equals(ECKey other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return(PublicComponent == other.PublicComponent && String.Equals(CurveProviderName, other.CurveProviderName, StringComparison.OrdinalIgnoreCase) && String.Equals(CurveName, other.CurveName, StringComparison.OrdinalIgnoreCase) && EncodedKey.SequenceEqualShortCircuiting(other.EncodedKey) && AdditionalData == null ? other.AdditionalData == null : AdditionalData.SequenceEqualShortCircuiting(other.AdditionalData) && ConfirmationCanary == null ? other.ConfirmationCanary == null : ConfirmationCanary.SequenceEqualShortCircuiting(other.ConfirmationCanary)); }