Beispiel #1
0
        public async Task <IActionResult> Get(
            [FromBody] GetErc20TransferHistoryRequest request,
            [FromQuery] int?start,
            [FromQuery] int?count)
        {
            var query = new Erc20TransferHistoryQuery
            {
                AssetHolder     = request.AssetHolder,
                BlockNumber     = request.BlockNumber,
                ContractAddress = request.Contracts?.FirstOrDefault(),
                Count           = count,
                Start           = start
            };

            var transfers = (await _transferHistoryService.GetAsync(query))
                            .Select(x => new Erc20TransferHistoryResponse
            {
                BlockHash       = x.BlockHash,
                BlockNumber     = x.BlockNumber,
                BlockTimestamp  = x.BlockTimestamp,
                ContractAddress = x.ContractAddress,
                From            = x.From,
                LogIndex        = x.LogIndex,
                To = x.To,
                TransactionHash  = x.TransactionHash,
                TransactionIndex = x.TransactionIndex,
                TransferAmount   = x.TransferAmount.ToString(),
                GasUsed          = x.GasUsed,
                GasPrice         = x.GasPrice
            })
                            .ToList();

            return(new JsonResult(transfers));
        }
Beispiel #2
0
        public async Task <TransactionFullInfoModel> GetFullInfoAsync(string transactionHash)
        {
            TransactionModel transaction = await _transactionRepository.GetAsync(transactionHash);

            var erc20Transfers = await _erc20TransferHistoryService.GetAsync(new Erc20TransferHistoryQuery()
            {
                TransactionHash = transactionHash
            });

            return(new TransactionFullInfoModel()
            {
                Erc20Transfers = erc20Transfers,
                TransactionModel = transaction,
            });
        }