mirror of
https://github.com/aljazceru/breez-sdk-liquid.git
synced 2025-12-18 14:34:24 +01:00
65 lines
2.1 KiB
Dart
65 lines
2.1 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_breez_liquid/flutter_breez_liquid.dart';
|
|
import 'package:flutter_breez_liquid_example/routes/connect/connect_page.dart';
|
|
import 'package:flutter_breez_liquid_example/routes/home/home_page.dart';
|
|
import 'package:flutter_breez_liquid_example/services/credentials_manager.dart';
|
|
import 'package:flutter_breez_liquid_example/services/keychain.dart';
|
|
import 'package:flutter_breez_liquid_example/utils/config.dart';
|
|
|
|
import 'services/breez_sdk_liquid.dart';
|
|
|
|
void main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
await initialize();
|
|
final BreezSDKLiquid liquidSDK = BreezSDKLiquid();
|
|
final credentialsManager = CredentialsManager(keyChain: KeyChain());
|
|
final mnemonic = await credentialsManager.restoreMnemonic();
|
|
if (mnemonic.isNotEmpty) {
|
|
await reconnect(liquidSDK: liquidSDK, mnemonic: mnemonic);
|
|
}
|
|
runApp(App(credentialsManager: credentialsManager, liquidSDK: liquidSDK));
|
|
}
|
|
|
|
Future<void> reconnect({
|
|
required BreezSDKLiquid liquidSDK,
|
|
required String mnemonic,
|
|
LiquidNetwork network = LiquidNetwork.mainnet,
|
|
}) async {
|
|
final config = await getConfig(network: network);
|
|
final req = ConnectRequest(
|
|
config: config,
|
|
mnemonic: mnemonic,
|
|
);
|
|
await liquidSDK.connect(req: req);
|
|
}
|
|
|
|
class App extends StatefulWidget {
|
|
final CredentialsManager credentialsManager;
|
|
final BreezSDKLiquid liquidSDK;
|
|
const App({super.key, required this.credentialsManager, required this.liquidSDK});
|
|
|
|
static const title = 'Breez Liquid SDK Demo';
|
|
|
|
@override
|
|
State<App> createState() => _AppState();
|
|
}
|
|
|
|
class _AppState extends State<App> {
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return MaterialApp(
|
|
title: App.title,
|
|
theme: ThemeData.from(colorScheme: ColorScheme.fromSeed(seedColor: Colors.white), useMaterial3: true),
|
|
home: widget.liquidSDK.instance == null
|
|
? ConnectPage(
|
|
liquidSDK: widget.liquidSDK,
|
|
credentialsManager: widget.credentialsManager,
|
|
)
|
|
: HomePage(
|
|
credentialsManager: widget.credentialsManager,
|
|
liquidSDK: widget.liquidSDK,
|
|
),
|
|
);
|
|
}
|
|
}
|