diff --git a/lib/api.dart b/lib/api.dart
index 8a3676d0ea842f45118729307b21705691de0735..d50b0f236083f20abcabe15366e3362bf257982c 100644
--- a/lib/api.dart
+++ b/lib/api.dart
@@ -4,6 +4,7 @@ import 'package:gql/language.dart' as gqlLang;
 import 'package:gql_dio_link/gql_dio_link.dart';
 import 'package:gql_exec/gql_exec.dart';
 import "package:gql_link/gql_link.dart";
+import 'package:intl/intl.dart';
 
 // Configure node
 const graphqlEndpoint = "https://g1.librelois.fr/gva";
@@ -245,3 +246,55 @@ Future getHistory(String pubkey) async {
   // print(trans);
   return [transBC, transMP];
 }
+
+// NEW WAY //
+
+List parseHistory(txs) {
+  // print(blockchainTX[0]['node']['comment']);
+
+  var transBC = [];
+  int i = 0;
+
+  final currentBase = 0;
+  double currentUD = 10.54;
+
+  for (final trans in txs) {
+    var direction = trans['direction'];
+
+    print(trans);
+    final transaction = trans['node'];
+    var output = transaction['outputs'][0];
+
+    print("DEBUG1 " + transaction['writtenTime'].toString());
+    transBC.add(i);
+    transBC[i] = [];
+    final dateBrut =
+        DateTime.fromMillisecondsSinceEpoch(transaction['writtenTime'] * 1000);
+    final DateFormat formatter = DateFormat('dd-MM-yy - H:M');
+    final date = formatter.format(dateBrut);
+    transBC[i].add(transaction['writtenTime']);
+    transBC[i].add(date);
+    var amountBrut = int.parse(output.split(':')[0]);
+    final base = int.parse(output.split(':')[1]);
+    final applyBase = base - currentBase;
+    final amount = amountBrut * pow(10, applyBase) / 100;
+    var amountUD = amount / currentUD;
+    if (direction == "RECEIVED") {
+      transBC[i].add(transaction['issuers'][0]);
+      transBC[i].add(amount);
+      transBC[i].add(amountUD.toStringAsFixed(2));
+    } else if (direction == "SENT") {
+      final outPubkey = output.split("SIG(")[1].replaceAll(')', '');
+      transBC[i].add(outPubkey);
+      transBC[i].add(-amount);
+      transBC[i].add(amountUD.toStringAsFixed(2));
+    }
+    transBC[i].add(transaction['comment']);
+
+    i++;
+  }
+
+  transBC.sort((b, a) => Comparable.compare(a[0], b[0]));
+
+  return transBC;
+}
diff --git a/lib/data/respository.dart b/lib/data/respository.dart
deleted file mode 100644
index cbc52735a9b9349d1725c9a0a53dc7199e7c0906..0000000000000000000000000000000000000000
--- a/lib/data/respository.dart
+++ /dev/null
@@ -1,36 +0,0 @@
-import 'package:flutter/material.dart';
-import 'package:readwenderlich/data/stores/in_memory_store.dart';
-import 'package:readwenderlich/data/stores/remote/remote_store.dart';
-import 'package:readwenderlich/entities/article.dart';
-import 'package:readwenderlich/entities/article_category.dart';
-import 'package:readwenderlich/entities/article_difficulty.dart';
-import 'package:readwenderlich/entities/article_platform.dart';
-import 'package:readwenderlich/entities/list_page.dart';
-import 'package:readwenderlich/entities/sort_method.dart';
-
-/// Gets data from both [RemoteStore] and [InMemoryStore].
-class Repository {
-  const Repository({
-    @required this.remoteStore,
-    @required this.inMemoryStore,
-  })  : assert(remoteStore != null),
-        assert(inMemoryStore != null);
-  final RemoteStore remoteStore;
-  final InMemoryStore inMemoryStore;
-
-  Future<ListPage<Article>> getArticleListPage({
-    int number,
-    int size,
-    List<int> filteredPlatformIds,
-    List<int> filteredCategoryIds,
-    List<ArticleDifficulty> filteredDifficulties,
-    SortMethod sortMethod,
-  }) =>
-      remoteStore.getArticleListPage(
-        number: number,
-        size: size,
-        filteredPlatformIds: filteredPlatformIds,
-        filteredCategoryIds: filteredCategoryIds,
-        filteredDifficulties: filteredDifficulties,
-        sortMethod: sortMethod,
-      );
\ No newline at end of file
diff --git a/lib/home.dart b/lib/home.dart
index 8f34a47e2463cf24dc89ad5995e8701d98535db0..4bc3854f7217e6b43d3886e7fa8e535e6929a8b2 100644
--- a/lib/home.dart
+++ b/lib/home.dart
@@ -4,10 +4,10 @@ import 'dart:typed_data';
 import 'dart:ui';
 import 'package:permission_handler/permission_handler.dart';
 import 'package:qrscan/qrscan.dart' as scanner;
-import 'package:intl/intl.dart';
 import 'api.dart';
 import "package:dio/dio.dart";
-import 'ui/history_list_view.dart';
+import 'package:graphql_flutter/graphql_flutter.dart';
+import 'query.dart';
 
 /// Integrates a list of articles with [ListPreferencesScreen].
 class HistoryListScreen extends StatefulWidget {
@@ -15,7 +15,6 @@ class HistoryListScreen extends StatefulWidget {
   _HistoryListScreenState createState() => _HistoryListScreenState();
 }
 
-
 // class HistoryListScreen extends StatefulWidget {
 //   // GeckoHome({Key key, this.title}) : super(key: key);
 //   // final String title;
@@ -37,14 +36,15 @@ class _HistoryListScreenState extends State<HistoryListScreen> {
   Uint8List bytes = Uint8List(0);
   TextEditingController _outputPubkey;
   TextEditingController _outputBalance;
-  TextEditingController _outputHistory;
+  final nRepositories = 20;
+  var pubkey = '';
+  ScrollController _scrollController = new ScrollController();
 
   @override
   initState() {
     super.initState();
     this._outputPubkey = new TextEditingController();
     this._outputBalance = new TextEditingController();
-    this._outputHistory = new TextEditingController();
     // checkNode().then((result) {
     //   setState(() {
     //     _result = result;
@@ -54,10 +54,14 @@ class _HistoryListScreenState extends State<HistoryListScreen> {
 
   @override
   Widget build(BuildContext context) {
+    // final pubkey = 'D2meevcAHFTS2gQMvmRW5Hzi25jDdikk4nC4u1FkwRaU';
+
+    // var pubkey = '';
+    print('Build state : ' + pubkey);
     return MaterialApp(
         home: Scaffold(
             backgroundColor: Colors.grey[300],
-            body: SafeArea(
+            body: Container(
               child: Column(
                 children: <Widget>[
                   SizedBox(height: 20),
@@ -65,6 +69,7 @@ class _HistoryListScreenState extends State<HistoryListScreen> {
                       // enabled: false,
                       onChanged: (text) {
                         print("Clé tappé: $text");
+                        // pubkey = text;
                         isPubkey(text);
                       },
                       controller: this._outputPubkey,
@@ -103,9 +108,164 @@ class _HistoryListScreenState extends State<HistoryListScreen> {
                       ),
                       style: TextStyle(fontSize: 30.0, color: Colors.black)),
                   Expanded(
-                      child: HistoryListView(
-          repository: Provider.of<Repository>(context)
-                          ))
+                      child: Column(
+                    mainAxisAlignment: MainAxisAlignment.start,
+                    mainAxisSize: MainAxisSize.max,
+                    children: <Widget>[
+                      Query(
+                        options: QueryOptions(
+                          documentNode: gql(getMyRepositories),
+                          variables: <String, dynamic>{
+                            'pubkey': pubkey, // this._outputPubkey,
+                            'number': nRepositories,
+                            // set cursor to null so as to start at the beginning
+                            // 'cursor': 10
+                          },
+                        ),
+                        builder: (QueryResult result,
+                            {refetch, FetchMore fetchMore}) {
+                          if (result.loading && result.data == null) {
+                            return const Center(
+                              child: CircularProgressIndicator(),
+                            );
+                          }
+
+                          if (result.hasException) {
+                            return Text(
+                                '\nErrors: \n  ' + result.exception.toString());
+                          }
+
+                          if (result.data == null &&
+                              result.exception.toString() == null) {
+                            return const Text(
+                                'Both data and errors are null, this is a known bug after refactoring, you might forget to set Github token');
+                          }
+
+                          final List<dynamic> blockchainTX =
+                              (result.data['txsHistoryBc']['both']['edges']
+                                  as List<dynamic>);
+
+                          // final List<dynamic> mempoolTX =
+                          //     (result.data['txsHistoryBc']['both']['edges']
+                          //         as List<dynamic>);
+
+                          final Map pageInfo =
+                              result.data['txsHistoryBc']['both']['pageInfo'];
+                          final String fetchMoreCursor = pageInfo['endCursor'];
+
+                          FetchMoreOptions opts = FetchMoreOptions(
+                            variables: {'cursor': fetchMoreCursor},
+                            updateQuery:
+                                (previousResultData, fetchMoreResultData) {
+                              // this is where you combine your previous data and response
+                              // in this case, we want to display previous repos plus next repos
+                              // so, we combine data in both into a single list of repos
+                              final List<dynamic> repos = [
+                                ...previousResultData['txsHistoryBc']['both']
+                                    ['edges'] as List<dynamic>,
+                                ...fetchMoreResultData['txsHistoryBc']['both']
+                                    ['edges'] as List<dynamic>
+                              ];
+
+                              fetchMoreResultData['txsHistoryBc']['both']
+                                  ['edges'] = repos;
+
+                              return fetchMoreResultData;
+                            },
+                          );
+
+                          _scrollController
+                            ..addListener(() {
+                              if (_scrollController.position.pixels ==
+                                  _scrollController.position.maxScrollExtent) {
+                                if (!result.loading) {
+                                  fetchMore(opts);
+                                }
+                              }
+                            });
+
+                          List transBC = parseHistory(blockchainTX);
+                          // parseHistory(mempoolTX);
+
+                          return Expanded(
+                            child: ListView(
+                              controller: _scrollController,
+                              children: <Widget>[
+                                for (var repository in transBC)
+                                  Card(
+                                    // 1
+                                    elevation: 2.0,
+                                    // 2
+                                    shape: RoundedRectangleBorder(
+                                        borderRadius:
+                                            BorderRadius.circular(3.0)),
+                                    // 3
+                                    child: Padding(
+                                      padding: const EdgeInsets.all(8.0),
+                                      // 4
+                                      child: Column(
+                                        children: <Widget>[
+                                          SizedBox(
+                                            height: 8.0,
+                                          ),
+                                          Text(
+                                            // Date
+                                            repository[1].toString(),
+                                            style: TextStyle(
+                                              fontSize: 12.0,
+                                              fontWeight: FontWeight.w300,
+                                            ),
+                                          ),
+                                          Text(
+                                            // Issuer
+                                            repository[2],
+                                            style: TextStyle(
+                                              fontSize: 13.0,
+                                              fontWeight: FontWeight.w500,
+                                            ),
+                                          ),
+                                          Text(
+                                            // Amount
+                                            repository[3].toString(),
+                                            style: TextStyle(
+                                              fontSize: 15.0,
+                                              fontWeight: FontWeight.w500,
+                                            ),
+                                          ),
+                                          // Text(
+                                          //   // amountUD
+                                          //   repository[4].toString(),
+                                          //   style: TextStyle(
+                                          //     fontSize: 12.0,
+                                          //     fontWeight: FontWeight.w500,
+                                          //   ),
+                                          // ),
+                                          Text(
+                                            // Comment
+                                            repository[5].toString(),
+                                            style: TextStyle(
+                                              fontSize: 12.0,
+                                              fontWeight: FontWeight.w400,
+                                            ),
+                                          ),
+                                        ],
+                                      ),
+                                    ),
+                                  ),
+                                if (result.loading)
+                                  Row(
+                                    mainAxisAlignment: MainAxisAlignment.center,
+                                    children: <Widget>[
+                                      CircularProgressIndicator(),
+                                    ],
+                                  ),
+                              ],
+                            ),
+                          );
+                        },
+                      ),
+                    ],
+                  )),
                 ],
               ),
             ),
@@ -126,43 +286,6 @@ class _HistoryListScreenState extends State<HistoryListScreen> {
             )));
   }
 
-  Widget buildTranscationCard(Transaction transaction) {
-    return Card(
-      // 1
-      elevation: 2.0,
-      // 2
-      shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10.0)),
-      // 3
-      child: Padding(
-        padding: const EdgeInsets.all(16.0),
-        // 4
-        child: Column(
-          children: <Widget>[
-            // 5
-            SizedBox(
-              height: 14.0,
-            ),
-            // 6
-            Text(
-              transaction.pubkey,
-              style: TextStyle(
-                fontSize: 20.0,
-                fontWeight: FontWeight.w700,
-                fontFamily: "Palatino",
-              ),
-            ),
-            Text(transaction.date,
-                style: TextStyle(
-                  fontSize: 20.0,
-                  fontWeight: FontWeight.w700,
-                  fontFamily: "Palatino",
-                ))
-          ],
-        ),
-      ),
-    );
-  }
-
   Future checkNode() async {
     final response = await Dio().post(graphqlEndpoint);
     showHistory(response);
@@ -179,7 +302,7 @@ class _HistoryListScreenState extends State<HistoryListScreen> {
     return barcode;
   }
 
-  Future isPubkey(pubkey) async {
+  String isPubkey(pubkey) {
     // final validCharacters = RegExp(r'^[a-zA-Z0-9]+$');
     RegExp regExp = new RegExp(
       r'^[a-zA-Z0-9]+$',
@@ -191,9 +314,24 @@ class _HistoryListScreenState extends State<HistoryListScreen> {
         pubkey.length > 42 &&
         pubkey.length < 45) {
       print("C'est une pubkey !!!");
-      print(pubkey.length);
       showHistory(pubkey);
+
+      setState(({pubkey = 'D2meevcAHFTS2gQMvmRW5Hzi25jDdikk4nC4u1FkwRaU'}) {
+        pubkey = 'D2meevcAHFTS2gQMvmRW5Hzi25jDdikk4nC4u1FkwRaU';
+      });
+
+      // return pubkey;
+
+      // print(pubkey);
+      // setState(({pubkey = 'D2meevcAHFTS2gQMvmRW5Hzi25jDdikk4nC4u1FkwRaU'}) {
+      //   pubkey = pubkey;
+      //   print('setState : ' + pubkey);
+      // });
+    } else {
+      // return '';
     }
+
+    return '';
   }
 
   Future showHistory(pubkey) async {
@@ -203,7 +341,6 @@ class _HistoryListScreenState extends State<HistoryListScreen> {
     } else {
       this._outputPubkey.text = "";
       this._outputBalance.text = "";
-      this._outputHistory.text = "";
       // final udValue = await getUD();
       this._outputPubkey.text = pubkey;
       final myBalance = await getBalance(pubkey.toString());
@@ -222,91 +359,3 @@ class _HistoryListScreenState extends State<HistoryListScreen> {
   // }
 
 }
-
-class Transaction {
-  String pubkey;
-  String date;
-
-  Transaction(this.pubkey, this.date);
-
-  // TODO: Build this list !!!!
-  // static List<Transaction> samples = List<Transaction> getHistory(pubkey.toString());
-
-  Future buildHistory() async {
-    final myHistory = await getHistory(pubkey.toString());
-    if (myHistory == false) {
-      return false;
-    }
-
-    String historyBC = "";
-    for (var i in myHistory[0]) {
-      var dateBrut = i[0];
-      dateBrut = DateTime.fromMillisecondsSinceEpoch(dateBrut * 1000);
-      final DateFormat formatter = DateFormat('dd-MM-yy - H:M');
-      final String date = formatter.format(dateBrut);
-      final issuer = i[1];
-      final amount = i[2];
-      // final amountUD = i[3];
-      final comment = i[4];
-      historyBC += date.toString() +
-          " \n " +
-          issuer.toString() +
-          " \n " +
-          amount.toString() +
-          " Äž1\n " +
-          comment.toString() +
-          "\n---\n";
-    }
-
-    String historyMP = "";
-    for (var i in myHistory[1]) {
-      if (i == null) {
-        break;
-      }
-      var dateBrut = "Now";
-      final issuer = i[1];
-      final amount = i[2];
-      // final amountUD = i[3];
-      final comment = i[4];
-      historyMP += dateBrut.toString() +
-          " \n " +
-          issuer.toString() +
-          " \n " +
-          amount.toString() +
-          " Äž1\n " +
-          comment.toString() +
-          "\n------------------\n";
-    }
-
-    var history;
-    // print(historyMP.toString());
-    if (historyMP == "") {
-      history = historyBC;
-    } else {
-      history = "EN COURS DE TRAITEMENT\n" + historyMP + "VALIDÉ\n" + historyBC;
-    }
-    // this._outputHistory.text = history;
-
-  List<Transaction> samples = List<Transaction> 
-
-    return myHistory[0];
-  }
-
-  // static List<Transaction> samples = buildHistory();
-
-  var list = json
-      .decode(response.body)['results']
-      .map((data) => Model.fromJson(data))
-      .toList();
-
-  // static List<Transaction> samples = [
-  //   Transaction(
-  //     "Spaghetti and Meatballs",
-  //     "assets/2126711929_ef763de2b3_w.jpg",
-  //   ),
-  //   Transaction(
-  //     "Tomato Soup",
-  //     "assets/27729023535_a57606c1be.jpg",
-  //   )
-  // ];
-}
diff --git a/lib/main.dart b/lib/main.dart
index c7b2839afd3f721890ce477477b9f4b26c8d1894..997531eb58049b73393c5623eda06550e04f6361 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
 // import 'package:image_gallery_saver/image_gallery_saver.dart';
 // import 'package:flutter_html_view';
 import 'home.dart';
+import 'package:graphql_flutter/graphql_flutter.dart';
 
 void main() {
   runApp(Gecko());
@@ -11,10 +12,23 @@ void main() {
 class Gecko extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
+    final _httpLink = HttpLink(
+      uri: 'https://g1.librelois.fr/gva',
+    );
+
+    final _client = ValueNotifier(
+      GraphQLClient(
+        cache: InMemoryCache(),
+        link: _httpLink,
+      ),
+    );
     return MaterialApp(
       title: 'Äžecko',
       theme: ThemeData(primaryColor: Colors.white, accentColor: Colors.black),
-      home: HistoryListScreen(),
+      home: GraphQLProvider(
+        client: _client,
+        child: HistoryListScreen(),
+      ),
     );
   }
 }
diff --git a/lib/query.dart b/lib/query.dart
new file mode 100644
index 0000000000000000000000000000000000000000..22b63df7e57498ee0b286c036deef158ba042048
--- /dev/null
+++ b/lib/query.dart
@@ -0,0 +1,45 @@
+const String getMyRepositories = r'''
+  query ($pubkey: String!, $number: Int!) {
+        txsHistoryBc(
+            pubkeyOrScript: $pubkey
+            pagination: { pageSize: $number, ord: DESC }
+        ) {
+            both {
+                pageInfo {
+                    hasPreviousPage
+                    hasNextPage
+                }
+                edges {
+                    direction
+                    node {
+                        currency
+                        issuers
+                        outputs
+                        comment
+                        writtenTime
+                    }
+                }
+            }
+        }
+        txsHistoryMp(pubkey: $pubkey) {
+            receiving {
+                currency
+                issuers
+                comment
+                outputs
+                writtenTime
+            }
+            sending {
+                currency
+                issuers
+                comment
+                outputs
+                writtenTime
+            }
+        }
+        currentUd {
+          amount
+          base
+      }
+  }
+  ''';
diff --git a/lib/ui/history_list_item.dart b/lib/ui/history_list_item.dart
deleted file mode 100644
index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000
--- a/lib/ui/history_list_item.dart
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/lib/ui/history_list_screen.dart b/lib/ui/history_list_screen.dart
deleted file mode 100644
index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000
--- a/lib/ui/history_list_screen.dart
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/lib/ui/history_list_view.dart b/lib/ui/history_list_view.dart
deleted file mode 100644
index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000
--- a/lib/ui/history_list_view.dart
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/pubspec.lock b/pubspec.lock
index 2093bdcaeb77b0225b49fa5963a04cccecbb255a..5239b57f65e34c8e5553a828b0e84f16db369079 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -57,6 +57,34 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.15.0-nullsafety.3"
+  connectivity:
+    dependency: transitive
+    description:
+      name: connectivity
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.4.9+5"
+  connectivity_for_web:
+    dependency: transitive
+    description:
+      name: connectivity_for_web
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.3.1+4"
+  connectivity_macos:
+    dependency: transitive
+    description:
+      name: connectivity_macos
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.1.0+7"
+  connectivity_platform_interface:
+    dependency: transitive
+    description:
+      name: connectivity_platform_interface
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.6"
   convert:
     dependency: transitive
     description:
@@ -85,6 +113,20 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.2.0-nullsafety.1"
+  ffi:
+    dependency: transitive
+    description:
+      name: ffi
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.1.3"
+  file:
+    dependency: transitive
+    description:
+      name: file
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "5.2.1"
   flutter:
     dependency: "direct main"
     description: flutter
@@ -109,6 +151,11 @@ packages:
     description: flutter
     source: sdk
     version: "0.0.0"
+  flutter_web_plugins:
+    dependency: transitive
+    description: flutter
+    source: sdk
+    version: "0.0.0"
   gql:
     dependency: transitive
     description:
@@ -137,6 +184,20 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "0.3.1"
+  graphql:
+    dependency: transitive
+    description:
+      name: graphql
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "3.1.0"
+  graphql_flutter:
+    dependency: "direct main"
+    description:
+      name: graphql_flutter
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "3.1.0"
   http:
     dependency: transitive
     description:
@@ -207,6 +268,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.3.0-nullsafety.3"
+  mime:
+    dependency: transitive
+    description:
+      name: mime
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.9.7"
   path:
     dependency: transitive
     description:
@@ -214,6 +282,41 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.8.0-nullsafety.1"
+  path_provider:
+    dependency: transitive
+    description:
+      name: path_provider
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.6.24"
+  path_provider_linux:
+    dependency: transitive
+    description:
+      name: path_provider_linux
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.0.1+2"
+  path_provider_macos:
+    dependency: transitive
+    description:
+      name: path_provider_macos
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.0.4+6"
+  path_provider_platform_interface:
+    dependency: transitive
+    description:
+      name: path_provider_platform_interface
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.4"
+  path_provider_windows:
+    dependency: transitive
+    description:
+      name: path_provider_windows
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.0.4+3"
   pedantic:
     dependency: transitive
     description:
@@ -242,6 +345,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "3.1.0"
+  platform:
+    dependency: transitive
+    description:
+      name: platform
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.2.1"
   plugin_platform_interface:
     dependency: transitive
     description:
@@ -249,6 +359,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.0.3"
+  process:
+    dependency: transitive
+    description:
+      name: process
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "3.0.13"
   qrscan:
     dependency: "direct main"
     description:
@@ -256,6 +373,20 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "0.2.21"
+  quiver:
+    dependency: transitive
+    description:
+      name: quiver
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.1.5"
+  rxdart:
+    dependency: transitive
+    description:
+      name: rxdart
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.24.1"
   sky_engine:
     dependency: transitive
     description: flutter
@@ -317,6 +448,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.3.0-nullsafety.3"
+  uuid_enhanced:
+    dependency: transitive
+    description:
+      name: uuid_enhanced
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "3.0.2"
   vector_math:
     dependency: transitive
     description:
@@ -324,6 +462,27 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "2.1.0-nullsafety.3"
+  websocket:
+    dependency: transitive
+    description:
+      name: websocket
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.0.5"
+  win32:
+    dependency: transitive
+    description:
+      name: win32
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.7.4"
+  xdg_directories:
+    dependency: transitive
+    description:
+      name: xdg_directories
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.1.2"
   xml:
     dependency: transitive
     description:
diff --git a/pubspec.yaml b/pubspec.yaml
index fa071720f55ac15a2e403e1f47adee82f536cacc..66dacaa3992a867d8028e50ed1e1ff8d0d536b16 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
 # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
 # Read more about iOS versioning at
 # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
-version: 0.0.0+3
+version: 0.0.0+4
 
 environment:
   sdk: ">=2.7.0 <3.0.0"
@@ -34,6 +34,7 @@ dependencies:
   intl:
   flutter_launcher_icons: "^0.8.0"
   infinite_scroll_pagination: ^2.2.3
+  graphql_flutter: ^3.0.1
 
 
 flutter_icons: