Start to implement transactions

This commit is contained in:
poka 2021-03-29 22:12:38 +02:00
parent 92d00245ef
commit 8f7397626c
3 changed files with 28 additions and 6 deletions

View File

@ -1,8 +1,12 @@
import 'dart:io';
import 'package:dubp/dubp.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:gecko/globals.dart'; import 'package:gecko/globals.dart';
import 'package:gecko/models/home.dart'; import 'package:gecko/models/home.dart';
import 'package:gecko/screens/history.dart'; import 'package:gecko/screens/history.dart';
import 'package:gecko/screens/myWallets/unlockingWallet.dart';
import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:graphql_flutter/graphql_flutter.dart';
import 'package:jdenticon_dart/jdenticon_dart.dart'; import 'package:jdenticon_dart/jdenticon_dart.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
@ -45,6 +49,20 @@ class HistoryProvider with ChangeNotifier {
return barcode; 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}) { String isPubkey(context, pubkey, {bool goHistory}) {
HomeProvider _homeProvider = HomeProvider _homeProvider =
Provider.of<HomeProvider>(context, listen: false); Provider.of<HomeProvider>(context, listen: false);

View File

@ -7,6 +7,7 @@ import 'package:gecko/models/queries.dart';
import 'package:gecko/models/history.dart'; import 'package:gecko/models/history.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:gecko/screens/myWallets/unlockingWallet.dart';
import 'dart:ui'; import 'dart:ui';
import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:graphql_flutter/graphql_flutter.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -315,7 +316,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier {
// ), // ),
_historyProvider.isHistoryScreen _historyProvider.isHistoryScreen
? historyView(context, result) ? historyView(context, result)
: payView(context), : payView(context, _historyProvider),
], ],
))), ))),
onNotification: (t) { 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(); TextEditingController payComment = new TextEditingController();
return Stack( return Stack(
@ -361,6 +363,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier {
Padding( Padding(
padding: EdgeInsets.all(8.0), padding: EdgeInsets.all(8.0),
child: TextFormField( child: TextFormField(
controller: payAmount,
textAlign: TextAlign.center, textAlign: TextAlign.center,
maxLines: 1, maxLines: 1,
keyboardType: TextInputType.number, keyboardType: TextInputType.number,
@ -375,9 +378,10 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier {
style: OutlinedButton.styleFrom( style: OutlinedButton.styleFrom(
side: BorderSide(width: 2, color: Color(0xffD28928))), side: BorderSide(width: 2, color: Color(0xffD28928))),
onPressed: () { onPressed: () {
if (_formKey.currentState.validate()) { // if (_formKey.currentState.validate()) {
_formKey.currentState.save(); // _formKey.currentState.save();
} // }
_historyProvider.pay(payAmount.text, payComment.text);
}, },
child: Padding( child: Padding(
padding: const EdgeInsets.all(12), padding: const EdgeInsets.all(12),

View File

@ -5,7 +5,7 @@ description: Pay with G1.
# pub.dev using `pub publish`. This is preferred for private packages. # 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 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: environment:
sdk: ">=2.7.0 <3.0.0" sdk: ">=2.7.0 <3.0.0"