Ejemplo n.º 1
0
 public CoinInfoService(IMapper mapper,
                        ICoinInfoRepository repository,
                        IErrorHandler error,
                        IValidator <CoinInfoInputDto> validator) :
     base(mapper, repository, error, validator)
 {
 }
Ejemplo n.º 2
0
 public CoinMessageService(IMapper mapper,
                           ICoinMessageRepository repository,
                           IErrorHandler error,
                           IValidator <CoinMessageInputDto> validator,
                           ICoinInfoRepository coininforepository) :
     base(mapper, repository, error, validator)
 {
     _coininforepository    = coininforepository;
     _coinmessagerepository = repository;
 }
Ejemplo n.º 3
0
        public ApiServer(
            IMapper mapper,
            IConnectionFactory cf,
            IBlockRepository blocksRepo,
            IPaymentRepository paymentsRepo,
            IStatsRepository statsRepo,
            ICoinInfoRepository coinInfoRepo,
            IMasterClock clock,
            IMessageBus messageBus)
        {
            Contract.RequiresNonNull(cf, nameof(cf));
            Contract.RequiresNonNull(statsRepo, nameof(statsRepo));
            Contract.RequiresNonNull(blocksRepo, nameof(blocksRepo));
            Contract.RequiresNonNull(paymentsRepo, nameof(paymentsRepo));
            Contract.RequiresNonNull(coinInfoRepo, nameof(coinInfoRepo));
            Contract.RequiresNonNull(mapper, nameof(mapper));
            Contract.RequiresNonNull(clock, nameof(clock));
            Contract.RequiresNonNull(messageBus, nameof(messageBus));

            this.cf           = cf;
            this.statsRepo    = statsRepo;
            this.blocksRepo   = blocksRepo;
            this.paymentsRepo = paymentsRepo;
            this.coinInfoRepo = coinInfoRepo;
            this.mapper       = mapper;
            this.clock        = clock;

            messageBus.Listen <BlockNotification>().Subscribe(OnBlockNotification);

            requestMap = new Dictionary <Regex, Func <HttpContext, Match, Task> >
            {
                { new Regex("^/api/pools$", RegexOptions.Compiled), GetPoolInfosAsync },
                { new Regex("^/api/pools/(?<poolId>[^/]+)/performance$", RegexOptions.Compiled), GetPoolPerformanceAsync },
                { new Regex("^/api/pools/(?<poolId>[^/]+)/miners$", RegexOptions.Compiled), PagePoolMinersAsync },
                { new Regex("^/api/pools/(?<poolId>[^/]+)/blocks$", RegexOptions.Compiled), PagePoolBlocksPagedAsync },
                { new Regex("^/api/pools/(?<poolId>[^/]+)/payments$", RegexOptions.Compiled), PagePoolPaymentsAsync },
                { new Regex("^/api/pools/(?<poolId>[^/]+)/stats$", RegexOptions.Compiled), GetMiningPoolStats },
                { new Regex("^/api/pools/(?<poolId>[^/]+)/stats/percentage$", RegexOptions.Compiled), GetMiningPoolPercentageStats },
                { new Regex("^/api/pools/(?<poolId>[^/]+)/stats/hashrate$", RegexOptions.Compiled), GetMiningPoolHashrateStats },
                { new Regex("^/api/pools/(?<poolId>[^/]+)/stats/miners$", RegexOptions.Compiled), GetMiningPoolMinersStats },

                { new Regex("^/api/pools/(?<poolId>[^/]+)$", RegexOptions.Compiled), GetPoolInfoAsync },
                { new Regex("^/api/pools/(?<poolId>[^/]+)/miners/(?<address>[^/]+)/payments$", RegexOptions.Compiled), PageMinerPaymentsAsync },
                { new Regex("^/api/pools/(?<poolId>[^/]+)/miners/(?<address>[^/]+)/balancechanges$", RegexOptions.Compiled), PageMinerBalanceChangesAsync },
                { new Regex("^/api/pools/(?<poolId>[^/]+)/miners/(?<address>[^/]+)/performance$", RegexOptions.Compiled), GetMinerPerformanceAsync },
                { new Regex("^/api/pools/(?<poolId>[^/]+)/miners/(?<address>[^/]+)$", RegexOptions.Compiled), GetMinerInfoAsync },
                { new Regex("^/api/coin/(?<coinType>[^/]+)$", RegexOptions.Compiled), GetCoinInfo }
            };

            requestMapAdmin = new Dictionary <Regex, Func <HttpContext, Match, Task> >
            {
                { new Regex("^/api/admin/forcegc$", RegexOptions.Compiled), HandleForceGcAsync },
                { new Regex("^/api/admin/stats/gc$", RegexOptions.Compiled), HandleGcStatsAsync },
            };
        }
 public CoinInformationBuilder(ICoinInfoRepository coinInfoRepo)
 {
     _objectHelper = new ObjectHelper();
     this._repo    = coinInfoRepo;
 }
 public CoinInfoBuilder(IOptions <MongoDbSettings> settings)
 {
     _repo         = new CoinInfoRepository(settings);
     _objectHelper = new ObjectHelper();
     this.SetCoinInfo();
 }