diff --git a/src/FrostFS.SDK.Client/FrostFSClient.cs b/src/FrostFS.SDK.Client/FrostFSClient.cs index 9135f27..eea24fc 100644 --- a/src/FrostFS.SDK.Client/FrostFSClient.cs +++ b/src/FrostFS.SDK.Client/FrostFSClient.cs @@ -290,14 +290,6 @@ public class FrostFSClient : IFrostFSClient { return GetObjectService().SearchObjectsAsync(args, ctx); } - - public FrostFsObjectId CalculateObjectId(FrostFsObjectHeader header) - { - if (header == null) - throw new ArgumentNullException(nameof(header)); - - return ObjectTools.CalculateObjectId(header, ClientCtx.Owner, ClientCtx.Version, ClientCtx.Key); - } #endregion #region Session Implementation diff --git a/src/FrostFS.SDK.Client/Interfaces/IFrostFSClient.cs b/src/FrostFS.SDK.Client/Interfaces/IFrostFSClient.cs index 160e4e0..cce7364 100644 --- a/src/FrostFS.SDK.Client/Interfaces/IFrostFSClient.cs +++ b/src/FrostFS.SDK.Client/Interfaces/IFrostFSClient.cs @@ -65,6 +65,4 @@ public interface IFrostFSClient #endregion public Task<string?> Dial(CallContext ctx); - - FrostFsObjectId CalculateObjectId(FrostFsObjectHeader header); } diff --git a/src/FrostFS.SDK.Client/Pool/Pool.cs b/src/FrostFS.SDK.Client/Pool/Pool.cs index 56ac3bf..3abfe60 100644 --- a/src/FrostFS.SDK.Client/Pool/Pool.cs +++ b/src/FrostFS.SDK.Client/Pool/Pool.cs @@ -646,14 +646,6 @@ public partial class Pool : IFrostFSClient return client.Client!.SearchObjectsAsync(args, ctx); } - public FrostFsObjectId CalculateObjectId(FrostFsObjectHeader header) - { - if (header == null) - throw new ArgumentNullException(nameof(header)); - - return ObjectTools.CalculateObjectId(header, Owner, _version, Key); - } - public async Task<Accounting.Decimal> GetBalanceAsync(CallContext ctx) { var client = Connection(); diff --git a/src/FrostFS.SDK.Client/Tools/ObjectTools.cs b/src/FrostFS.SDK.Client/Tools/ObjectTools.cs index fdc9a23..7abdbaf 100644 --- a/src/FrostFS.SDK.Client/Tools/ObjectTools.cs +++ b/src/FrostFS.SDK.Client/Tools/ObjectTools.cs @@ -1,3 +1,4 @@ +using System; using System.Linq; using FrostFS.Object; @@ -9,14 +10,34 @@ using Google.Protobuf; namespace FrostFS.SDK.Client; -internal static class ObjectTools +public static class ObjectTools { - internal static FrostFsObjectId CalculateObjectId( + public static FrostFsObjectId CalculateObjectId( FrostFsObjectHeader header, FrostFsOwner owner, FrostFsVersion version, ClientKey key) { + if (header is null) + { + throw new ArgumentNullException(nameof(header)); + } + + if (owner is null) + { + throw new ArgumentNullException(nameof(owner)); + } + + if (version is null) + { + throw new ArgumentNullException(nameof(version)); + } + + if (key is null) + { + throw new ArgumentNullException(nameof(key)); + } + var grpcHeader = CreateHeader(header, [], owner, version); if (header.Split != null)