From 23b6858a60b1f47d7c4aad10489b6b56ba5e06fb Mon Sep 17 00:00:00 2001 From: poka Date: Thu, 8 Sep 2022 14:37:00 +0200 Subject: [PATCH] add test: identity revocation --- integration_test/identity_revocation.dart | 32 ++++++++++++++++++++ lib/providers/substrate_sdk.dart | 6 ++-- lib/screens/myWallets/manage_membership.dart | 11 ++++--- 3 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 integration_test/identity_revocation.dart diff --git a/integration_test/identity_revocation.dart b/integration_test/identity_revocation.dart new file mode 100644 index 0000000..a9fd912 --- /dev/null +++ b/integration_test/identity_revocation.dart @@ -0,0 +1,32 @@ +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:gecko/globals.dart'; +import 'package:gecko/models/widgets_keys.dart'; +import 'package:integration_test/integration_test.dart'; +import 'general_actions.dart'; +import 'tests_utility.dart'; + +void main() async { + IntegrationTestWidgetsFlutterBinding.ensureInitialized(); + await dotenv.load(); + + testWidgets('Certifications state', (testerLoc) async { + tester = testerLoc; + // Connect local node and import test chest in background + await bkFastStart(); + + // Open chest + await firstOpenChest(); + + // Revoke test3 + await spawnBlock(number: 5); + await tapKey(keyOpenWallet(test3.address)); + await tapKey(keyManageMembership); + await tapKey(keyRevokeIdty); + await tapKey(keyConfirm); + spawnBlock(duration: 2000); + await waitFor('validé !', timeout: const Duration(seconds: 1)); + await tapKey(keyCloseTransactionScreen, duration: 0); + await waitFor('Membre validé !', reverse: true); + }, timeout: testTimeout()); +} diff --git a/lib/providers/substrate_sdk.dart b/lib/providers/substrate_sdk.dart index beb464d..643939a 100644 --- a/lib/providers/substrate_sdk.dart +++ b/lib/providers/substrate_sdk.dart @@ -844,13 +844,13 @@ newKeySig: $newKeySig"""); final idtyIndex = await _getIdentityIndexOf(address); final sender = await _setSender(address); - final prefix = '?'.codeUnits; + final prefix = 'revo'.codeUnits; final genesisHashString = await getGenesisHash(); final genesisHash = HEX.decode(genesisHashString.substring(2)) as Uint8List; final idtyIndexBytes = _int32bytes(idtyIndex); - final oldPubkey = await addressToPubkey(address); + // final pubkey = await addressToPubkey(address); final messageToSign = - Uint8List.fromList(prefix + genesisHash + idtyIndexBytes + oldPubkey); + Uint8List.fromList(prefix + idtyIndexBytes + genesisHash); final revocationSig = await _signMessage(messageToSign, address, password); final txInfo = TxInfoData( diff --git a/lib/screens/myWallets/manage_membership.dart b/lib/screens/myWallets/manage_membership.dart index a9a9b90..4718fae 100644 --- a/lib/screens/myWallets/manage_membership.dart +++ b/lib/screens/myWallets/manage_membership.dart @@ -86,9 +86,9 @@ class ManageMembership extends StatelessWidget { 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; @@ -110,7 +110,10 @@ class ManageMembership extends StatelessWidget { Navigator.push( context, MaterialPageRoute(builder: (context) { - return const TransactionInProgress(transType: 'revokeIdty'); + return TransactionInProgress( + transType: 'revokeIdty', + fromAddress: getShortPubkey(address), + toAddress: getShortPubkey(address)); }), ); }