mirror of
https://github.com/hackku21/loc-chain-app.git
synced 2024-10-27 20:34:05 +00:00
Merge pull request #2 from hackku21/feature/firebase-connection
Feature/firebase connection
This commit is contained in:
commit
2283029f31
@ -1,54 +1,11 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
|
|
||||||
import 'package:fast_rsa/rsa.dart';
|
import 'package:fast_rsa/rsa.dart';
|
||||||
import 'package:fast_rsa/model/bridge.pb.dart';
|
import 'package:fast_rsa/model/bridge.pb.dart';
|
||||||
import 'package:path_provider/path_provider.dart';
|
|
||||||
|
|
||||||
import 'dart:io';
|
import 'package:loc_chain_app/util/keyfile_manager.dart';
|
||||||
|
|
||||||
class KeyFileManager {
|
|
||||||
static Future<String> get _localPath async {
|
|
||||||
final directory = await getApplicationDocumentsDirectory();
|
|
||||||
return directory.path;
|
|
||||||
}
|
|
||||||
|
|
||||||
static Future<File> get _pubKeyFile async {
|
|
||||||
final path = await _localPath;
|
|
||||||
return File('$path/rsa.pub');
|
|
||||||
}
|
|
||||||
|
|
||||||
static Future<File> get _privKeyFile async {
|
|
||||||
final path = await _localPath;
|
|
||||||
return File('$path/rsa');
|
|
||||||
}
|
|
||||||
|
|
||||||
static Future<KeyPair> readKeyPair() async {
|
|
||||||
try {
|
|
||||||
String privKey = await _privKeyFile.then(
|
|
||||||
(file) => file.readAsString(),
|
|
||||||
);
|
|
||||||
String pubKey = await _pubKeyFile.then(
|
|
||||||
(file) => file.readAsString(),
|
|
||||||
);
|
|
||||||
|
|
||||||
return KeyPair(
|
|
||||||
privateKey: privKey,
|
|
||||||
publicKey: pubKey,
|
|
||||||
);
|
|
||||||
} catch (e) {
|
|
||||||
print(e);
|
|
||||||
return KeyPair();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static Future<void> writeKeyPair(KeyPair pair) async {
|
|
||||||
final File privKeyFile = await _privKeyFile;
|
|
||||||
final File pubKeyFile = await _pubKeyFile;
|
|
||||||
pubKeyFile.writeAsString(pair.publicKey);
|
|
||||||
privKeyFile.writeAsString(pair.privateKey);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class KeygenPage extends StatefulWidget {
|
class KeygenPage extends StatefulWidget {
|
||||||
KeygenPage({Key? key, required this.title}) : super(key: key);
|
KeygenPage({Key? key, required this.title}) : super(key: key);
|
||||||
|
8
loc_chain_app/lib/pages/setup.dart
Normal file
8
loc_chain_app/lib/pages/setup.dart
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class SetupPage extends StatelessWidget {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold();
|
||||||
|
}
|
||||||
|
}
|
46
loc_chain_app/lib/util/keyfile_manager.dart
Normal file
46
loc_chain_app/lib/util/keyfile_manager.dart
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
import 'package:fast_rsa/model/bridge.pb.dart';
|
||||||
|
import 'package:path_provider/path_provider.dart';
|
||||||
|
import 'dart:io';
|
||||||
|
|
||||||
|
class KeyFileManager {
|
||||||
|
static Future<String> get _localPath async {
|
||||||
|
final directory = await getApplicationDocumentsDirectory();
|
||||||
|
return directory.path;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Future<File> get _pubKeyFile async {
|
||||||
|
final path = await _localPath;
|
||||||
|
return File('$path/rsa.pub');
|
||||||
|
}
|
||||||
|
|
||||||
|
static Future<File> get _privKeyFile async {
|
||||||
|
final path = await _localPath;
|
||||||
|
return File('$path/rsa');
|
||||||
|
}
|
||||||
|
|
||||||
|
static Future<KeyPair> readKeyPair() async {
|
||||||
|
try {
|
||||||
|
String privKey = await _privKeyFile.then(
|
||||||
|
(file) => file.readAsString(),
|
||||||
|
);
|
||||||
|
String pubKey = await _pubKeyFile.then(
|
||||||
|
(file) => file.readAsString(),
|
||||||
|
);
|
||||||
|
|
||||||
|
return KeyPair(
|
||||||
|
privateKey: privKey,
|
||||||
|
publicKey: pubKey,
|
||||||
|
);
|
||||||
|
} catch (e) {
|
||||||
|
print(e);
|
||||||
|
return KeyPair();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static Future<void> writeKeyPair(KeyPair pair) async {
|
||||||
|
final File privKeyFile = await _privKeyFile;
|
||||||
|
final File pubKeyFile = await _pubKeyFile;
|
||||||
|
pubKeyFile.writeAsString(pair.publicKey);
|
||||||
|
privKeyFile.writeAsString(pair.privateKey);
|
||||||
|
}
|
||||||
|
}
|
5
loc_chain_app/lib/util/transaction.dart
Normal file
5
loc_chain_app/lib/util/transaction.dart
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import 'package:flutter/services.dart';
|
||||||
|
import 'package:fast_rsa/model/bridge.pb.dart';
|
||||||
|
import 'package:fast_rsa/rsa.dart';
|
||||||
|
|
||||||
|
class Transaction {}
|
@ -63,14 +63,14 @@ packages:
|
|||||||
name: fast_rsa
|
name: fast_rsa
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.6"
|
version: "1.4.0-nullsafety.4"
|
||||||
ffi:
|
ffi:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: ffi
|
name: ffi
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.3"
|
version: "1.0.0"
|
||||||
file:
|
file:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -84,7 +84,7 @@ packages:
|
|||||||
name: fixnum
|
name: fixnum
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.10.11"
|
version: "1.0.0"
|
||||||
flutter:
|
flutter:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description: flutter
|
description: flutter
|
||||||
@ -134,35 +134,35 @@ packages:
|
|||||||
name: path_provider
|
name: path_provider
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.6.28"
|
version: "2.0.1"
|
||||||
path_provider_linux:
|
path_provider_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_linux
|
name: path_provider_linux
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.1+2"
|
version: "2.0.0"
|
||||||
path_provider_macos:
|
path_provider_macos:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_macos
|
name: path_provider_macos
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.4+8"
|
version: "2.0.0"
|
||||||
path_provider_platform_interface:
|
path_provider_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_platform_interface
|
name: path_provider_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.4"
|
version: "2.0.1"
|
||||||
path_provider_windows:
|
path_provider_windows:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_windows
|
name: path_provider_windows
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.4+3"
|
version: "2.0.0"
|
||||||
platform:
|
platform:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -176,7 +176,7 @@ packages:
|
|||||||
name: plugin_platform_interface
|
name: plugin_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.3"
|
version: "2.0.0"
|
||||||
process:
|
process:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -190,7 +190,7 @@ packages:
|
|||||||
name: protobuf
|
name: protobuf
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.3"
|
version: "2.0.0"
|
||||||
sky_engine:
|
sky_engine:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description: flutter
|
description: flutter
|
||||||
@ -258,14 +258,14 @@ packages:
|
|||||||
name: win32
|
name: win32
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.7.4+1"
|
version: "2.0.5"
|
||||||
xdg_directories:
|
xdg_directories:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: xdg_directories
|
name: xdg_directories
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.2"
|
version: "0.2.0"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=2.12.0 <3.0.0"
|
dart: ">=2.12.0 <3.0.0"
|
||||||
flutter: ">=1.12.13+hotfix.5"
|
flutter: ">=1.20.0"
|
||||||
|
@ -28,8 +28,8 @@ dependencies:
|
|||||||
# The following adds the Cupertino Icons font to your application.
|
# The following adds the Cupertino Icons font to your application.
|
||||||
# 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: ^1.6.28
|
path_provider: ^2.0.1
|
||||||
fast_rsa: ^1.1.4
|
fast_rsa: ^1.4.0-nullsafety.4
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
Loading…
Reference in New Issue
Block a user