use crate::*;

use sp_core::sr25519::Signature;

// TODO include prefix in RevocationPayload and use below
// use crate::runtime::runtime_types::pallet_identity::types::RevocationPayload;
type EncodedRevocationPayload = Vec<u8>;

pub fn print_revoc_sig(data: &Data) {
	let (_, signature) = generate_revoc_doc(data);
	println!("revocation payload signature");
	println!("0x{}", hex::encode(signature));
}

pub fn generate_revoc_doc(data: &Data) -> (EncodedRevocationPayload, Signature) {
	let payload = (b"revo", data.genesis_hash, data.idty_index()).encode();
	let signature = data.keypair().sign(&payload);

	(payload, signature)
}