From 8f7397626c5a4e11105d2c3c6839b94a2e36984d Mon Sep 17 00:00:00 2001 From: poka Date: Mon, 29 Mar 2021 22:12:38 +0200 Subject: [PATCH] Start to implement transactions --- lib/models/history.dart | 18 ++++++++++++++++++ lib/screens/history.dart | 14 +++++++++----- pubspec.yaml | 2 +- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/lib/models/history.dart b/lib/models/history.dart index 13768bf..679e83e 100644 --- a/lib/models/history.dart +++ b/lib/models/history.dart @@ -1,8 +1,12 @@ +import 'dart:io'; + +import 'package:dubp/dubp.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/home.dart'; import 'package:gecko/screens/history.dart'; +import 'package:gecko/screens/myWallets/unlockingWallet.dart'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:jdenticon_dart/jdenticon_dart.dart'; import 'package:permission_handler/permission_handler.dart'; @@ -45,6 +49,20 @@ class HistoryProvider with ChangeNotifier { return barcode; } + void pay(amount, comment) { + UnlockingWallet(); + + String dewif = File(walletsDirectory.path + + '${defaultWallet.split(':')[0]}/wallet.dewif') + .readAsLinesSync()[0]; + DubpRust.simplePaymentFromTransparentAccount( + accountIndex: 0, + amount: 1, + dewif: dewif, + gvaEndpoint: endPointGVA, + recipient: pubkey); + } + String isPubkey(context, pubkey, {bool goHistory}) { HomeProvider _homeProvider = Provider.of(context, listen: false); diff --git a/lib/screens/history.dart b/lib/screens/history.dart index 966c79d..14c47bc 100644 --- a/lib/screens/history.dart +++ b/lib/screens/history.dart @@ -7,6 +7,7 @@ import 'package:gecko/models/queries.dart'; import 'package:gecko/models/history.dart'; import 'package:flutter/material.dart'; import 'package:flutter/foundation.dart'; +import 'package:gecko/screens/myWallets/unlockingWallet.dart'; import 'dart:ui'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:provider/provider.dart'; @@ -315,7 +316,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { // ), _historyProvider.isHistoryScreen ? historyView(context, result) - : payView(context), + : payView(context, _historyProvider), ], ))), onNotification: (t) { @@ -332,7 +333,8 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { )); } - Widget payView(context) { + Widget payView(context, HistoryProvider _historyProvider) { + TextEditingController payAmount = new TextEditingController(); TextEditingController payComment = new TextEditingController(); return Stack( @@ -361,6 +363,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { Padding( padding: EdgeInsets.all(8.0), child: TextFormField( + controller: payAmount, textAlign: TextAlign.center, maxLines: 1, keyboardType: TextInputType.number, @@ -375,9 +378,10 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { style: OutlinedButton.styleFrom( side: BorderSide(width: 2, color: Color(0xffD28928))), onPressed: () { - if (_formKey.currentState.validate()) { - _formKey.currentState.save(); - } + // if (_formKey.currentState.validate()) { + // _formKey.currentState.save(); + // } + _historyProvider.pay(payAmount.text, payComment.text); }, child: Padding( padding: const EdgeInsets.all(12), diff --git a/pubspec.yaml b/pubspec.yaml index 1d2d785..77e65b5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ description: Pay with G1. # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 0.0.1+22 +version: 0.0.1+23 environment: sdk: ">=2.7.0 <3.0.0"