diff --git a/loc_chain_app/lib/pages/history.dart b/loc_chain_app/lib/pages/history.dart new file mode 100644 index 0000000..6db1e1d --- /dev/null +++ b/loc_chain_app/lib/pages/history.dart @@ -0,0 +1,52 @@ +import 'package:flutter/material.dart'; + +class HomePage extends StatefulWidget { + HomePage({Key? key, required this.title}) : super(key: key); + final String title; + + @override + _HomePageState createState() => _HomePageState(); +} + +class _HomePageState extends State { + int _counter = 0; + + void _incrementCounter() { + setState(() { + // This call to setState tells the Flutter framework that something has + // changed in this State, which causes it to rerun the build method below + // so that the display can reflect the updated values. If we changed + // _counter without calling setState(), then the build method would not be + // called again, and so nothing would appear to happen. + _counter++; + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text(widget.title), + ), + body: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + 'You have pushed the button this many times:', + ), + Text( + '$_counter', + style: Theme.of(context).textTheme.headline4, + ), + ], + ), + ), + floatingActionButton: FloatingActionButton( + onPressed: _incrementCounter, + tooltip: 'Increment', + child: Icon(Icons.add), + ), + ); + } +} diff --git a/loc_chain_app/lib/util/transaction.dart b/loc_chain_app/lib/util/transaction.dart deleted file mode 100644 index c8c1643..0000000 --- a/loc_chain_app/lib/util/transaction.dart +++ /dev/null @@ -1,5 +0,0 @@ -import 'package:flutter/services.dart'; -import 'package:fast_rsa/model/bridge.pb.dart'; -import 'package:fast_rsa/rsa.dart'; - -class Transaction {} diff --git a/loc_chain_app/lib/util/transaction_manager.dart b/loc_chain_app/lib/util/transaction_manager.dart new file mode 100644 index 0000000..9bfee07 --- /dev/null +++ b/loc_chain_app/lib/util/transaction_manager.dart @@ -0,0 +1,25 @@ +import 'package:fast_rsa/model/bridge.pb.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:sqflite/sqflite.dart'; +import 'package:fast_rsa/rsa.dart'; + +import 'dart:io'; + +class Transaction { + Transaction({required this.otherUserID}) { + SharedPreferences.getInstance().then((s) => _id = s.getString('id') ?? '0'); + } + late final String _id; + final String otherUserID; + static Hash? makeTransactionHash() {} +} + +class TransactionsDBManager { + static Future get _localFile async { + return openDatabase('transactions.db'); + } + + static Future?> readTransactions() async {} + + static Future writeKeyPair(KeyPair pair) async {} +} diff --git a/loc_chain_app/pubspec.lock b/loc_chain_app/pubspec.lock index 3820a3a..55b6fc5 100644 --- a/loc_chain_app/pubspec.lock +++ b/loc_chain_app/pubspec.lock @@ -252,6 +252,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.8.0" + sqflite: + dependency: "direct main" + description: + name: sqflite + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0+3" + sqflite_common: + dependency: transitive + description: + name: sqflite_common + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0+2" stack_trace: dependency: transitive description: @@ -273,6 +287,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.1.0" + synchronized: + dependency: transitive + description: + name: synchronized + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.0" term_glyph: dependency: transitive description: @@ -317,4 +338,4 @@ packages: version: "0.2.0" sdks: dart: ">=2.12.0 <3.0.0" - flutter: ">=1.20.0" + flutter: ">=1.24.0-10" diff --git a/loc_chain_app/pubspec.yaml b/loc_chain_app/pubspec.yaml index c262c59..d0ec6fe 100644 --- a/loc_chain_app/pubspec.yaml +++ b/loc_chain_app/pubspec.yaml @@ -31,6 +31,8 @@ dependencies: cupertino_icons: ^1.0.2 path_provider: ^2.0.1 fast_rsa: ^1.4.0-nullsafety.4 + shared_preferences: ^2.0.5 + sqflite: ^2.0.0+3 dev_dependencies: flutter_test: