public TotalBalancesService([NotNull] IDatabase redisDatabase, [NotNull] string partitionKey,
                             [NotNull] IWalletsRepository walletsRepository)
 {
     _redisDatabase     = redisDatabase ?? throw new ArgumentNullException(nameof(redisDatabase));
     _partitionKey      = partitionKey ?? throw new ArgumentNullException(nameof(partitionKey));
     _walletsRepository = walletsRepository ?? throw new ArgumentNullException(nameof(walletsRepository));
 }
예제 #2
0
 public UserWalletsProvider(IWalletsRepository repository,
                            IUserIdProvider userIdProvider, IMapper mapper)
 {
     _repository     = repository ?? throw new ArgumentNullException(nameof(repository));
     _userIdProvider = userIdProvider ?? throw new ArgumentNullException(nameof(userIdProvider));
     _mapper         = mapper ?? throw new ArgumentNullException(nameof(mapper));
 }
        public static async Task <IEnumerable <IWallet> > GetAsync(this IWalletsRepository walletsRepository, string clientId,
                                                                   IEnumerable <IAsset> assets)
        {
            var wallets = await walletsRepository.GetAsync(clientId);


            return(assets.Select(asset => wallets.FirstOrDefault(wallet => wallet.AssetId == asset.Id) ?? Wallet.Create(asset)));
        }
예제 #4
0
 public TransactionControllerService(
     ITransactionsRepository transactionsRepository,
     IWalletsRepository walletsRepository, IUserIdProvider userIdProvider,
     IMapper mapper)
 {
     _transactionsRepository = transactionsRepository ?? throw new ArgumentNullException(nameof(transactionsRepository));
     _walletsRepository      = walletsRepository ?? throw new ArgumentNullException(nameof(walletsRepository));
     _userIdProvider         = userIdProvider ?? throw new ArgumentNullException(nameof(userIdProvider));
     _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper));
 }
        public static async Task <double> GetWalletBalanceAsync(this IWalletsRepository walletsRepository, string clientId, string assetId)
        {
            var entity = await walletsRepository.GetAsync(clientId, assetId);

            if (entity == null)
            {
                return(0);
            }

            return(entity.Balance);
        }
 public MarketCapitalizationService(IWalletsRepository walletsRepository,
                                    IMemoryCache memCache, IMarketProfileService marketProfileService,
                                    CachedDataDictionary <string, IAssetPair> assetPairsDict,
                                    CachedDataDictionary <string, IAsset> assetsDict,
                                    ISrvRatesHelper srvRatesHelper)
 {
     _walletsRepository    = walletsRepository;
     _memCache             = memCache;
     _marketProfileService = marketProfileService;
     _assetPairsDict       = assetPairsDict;
     _assetsDict           = assetsDict;
     _srvRatesHelper       = srvRatesHelper;
 }
예제 #7
0
 public CachedWalletsRepository(
     [NotNull] IDistributedCache cache,
     [NotNull] IWalletsRepository repository,
     TimeSpan cacheExpiration,
     [NotNull] ILogFactory logFactory,
     [NotNull] IDatabase redisDatabase,
     [NotNull] string partitionKey)
 {
     if (logFactory == null)
     {
         throw new ArgumentNullException(nameof(logFactory));
     }
     _repository      = repository ?? throw new ArgumentNullException(nameof(repository));
     _cacheExpiration = cacheExpiration;
     _redisDatabase   = redisDatabase ?? throw new ArgumentNullException(nameof(redisDatabase));
     _partitionKey    = partitionKey ?? throw new ArgumentNullException(nameof(partitionKey));
     _log             = logFactory.CreateLog(this);
 }
예제 #8
0
 public SrvBitcoinCommandProducer(IBitCoinCommandProducer bitCoinCommandProducer, IBitCoinTransactionsRepository bitCoinTransactionsRepository,
                                  IWalletCredentialsRepository walletCredentialsRepository, IAssetsRepository assetsRepository, ICashOperationsRepository cashOperationsRepository,
                                  IBalancePendingRepository balancePendingRepository, ILog log, BaseSettings baseSettings, IMatchingEngineConnector matchingEngineConnector,
                                  ITransferEventsRepository transferEventsRepository, ISrvBlockchainHelper srvBlockchainHelper, IWalletsRepository walletsRepository,
                                  ISrvBlockchainReader srvBlockchainReader, CachedDataDictionary <string, IAsset> assetsDict)
 {
     _bitCoinCommandProducer        = bitCoinCommandProducer;
     _bitCoinTransactionsRepository = bitCoinTransactionsRepository;
     _walletCredentialsRepository   = walletCredentialsRepository;
     _assetsRepository         = assetsRepository;
     _cashOperationsRepository = cashOperationsRepository;
     _balancePendingRepository = balancePendingRepository;
     _log = log;
     _matchingEngineConnector  = matchingEngineConnector;
     _transferEventsRepository = transferEventsRepository;
     _srvBlockchainHelper      = srvBlockchainHelper;
     _walletsRepository        = walletsRepository;
     _srvBlockchainReader      = srvBlockchainReader;
     _assetsDict   = assetsDict;
     _baseSettings = baseSettings;
 }