Exemple #1
0
        private async Task GetPoolInfosAsync(HttpContext context, Match m)
        {
            var response = new GetPoolsResponse
            {
                Pools = clusterConfig.Pools.Where(x => x.Enabled).Select(config =>
                {
                    var stats = cf.Run(con => statsRepo.GetLastPoolStats(con, config.Id));

                    var result = config.ToPoolInfo(mapper, stats);

                    result.TotalPaid = cf.Run(con => statsRepo.GetTotalPoolPayments(con, config.Id));
#if DEBUG
                    var from = new DateTime(2018, 1, 6, 16, 0, 0);
#else
                    var from = clock.Now.AddDays(-1);
#endif
                    result.TopMiners = cf.Run(con => statsRepo.PagePoolMinersByHashrate(
                                                  con, config.Id, from, 0, 15))
                                       .Select(mapper.Map <MinerPerformanceStats>)
                                       .ToArray();

                    return(result);
                }).ToArray()
            };

            await SendJsonAsync(context, response);
        }
        private async Task HandleGetPoolsAsync(HttpContext context, Match m)
        {
            GetPoolsResponse response;

            lock (pools)
            {
                response = new GetPoolsResponse
                {
                    Pools = pools.Select(pool =>
                    {
                        var poolInfo = mapper.Map <PoolInfo>(pool.Config);

                        poolInfo.PoolStats    = pool.PoolStats;
                        poolInfo.NetworkStats = pool.NetworkStats;

                        poolInfo.PoolFeePercent = (float)pool.Config.RewardRecipients
                                                  .Where(x => x.Type == RewardRecipientType.Op)
                                                  .Sum(x => x.Percentage);

                        poolInfo.DonationsPercent = (float)pool.Config.RewardRecipients
                                                    .Where(x => x.Type == RewardRecipientType.Dev)
                                                    .Sum(x => x.Percentage);

                        return(poolInfo);
                    }).ToArray()
                };
            }

            await SendJson(context, response);
        }
Exemple #3
0
        private async Task HandleGetPoolsAsync(HttpContext context, Match m)
        {
            GetPoolsResponse response;

            lock (pools)
            {
                response = new GetPoolsResponse
                {
                    Pools = pools.Select(pool => pool.ToPoolInfo(mapper)).ToArray()
                };
            }

            await SendJson(context, response);
        }
Exemple #4
0
        private async Task HandleGetPoolsAsync(HttpContext context, Match m)
        {
            GetPoolsResponse response;

            lock (pools)
            {
                response = new GetPoolsResponse
                {
                    Pools = pools.Select(pool =>
                    {
                        var poolInfo = mapper.Map <PoolInfo>(pool.Config);

                        poolInfo.PoolStats    = pool.PoolStats;
                        poolInfo.NetworkStats = pool.NetworkStats;

                        return(poolInfo);
                    }).ToArray()
                };
            }

            await SendJson(context, response);
        }