chia_sdk_driver/primitives/mips/
mips_spend_kind.rs

1use clvm_utils::TreeHash;
2
3use crate::{DriverError, Spend, SpendContext};
4
5use super::{m_of_n::MofN, mips_spend::MipsSpend};
6
7#[derive(Debug, Clone)]
8pub enum MipsSpendKind {
9    Member(Spend),
10    MofN(MofN),
11}
12
13impl MipsSpendKind {
14    pub fn spend(
15        &self,
16        ctx: &mut SpendContext,
17        spend: &MipsSpend,
18        delegated_puzzle_wrappers: &mut Vec<TreeHash>,
19    ) -> Result<Spend, DriverError> {
20        match self {
21            Self::Member(spend) => Ok(*spend),
22            Self::MofN(m_of_n) => m_of_n.spend(ctx, spend, delegated_puzzle_wrappers),
23        }
24    }
25}