use super::crypto::SignatureScheme;
fn variant_byte(scheme: SignatureScheme) -> u8 {
match scheme {
SignatureScheme::Ed25519 => 0x00,
SignatureScheme::Sr25519 => 0x01,
SignatureScheme::Ecdsa => 0x02,
SignatureScheme::Eth => 0x03,
}
}
pub fn encode_multi_signer(pubkey: &[u8], scheme: SignatureScheme) -> Vec<u8> {
let mut out = Vec::with_capacity(1 + pubkey.len());
out.push(variant_byte(scheme));
out.extend_from_slice(pubkey);
out
}
pub fn encode_multi_signature(sig: &[u8], scheme: SignatureScheme) -> Vec<u8> {
let mut out = Vec::with_capacity(1 + sig.len());
out.push(variant_byte(scheme));
out.extend_from_slice(sig);
out
}