whisky_pallas/utils/
required_signatures.rs

1use pallas::{
2    codec::utils::{Bytes, NonEmptySet},
3    ledger::primitives::conway::VKeyWitness,
4};
5
6pub fn required_signatures_to_mock_witnesses(
7    required_signatures: Vec<String>,
8) -> Option<NonEmptySet<VKeyWitness>> {
9    if required_signatures.is_empty() {
10        return None;
11    }
12    let required_signature_set: NonEmptySet<String> =
13        NonEmptySet::from_vec(required_signatures).unwrap();
14    let mut vkey_witnesses = Vec::new();
15
16    for (i, _signer_hash) in required_signature_set.into_iter().enumerate() {
17        let mock_vkey = vec![i as u8; 32];
18        let mock_signature = vec![i as u8; 64];
19        let vkey_witness = VKeyWitness {
20            vkey: Bytes::from(mock_vkey),           // Mock public key
21            signature: Bytes::from(mock_signature), // Mock signature
22        };
23        vkey_witnesses.push(vkey_witness);
24    }
25
26    Some(NonEmptySet::from_vec(vkey_witnesses).unwrap())
27}