namespace FrostFS.SDK.Client; public readonly struct PrmApeChainAdd(FrostFsChainTarget target, FrostFsChain chain, string[]? xheaders = null) : System.IEquatable { public FrostFsChainTarget Target { get; } = target; public FrostFsChain Chain { get; } = chain; /// /// FrostFS request X-Headers /// public string[] XHeaders { get; } = xheaders ?? []; public override readonly bool Equals(object obj) { if (obj == null || obj is not PrmApeChainAdd) return false; return Equals((PrmApeChainAdd)obj); } public readonly bool Equals(PrmApeChainAdd other) { return Target == other.Target && Chain == other.Chain && XHeaders == other.XHeaders; } public override readonly int GetHashCode() { return Chain.GetHashCode() ^ Target.GetHashCode() ^ XHeaders.GetHashCode(); } public static bool operator ==(PrmApeChainAdd left, PrmApeChainAdd right) { return left.Equals(right); } public static bool operator !=(PrmApeChainAdd left, PrmApeChainAdd right) { return !(left == right); } }