public ExchangeService( [NotNull] IMerchantWalletService merchantWalletService, [NotNull] IAssetRatesService assetRatesService, [NotNull] IAssetSettingsService assetSettingsService, [NotNull] IBcnSettingsResolver bcnSettingsResolver, [NotNull] ITransferService transferService, [NotNull] ITransactionsService transactionsService, [NotNull] IWalletBalanceValidator walletBalanceValidator, [NotNull] IWalletHistoryService walletHistoryService, [NotNull] RetryPolicySettings retryPolicySettings, [NotNull] ILogFactory logFactory) { _merchantWalletService = merchantWalletService ?? throw new ArgumentNullException(nameof(merchantWalletService)); _assetRatesService = assetRatesService ?? throw new ArgumentNullException(nameof(assetRatesService)); _assetSettingsService = assetSettingsService ?? throw new ArgumentNullException(nameof(assetSettingsService)); _bcnSettingsResolver = bcnSettingsResolver ?? throw new ArgumentNullException(nameof(bcnSettingsResolver)); _transferService = transferService ?? throw new ArgumentNullException(nameof(transferService)); _transactionsService = transactionsService ?? throw new ArgumentNullException(nameof(transactionsService)); _walletBalanceValidator = walletBalanceValidator ?? throw new ArgumentNullException(nameof(walletBalanceValidator)); _walletHistoryService = walletHistoryService ?? throw new ArgumentNullException(nameof(walletHistoryService)); _log = logFactory.CreateLog(this); _retryPolicy = Policy .Handle <InsufficientFundsException>() .Or <ExchangeOperationFailedException>() .Or <ExchangeOperationPartiallyFailedException>() .WaitAndRetryAsync( retryPolicySettings.DefaultAttempts, attempt => TimeSpan.FromSeconds(Math.Pow(2, attempt)), (ex, timespan) => _log.Error(ex, "Exchange with retry")); }
public AssetRatesController( [NotNull] IAssetRatesService assetRatesService, [NotNull] IAssetsLocalCache assetsLocalCache, [NotNull] ILykkeAssetsResolver lykkeAssetsResolver, [NotNull] ILogFactory logFactory) { _assetRatesService = assetRatesService ?? throw new ArgumentNullException(nameof(assetRatesService)); _assetsLocalCache = assetsLocalCache ?? throw new ArgumentNullException(nameof(assetsLocalCache)); _lykkeAssetsResolver = lykkeAssetsResolver ?? throw new ArgumentNullException(nameof(lykkeAssetsResolver)); _log = logFactory.CreateLog(this); }
public CalculationService( [NotNull] IAssetsLocalCache assetsLocalCache, [NotNull] LpMarkupSettings lpMarkupSettings, [NotNull] IAssetRatesService assetRatesService, [NotNull] ILogFactory logFactory) { _assetsLocalCache = assetsLocalCache ?? throw new ArgumentNullException(nameof(assetsLocalCache)); _lpMarkupSettings = lpMarkupSettings ?? throw new ArgumentNullException(nameof(lpMarkupSettings)); _log = logFactory.CreateLog(this); _assetRatesService = assetRatesService ?? throw new ArgumentNullException(nameof(assetRatesService)); }
public void TestInitialize() { _assetPairRateRepositoryMock = new Mock <IAssetPairRateRepository>(); _lykkeMarketProfileMock = new Mock <ILykkeMarketProfile>(); _assetsLocalCacheMock = new Mock <IAssetsLocalCache>(); _assetPairSettingsServiceMock = new Mock <IAssetPairSettingsService>(); _assetRatesService = new AssetRatesService( _assetPairRateRepositoryMock.Object, _lykkeMarketProfileMock.Object, _assetsLocalCacheMock.Object, _assetPairSettingsServiceMock.Object); }