fix transaction manager

This commit is contained in:
Zachary Atkins 2021-04-10 23:41:42 -05:00
parent f0b1fed1c2
commit 8c2dc2a1b7
3 changed files with 33 additions and 22 deletions

View File

@ -1,21 +1,13 @@
import 'package:fast_rsa/model/bridge.pb.dart'; import 'package:flutter_udid/flutter_udid.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:sqflite/sqflite.dart';
import 'package:fast_rsa/rsa.dart';
import 'package:dbcrypt/dbcrypt.dart';
import 'package:loc_chain_app/util/keyfile_manager.dart'; import 'package:loc_chain_app/util/keyfile_manager.dart';
import 'dart:io';
class Transaction { class Transaction {
Transaction({required this.hash, required this.pubKey}); Transaction({required this.hash, required this.pubKey});
final String hash; final String hash;
final String pubKey; final String pubKey;
static Future<String> generateHash(String otherUserId) async { static Future<String> generateHash(String otherUserId) async {
String id = await SharedPreferences.getInstance() String id = await FlutterUdid.consistentUdid;
.then((s) => s.getString('userName') ?? '');
bool idLess = id.compareTo(otherUserId) < 0; bool idLess = id.compareTo(otherUserId) < 0;
var lesser = idLess ? id : otherUserId; var lesser = idLess ? id : otherUserId;
var greater = idLess ? otherUserId : id; var greater = idLess ? otherUserId : id;
@ -27,13 +19,3 @@ class Transaction {
Future<String> generateP2PPayload(String otherUserId) async => Future<String> generateP2PPayload(String otherUserId) async =>
"${await generateHash(otherUserId)}:${KeyFileManager.keyPair.publicKey}"; "${await generateHash(otherUserId)}:${KeyFileManager.keyPair.publicKey}";
} }
class TransactionsDBManager {
static Future<Database> get _localFile async {
return openDatabase('transactions.db');
}
static Future<List<Transaction>?> readTransactions() async {}
static Future<void> writeKeyPair(KeyPair pair) async {}
}

View File

@ -77,7 +77,7 @@ packages:
name: fast_rsa name: fast_rsa
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.4.0-nullsafety.4" version: "2.0.0-nullsafety.0"
ffi: ffi:
dependency: transitive dependency: transitive
description: description:
@ -92,6 +92,34 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "6.1.0" version: "6.1.0"
firebase_core:
dependency: transitive
description:
name: firebase_core
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.3"
firebase_core_platform_interface:
dependency: transitive
description:
name: firebase_core_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.0"
firebase_core_web:
dependency: transitive
description:
name: firebase_core_web
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
firebase_database:
dependency: "direct main"
description:
name: firebase_database
url: "https://pub.dartlang.org"
source: hosted
version: "6.1.2"
fixnum: fixnum:
dependency: transitive dependency: transitive
description: description:

View File

@ -30,10 +30,11 @@ dependencies:
# Use with the CupertinoIcons class for iOS style icons. # Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2 cupertino_icons: ^1.0.2
path_provider: ^2.0.1 path_provider: ^2.0.1
fast_rsa: ^1.4.0-nullsafety.4 fast_rsa: ^2.0.0-nullsafety.0
sqflite: ^2.0.0+3 sqflite: ^2.0.0+3
dbcrypt: ^2.0.0 dbcrypt: ^2.0.0
flutter_udid: ^2.0.0 flutter_udid: ^2.0.0
firebase_database: ^6.1.2
dev_dependencies: dev_dependencies:
flutter_test: flutter_test: