From d6cc3f58802a1057bd26d1ce9af441d29ccd7fb1 Mon Sep 17 00:00:00 2001 From: Jan Korf Date: Wed, 7 Aug 2024 19:28:14 +0200 Subject: [PATCH] CryptoExchange V7.11.0 (#4) Updated CryptoExchange.Net to V7.11.0 --- .../GateIoRestIntegrationTests.cs | 2 +- .../GateIoSocketClientPerpetualFuturesApi.cs | 2 +- .../SpotApi/GateIoSocketClientSpotApi.cs | 2 +- GateIo.Net/GateIo.Net.csproj | 2 +- GateIo.Net/GateIoAuthenticationProvider.cs | 17 +++++++++-------- .../Subscriptions/GateIoAuthSubscription.cs | 2 +- 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/GateIo.Net.UnitTests/GateIoRestIntegrationTests.cs b/GateIo.Net.UnitTests/GateIoRestIntegrationTests.cs index 1df2b94..08a2acd 100644 --- a/GateIo.Net.UnitTests/GateIoRestIntegrationTests.cs +++ b/GateIo.Net.UnitTests/GateIoRestIntegrationTests.cs @@ -10,7 +10,7 @@ using System.Text; using System.Threading.Tasks; -namespace CoinEx.Net.UnitTests +namespace GateIo.Net.UnitTests { [NonParallelizable] internal class GateIoRestIntegrationTests : RestIntergrationTest diff --git a/GateIo.Net/Clients/FuturesApi/GateIoSocketClientPerpetualFuturesApi.cs b/GateIo.Net/Clients/FuturesApi/GateIoSocketClientPerpetualFuturesApi.cs index 0ce4ad7..82ff15b 100644 --- a/GateIo.Net/Clients/FuturesApi/GateIoSocketClientPerpetualFuturesApi.cs +++ b/GateIo.Net/Clients/FuturesApi/GateIoSocketClientPerpetualFuturesApi.cs @@ -342,7 +342,7 @@ public async Task> EditOrderAsync(string settlementAsset var timestamp = DateTimeConverter.ConvertToSeconds(DateTime.UtcNow.AddSeconds(-1)).Value; var signStr = $"api\nfutures.login\n\n{timestamp}"; var id = ExchangeHelpers.NextId(); - return new GateIoLoginQuery(id, "futures.login", "api", provider.GetApiKey(), provider.SignSocketRequest(signStr), timestamp); + return new GateIoLoginQuery(id, "futures.login", "api", provider.ApiKey, provider.SignSocketRequest(signStr), timestamp); } /// diff --git a/GateIo.Net/Clients/SpotApi/GateIoSocketClientSpotApi.cs b/GateIo.Net/Clients/SpotApi/GateIoSocketClientSpotApi.cs index 7304dbd..0ec0010 100644 --- a/GateIo.Net/Clients/SpotApi/GateIoSocketClientSpotApi.cs +++ b/GateIo.Net/Clients/SpotApi/GateIoSocketClientSpotApi.cs @@ -367,7 +367,7 @@ public async Task> GetOrderAsync(string symbol, long ord var timestamp = DateTimeConverter.ConvertToSeconds(DateTime.UtcNow.AddSeconds(-1)).Value; var signStr = $"api\nspot.login\n\n{timestamp}"; var id = ExchangeHelpers.NextId(); - return new GateIoLoginQuery(id, "spot.login", "api", provider.GetApiKey(), provider.SignSocketRequest(signStr), timestamp); + return new GateIoLoginQuery(id, "spot.login", "api", provider.ApiKey, provider.SignSocketRequest(signStr), timestamp); } /// diff --git a/GateIo.Net/GateIo.Net.csproj b/GateIo.Net/GateIo.Net.csproj index 3b7c31a..3049cb9 100644 --- a/GateIo.Net/GateIo.Net.csproj +++ b/GateIo.Net/GateIo.Net.csproj @@ -52,6 +52,6 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + \ No newline at end of file diff --git a/GateIo.Net/GateIoAuthenticationProvider.cs b/GateIo.Net/GateIoAuthenticationProvider.cs index b3bb3c3..784bf45 100644 --- a/GateIo.Net/GateIoAuthenticationProvider.cs +++ b/GateIo.Net/GateIoAuthenticationProvider.cs @@ -15,8 +15,6 @@ internal class GateIoAuthenticationProvider : AuthenticationProvider { private static IMessageSerializer _serializer = new SystemTextJsonMessageSerializer(); - public string GetApiKey() => _credentials.Key!.GetString(); - public GateIoAuthenticationProvider(ApiCredentials credentials) : base(credentials) { } @@ -25,9 +23,9 @@ public override void AuthenticateRequest( RestApiClient apiClient, Uri uri, HttpMethod method, - IDictionary uriParameters, - IDictionary bodyParameters, - Dictionary headers, + ref IDictionary? uriParameters, + ref IDictionary? bodyParameters, + ref Dictionary? headers, bool auth, ArrayParametersSerialization arraySerialization, HttpMethodParameterPosition parameterPosition, @@ -36,13 +34,16 @@ public override void AuthenticateRequest( if (!auth) return; - uri = uri.SetParameters(uriParameters, arraySerialization); + if (uriParameters != null) + uri = uri.SetParameters(uriParameters, arraySerialization); + var timestamp = long.Parse(GetMillisecondTimestamp(apiClient)) / 1000; - var payload = SignSHA512(bodyParameters.Any() ? GetSerializedBody(_serializer, bodyParameters) : "").ToLowerInvariant(); + var payload = SignSHA512(bodyParameters?.Any() == true ? GetSerializedBody(_serializer, bodyParameters) : "").ToLowerInvariant(); var signStr = $"{method.ToString().ToUpper()}\n{uri.AbsolutePath}\n{uri.Query.Replace("?", "")}\n{payload}\n{timestamp}"; var signed = SignHMACSHA512(signStr).ToLowerInvariant(); - headers["KEY"] = GetApiKey(); + headers ??= new Dictionary(); + headers["KEY"] = ApiKey; headers["Timestamp"] = timestamp.ToString(); headers["SIGN"] = signed; } diff --git a/GateIo.Net/Objects/Sockets/Subscriptions/GateIoAuthSubscription.cs b/GateIo.Net/Objects/Sockets/Subscriptions/GateIoAuthSubscription.cs index 47f8273..313b73a 100644 --- a/GateIo.Net/Objects/Sockets/Subscriptions/GateIoAuthSubscription.cs +++ b/GateIo.Net/Objects/Sockets/Subscriptions/GateIoAuthSubscription.cs @@ -49,7 +49,7 @@ public GateIoAuthSubscription(ILogger logger, string channel, IEnumerable(_channel, "subscribe", _payload); var request = (GateIoSocketAuthRequest>)query.Request; var sign = provider.SignSocketRequest($"channel={_channel}&event=subscribe&time={request.Timestamp}"); - request.Auth = new GateIoSocketAuth { Key = provider.GetApiKey(), Sign = sign, Method = "api_key" }; + request.Auth = new GateIoSocketAuth { Key = provider.ApiKey, Sign = sign, Method = "api_key" }; return query; }