Ejemplo n.º 1
0
        public async Task ProcessTransactions()
        {
            var broadcastedOperations = await _operationsRepository.GetBroadcastedOperations();

            foreach (var operation in broadcastedOperations)
            {
                var status = await _ethereumNodeJobClient.GetTransactionStatus(operation.TransactionHash);

                if (!status.HasValue)
                {
                    continue;
                }

                var operationStatus = status.Value == 0 ? OperationStatus.Failed : OperationStatus.Succeeded;
                await _operationsRepository.SetTransactionStatusAsync(operation.OperationId, operationStatus);

                _log.Info($"Status updated to {status} for operation with id {operation.OperationId}");
            }
        }