From 8663186a4abc0a27bb7765e056f8b9fa119aaf01 Mon Sep 17 00:00:00 2001 From: poka Date: Tue, 6 Sep 2022 12:14:50 +0200 Subject: [PATCH] wip: prepare extrinsic revocation --- lib/providers/substrate_sdk.dart | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/providers/substrate_sdk.dart b/lib/providers/substrate_sdk.dart index f07df46..beb464d 100644 --- a/lib/providers/substrate_sdk.dart +++ b/lib/providers/substrate_sdk.dart @@ -842,19 +842,24 @@ newKeySig: $newKeySig"""); Future revokeIdentity(String address, String password) async { final idtyIndex = await _getIdentityIndexOf(address); - final sender = await _setSender(address); - TxInfoData txInfo; + final prefix = '?'.codeUnits; + final genesisHashString = await getGenesisHash(); + final genesisHash = HEX.decode(genesisHashString.substring(2)) as Uint8List; + final idtyIndexBytes = _int32bytes(idtyIndex); + final oldPubkey = await addressToPubkey(address); + final messageToSign = + Uint8List.fromList(prefix + genesisHash + idtyIndexBytes + oldPubkey); + final revocationSig = await _signMessage(messageToSign, address, password); - txInfo = TxInfoData( + final txInfo = TxInfoData( 'identity', 'revokeIdentity', sender, ); - final txOptions = [idtyIndex]; - + final txOptions = [idtyIndex, address, revocationSig]; return await _executeCall(txInfo, txOptions, password); }