public bool Equals(BtcUnconfirmedTransaction other)
 {
     if (ReferenceEquals(null, other))
     {
         return(false);
     }
     if (ReferenceEquals(this, other))
     {
         return(true);
     }
     return(string.Equals(Id, other.Id) && string.Equals(Hash, other.Hash) &&
            Version == other.Version && Size == other.Size && VSize == other.VSize &&
            Locktime == other.Locktime && string.Equals(Time, other.Time) &&
            Timestamp.Equals(other.Timestamp) &&
            TxIns.SequenceEqual(other.TxIns) && TxOuts.SequenceEqual(other.TxOuts));
 }
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = (Id != null ? Id.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Hash != null ? Hash.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ Version;
         hashCode = (hashCode * 397) ^ Size;
         hashCode = (hashCode * 397) ^ VSize;
         hashCode = (hashCode * 397) ^ Locktime;
         hashCode = (hashCode * 397) ^ (Time != null ? Time.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ Timestamp.GetHashCode();
         hashCode = (hashCode * 397) ^ (TxIns != null ? TxIns.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TxOuts != null ? TxOuts.GetHashCode() : 0);
         return(hashCode);
     }
 }