dg_xch_core 2.1.1

Core library containing type/error definitions, CLVM tools, Consensus and Pool definitions
Documentation
use crate::blockchain::coin::Coin;
use crate::blockchain::spend_bundle_conditions::SpendBundleConditions;
use serde::{Deserialize, Serialize};

#[derive(Clone, PartialEq, Eq, Serialize, Deserialize, Debug, Default)]
pub struct NPCResult {
    pub error: Option<u16>,
    pub conds: Option<SpendBundleConditions>,
}
impl NPCResult {
    #[must_use]
    pub fn additions(self) -> Vec<Coin> {
        let mut additions: Vec<Coin> = vec![];
        if let Some(conds) = self.conds {
            for spend in conds.spends {
                for coin in spend.create_coin {
                    additions.push(Coin {
                        parent_coin_info: spend.coin_id,
                        puzzle_hash: coin.puzzle_hash,
                        amount: coin.amount,
                    });
                }
            }
        }
        additions
    }
}