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;