diff --git a/Directory.Packages.props b/Directory.Packages.props index 7fdb3ee86..8a0f2eded 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -3,7 +3,7 @@ true - + @@ -15,31 +15,29 @@ - - - - - - + + + + + - - - + + + - - - - - - + + + + + - + @@ -62,10 +60,9 @@ - + - diff --git a/src/MarginTrading.Backend.Contracts/MarginTrading.Backend.Contracts.csproj b/src/MarginTrading.Backend.Contracts/MarginTrading.Backend.Contracts.csproj index 8eb49e9d6..b8e343cde 100644 --- a/src/MarginTrading.Backend.Contracts/MarginTrading.Backend.Contracts.csproj +++ b/src/MarginTrading.Backend.Contracts/MarginTrading.Backend.Contracts.csproj @@ -14,11 +14,6 @@ - - - - - \ No newline at end of file diff --git a/src/MarginTrading.Backend.Core/MarginTrading.Backend.Core.csproj b/src/MarginTrading.Backend.Core/MarginTrading.Backend.Core.csproj index 4a9dddb60..adfa24132 100644 --- a/src/MarginTrading.Backend.Core/MarginTrading.Backend.Core.csproj +++ b/src/MarginTrading.Backend.Core/MarginTrading.Backend.Core.csproj @@ -14,7 +14,6 @@ - diff --git a/src/MarginTrading.Backend.Services/Events/ExternalContracts/ExternalExchangeOrderBookMessage.cs b/src/MarginTrading.Backend.Services/Events/ExternalContracts/ExternalExchangeOrderBookMessage.cs new file mode 100644 index 000000000..e017e0039 --- /dev/null +++ b/src/MarginTrading.Backend.Services/Events/ExternalContracts/ExternalExchangeOrderBookMessage.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; + +using JetBrains.Annotations; + +using MessagePack; + +using Newtonsoft.Json; + +namespace MarginTrading.Backend.Services.Events.ExternalContracts; + +[MessagePackObject] +public class ExternalExchangeOrderbookMessage +{ + [JsonProperty("source"), Key(0), CanBeNull] + public string ExchangeName { get; set; } + + [JsonProperty("asset"), Key(1), CanBeNull] + public string AssetPairId { get; set; } + + [JsonProperty("timestamp"), Key(2)] + public DateTime Timestamp { get; set; } + + [JsonProperty("asks"), Key(3), ItemCanBeNull] + public List Asks { get; set; } + + [JsonProperty("bids"), Key(4), ItemCanBeNull] + public List Bids { get; set; } +} diff --git a/src/MarginTrading.Backend.Services/Events/ExternalContracts/VolumePrice.cs b/src/MarginTrading.Backend.Services/Events/ExternalContracts/VolumePrice.cs new file mode 100644 index 000000000..2ced065b2 --- /dev/null +++ b/src/MarginTrading.Backend.Services/Events/ExternalContracts/VolumePrice.cs @@ -0,0 +1,15 @@ +using MessagePack; + +using Newtonsoft.Json; + +namespace MarginTrading.Backend.Services.Events.ExternalContracts; + +[MessagePackObject] +public class VolumePrice +{ + [JsonProperty("volume"), Key(0)] + public decimal Volume { get; set; } + + [JsonProperty("price"), Key(1)] + public decimal Price { get; set; } +} diff --git a/src/MarginTrading.Backend.Services/Events/FxRateExternalExchangeOrderbookMessage.cs b/src/MarginTrading.Backend.Services/Events/FxRateExternalExchangeOrderbookMessage.cs index 59f591dc9..7a1e5e577 100644 --- a/src/MarginTrading.Backend.Services/Events/FxRateExternalExchangeOrderbookMessage.cs +++ b/src/MarginTrading.Backend.Services/Events/FxRateExternalExchangeOrderbookMessage.cs @@ -1,7 +1,7 @@ // Copyright (c) 2019 Lykke Corp. // See the LICENSE file in the project root for more information. -using MarginTrading.OrderbookAggregator.Contracts.Messages; +using MarginTrading.Backend.Services.Events.ExternalContracts; namespace MarginTrading.Backend.Services.Events { diff --git a/src/MarginTrading.Backend.Services/Events/StpAggregatorExternalExchangeOrderbookMessage.cs b/src/MarginTrading.Backend.Services/Events/StpAggregatorExternalExchangeOrderbookMessage.cs index 5e335aab9..d1afdc206 100644 --- a/src/MarginTrading.Backend.Services/Events/StpAggregatorExternalExchangeOrderbookMessage.cs +++ b/src/MarginTrading.Backend.Services/Events/StpAggregatorExternalExchangeOrderbookMessage.cs @@ -1,7 +1,7 @@ // Copyright (c) 2019 Lykke Corp. // See the LICENSE file in the project root for more information. -using MarginTrading.OrderbookAggregator.Contracts.Messages; +using MarginTrading.Backend.Services.Events.ExternalContracts; namespace MarginTrading.Backend.Services.Events { diff --git a/src/MarginTrading.Backend.Services/MarginTrading.Backend.Services.csproj b/src/MarginTrading.Backend.Services/MarginTrading.Backend.Services.csproj index 4dd5acb30..9477ac565 100644 --- a/src/MarginTrading.Backend.Services/MarginTrading.Backend.Services.csproj +++ b/src/MarginTrading.Backend.Services/MarginTrading.Backend.Services.csproj @@ -25,7 +25,6 @@ - diff --git a/src/MarginTrading.Backend.Services/Services/ConvertService.cs b/src/MarginTrading.Backend.Services/Services/ConvertService.cs index a09fcfab2..606444bc4 100644 --- a/src/MarginTrading.Backend.Services/Services/ConvertService.cs +++ b/src/MarginTrading.Backend.Services/Services/ConvertService.cs @@ -55,7 +55,7 @@ private static IMapper CreateMapper() cfg.CreateMap(); cfg.CreateMap(); - cfg.CreateMap(); + cfg.CreateMap(); cfg.CreateMap(); cfg.CreateMap(); diff --git a/src/MarginTrading.Backend/MessageHandlers/FxRateExternalExchangeOrderbookHandler.cs b/src/MarginTrading.Backend/MessageHandlers/FxRateExternalExchangeOrderbookHandler.cs index 75c0c5375..483e14d6f 100644 --- a/src/MarginTrading.Backend/MessageHandlers/FxRateExternalExchangeOrderbookHandler.cs +++ b/src/MarginTrading.Backend/MessageHandlers/FxRateExternalExchangeOrderbookHandler.cs @@ -17,9 +17,9 @@ using MarginTrading.Backend.Core.Settings; using MarginTrading.Backend.Services.AssetPairs; using MarginTrading.Backend.Services.Events; +using MarginTrading.Backend.Services.Events.ExternalContracts; using MarginTrading.Backend.Services.Stp; using MarginTrading.Common.Extensions; -using MarginTrading.OrderbookAggregator.Contracts.Messages; using Microsoft.Extensions.Logging; diff --git a/src/MarginTrading.Backend/Startup.cs b/src/MarginTrading.Backend/Startup.cs index b9ee593d4..451178a37 100644 --- a/src/MarginTrading.Backend/Startup.cs +++ b/src/MarginTrading.Backend/Startup.cs @@ -200,14 +200,14 @@ await ApplicationContainer .Resolve() .WarnIfInvalidAsync(); - ApplicationContainer + await ApplicationContainer .Resolve() - .Start(); + .StartAsync(); ApplicationContainer .Resolve() .StartAll(); - + Program.AppHost.WriteLogs(Environment, LogLocator.CommonLog); LogLocator.CommonLog?.WriteMonitorAsync("", "", $"{Configuration.ServerType()} Started"); } @@ -366,11 +366,11 @@ private StartupDeduplicationService RunHealthChecks(IConnectionMultiplexer redis return deduplicationService; } - + private static void OverrideEmptyRabbitMqConnectionStrings(MtBackendSettings cfg) { var defaultRabbitMqConnString = cfg.MtBackend.MtRabbitMqConnString; - + // set main RabbitMq connection string if it was not configured on // particular publisher/subscriber level cfg.GetPropertiesOfType() diff --git a/tests/MarginTradingTests/FxRateExternalExchangeOrderbookHandlerTests.cs b/tests/MarginTradingTests/FxRateExternalExchangeOrderbookHandlerTests.cs index 16432abf1..89625aa05 100644 --- a/tests/MarginTradingTests/FxRateExternalExchangeOrderbookHandlerTests.cs +++ b/tests/MarginTradingTests/FxRateExternalExchangeOrderbookHandlerTests.cs @@ -12,8 +12,8 @@ using MarginTrading.Backend.MessageHandlers; using MarginTrading.Backend.Services.AssetPairs; using MarginTrading.Backend.Services.Events; +using MarginTrading.Backend.Services.Events.ExternalContracts; using MarginTrading.Backend.Services.Stp; -using MarginTrading.OrderbookAggregator.Contracts.Messages; using Microsoft.Extensions.Logging;