public async Task<Model> Handle(Query request, CancellationToken cancellationToken)
            {
                CinderAddress address = await _addressRepository.GetAddressByHash(request.Hash, cancellationToken).AnyContext();

                if (address == null)
                {
                    return null;
                }

                CinderAddressMeta meta = await _addressMetaRepository.GetByAddressOrDefault(address.Hash, cancellationToken)
                    .AnyContext();

                return new Model
                {
                    Hash = address.Hash,
                    Name = meta?.Name,
                    Website = meta?.Website,
                    Balance = address.Balance,
                    BlocksMined = address.BlocksMined,
                    TransactionCount = address.TransactionCount,
                    Timestamp = address.Timestamp,
                    Tags = meta?.Tags ?? new List<string>(),
                    BalanceHistory = address.BalanceHistory ?? new Dictionary<string, decimal>()
                };
            }
Example #2
0
            public async Task <Model> Handle(Query request, CancellationToken cancellationToken)
            {
                CinderBlock block = await _blockRepository.GetBlockByNumber(request.Number, cancellationToken).AnyContext();

                if (block == null)
                {
                    return(null);
                }

                CinderAddressMeta meta = await _addressMetaRepository.GetByAddressOrDefault(block.Miner, cancellationToken)
                                         .AnyContext();

                return(new Model
                {
                    BlockNumber = block.BlockNumber,
                    Difficulty = block.Difficulty,
                    ExtraData = block.ExtraData,
                    GasLimit = ulong.Parse(block.GasLimit),
                    GasUsed = ulong.Parse(block.GasUsed),
                    Hash = block.Hash,
                    Miner = block.Miner,
                    MinerDisplay = meta?.Name,
                    Nonce = block.Nonce,
                    ParentHash = block.ParentHash,
                    Size = ulong.Parse(block.Size),
                    Timestamp = ulong.Parse(block.Timestamp),
                    TransactionCount = (ulong)block.TransactionCount,
                    TotalDifficulty = block.TotalDifficulty,
                    Uncles = block.Uncles,
                    UncleCount = (ulong)block.UncleCount,
                    Sha3Uncles = block.Sha3Uncles,
                    Value = block.Value,
                    Fees = block.Fees
                });
            }