miden-multisig-client 0.13.0

High-level SDK for interacting with multisig accounts on Miden via PSM
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use miden_protocol::Word;

use crate::error::Result;
use crate::proposal::{Proposal, TransactionType};

pub(crate) fn signer_commitments_for_transaction(proposal: &Proposal) -> Result<Option<Vec<Word>>> {
    if matches!(
        &proposal.transaction_type,
        TransactionType::AddCosigner { .. }
            | TransactionType::RemoveCosigner { .. }
            | TransactionType::UpdateSigners { .. }
    ) {
        Ok(Some(proposal.metadata.signer_commitments()?))
    } else {
        Ok(proposal.metadata.signer_commitments().ok())
    }
}