public ResultWrapper <Transaction> eth_getTransactionByHash(Data transactionHash) { var transaction = _blockchainBridge.GetTransaction(new Keccak(transactionHash.Value)); if (transaction == null) { return(ResultWrapper <Transaction> .Fail($"Cannot find transaction for hash: {transactionHash.Value}", ErrorType.NotFound)); } var blockHash = _blockchainBridge.GetBlockHash(new Keccak(transactionHash.Value)); if (blockHash == null) { return(ResultWrapper <Transaction> .Fail($"Cannot find block hash for transaction: {transactionHash.Value}", ErrorType.NotFound)); } var block = _blockchainBridge.FindBlock(blockHash, false); if (block == null) { return(ResultWrapper <Transaction> .Fail($"Cannot find block for hash: {blockHash}", ErrorType.NotFound)); } var transactionModel = _modelMapper.MapTransaction(transaction, block); if (Logger.IsTrace) { Logger.Trace($"eth_getTransactionByHash request {transactionHash.ToJson()}, result: {GetJsonLog(transactionModel.ToJson())}"); } return(ResultWrapper <Transaction> .Success(transactionModel)); }