From f46acb23e44de8ec01bdc845a9fa72f848e9b57e Mon Sep 17 00:00:00 2001 From: poka Date: Tue, 6 Sep 2022 09:29:29 +0200 Subject: [PATCH] setSender methode --- lib/providers/substrate_sdk.dart | 43 ++--------- lib/screens/myWallets/manage_membership.dart | 75 +++++++++++--------- 2 files changed, 48 insertions(+), 70 deletions(-) diff --git a/lib/providers/substrate_sdk.dart b/lib/providers/substrate_sdk.dart index 3955cf4..f07df46 100644 --- a/lib/providers/substrate_sdk.dart +++ b/lib/providers/substrate_sdk.dart @@ -662,13 +662,9 @@ class SubstrateSdk with ChangeNotifier { required double amount, required String password}) async { transactionStatus = ''; - final fromPubkey = await sdk.api.account.decodeAddress([fromAddress]); final int amountUnit = (amount * 100).toInt(); - final sender = TxSenderData( - fromAddress, - fromPubkey!.keys.first, - ); + final sender = await _setSender(fromAddress); final globalBalance = await getBalance(fromAddress); TxInfoData txInfo; @@ -761,29 +757,9 @@ class SubstrateSdk with ChangeNotifier { return await _executeCall(txInfo, txOptions, password, rawParams); } - // Future claimUDs(String password) async { - // final sender = TxSenderData( - // keyring.current.address, - // keyring.current.pubKey, - // ); - - // final txInfo = TxInfoData( - // 'universalDividend', - // 'claimUds', - // sender, - // ); - - // return await executeCall(txInfo, [], password); - // } - Future confirmIdentity( String fromAddress, String name, String password) async { - final fromPubkey = await sdk.api.account.decodeAddress([fromAddress]); - - final sender = TxSenderData( - fromAddress, - fromPubkey!.keys.first, - ); + final sender = await _setSender(fromAddress); final txInfo = TxInfoData( 'identity', @@ -803,11 +779,7 @@ class SubstrateSdk with ChangeNotifier { required Map fromBalance, bool withBalance = false}) async { transactionStatus = ''; - final fromPubkey = await sdk.api.account.decodeAddress([fromAddress]); - final sender = TxSenderData( - fromAddress, - fromPubkey!.keys.first, - ); + final sender = await _setSender(fromAddress); TxInfoData txInfo; List txOptions = []; @@ -871,16 +843,13 @@ newKeySig: $newKeySig"""); Future revokeIdentity(String address, String password) async { final idtyIndex = await _getIdentityIndexOf(address); - final sender = TxSenderData( - keyring.current.address, - keyring.current.pubKey, - ); + final sender = await _setSender(address); TxInfoData txInfo; txInfo = TxInfoData( - 'membership', - 'revokeMembership', + 'identity', + 'revokeIdentity', sender, ); diff --git a/lib/screens/myWallets/manage_membership.dart b/lib/screens/myWallets/manage_membership.dart index 99feb0b..a9a9b90 100644 --- a/lib/screens/myWallets/manage_membership.dart +++ b/lib/screens/myWallets/manage_membership.dart @@ -1,9 +1,18 @@ +// ignore_for_file: use_build_context_synchronously + import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; import 'package:flutter/material.dart'; +import 'package:gecko/models/wallet_data.dart'; import 'package:gecko/models/widgets_keys.dart'; +import 'package:gecko/providers/my_wallets.dart'; +import 'package:gecko/providers/substrate_sdk.dart'; +import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/myWallets/migrate_identity.dart'; +import 'package:gecko/screens/myWallets/unlocking_wallet.dart'; +import 'package:gecko/screens/transaction_in_progress.dart'; +import 'package:provider/provider.dart'; // import 'package:gecko/models/wallet_data.dart'; // import 'package:gecko/providers/my_wallets.dart'; // import 'package:gecko/providers/substrate_sdk.dart'; @@ -68,43 +77,43 @@ class ManageMembership extends StatelessWidget { key: keyRevokeIdty, onTap: () async { // TODOO: Generate revoke document, and understand extrinsic identity.revokeIdentity options - // final _answer = await confirmPopup(context, - // 'Êtes-vous certains de vouloir révoquer définitivement cette identité ?') ?? - // false; + final answer = await confirmPopup(context, + 'Êtes-vous certains de vouloir révoquer définitivement cette identité ?') ?? + false; - // if (_answer) { - // MyWalletsProvider _myWalletProvider = - // Provider.of(context, listen: false); - // SubstrateSdk _sub = Provider.of(context, listen: false); + if (answer) { + MyWalletsProvider myWalletProvider = + Provider.of(context, listen: false); + SubstrateSdk sub = Provider.of(context, listen: false); - // MyWalletsProvider _mw = MyWalletsProvider(); - // final _wallet = _mw.getWalletDataByAddress(address); - // await _sub.setCurrentWallet(_wallet!); + MyWalletsProvider mw = MyWalletsProvider(); + final wallet = mw.getWalletDataByAddress(address); + await sub.setCurrentWallet(wallet!); - // WalletData? defaultWallet = _myWalletProvider.getDefaultWallet(); - // String? _pin; - // if (_myWalletProvider.pinCode == '') { - // _pin = await Navigator.push( - // context, - // MaterialPageRoute( - // builder: (homeContext) { - // return UnlockingWallet(wallet: defaultWallet); - // }, - // ), - // ); - // } - // if (_pin != null || _myWalletProvider.pinCode != '') { - // _sub.revokeIdentity(address, _myWalletProvider.pinCode); - // } - // Navigator.pop(context); + WalletData? defaultWallet = myWalletProvider.getDefaultWallet(); + String? pin; + if (myWalletProvider.pinCode == '') { + pin = await Navigator.push( + context, + MaterialPageRoute( + builder: (homeContext) { + return UnlockingWallet(wallet: defaultWallet); + }, + ), + ); + } + if (pin != null || myWalletProvider.pinCode != '') { + sub.revokeIdentity(address, myWalletProvider.pinCode); + } + Navigator.pop(context); - // Navigator.push( - // context, - // MaterialPageRoute(builder: (context) { - // return const TransactionInProgress(transType: 'revokeIdty'); - // }), - // ); - // } + Navigator.push( + context, + MaterialPageRoute(builder: (context) { + return const TransactionInProgress(transType: 'revokeIdty'); + }), + ); + } }, child: SizedBox( height: 60,