cardano_serialization_lib/builders/script_structs/
datum_source.rs

1use crate::*;
2
3#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)]
4pub enum DatumSourceEnum {
5    Datum(PlutusData),
6    RefInput(TransactionInput),
7}
8
9#[wasm_bindgen]
10#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)]
11pub struct DatumSource(pub(crate) DatumSourceEnum);
12
13#[wasm_bindgen]
14impl DatumSource {
15    pub fn new(datum: &PlutusData) -> Self {
16        Self(DatumSourceEnum::Datum(datum.clone()))
17    }
18
19    pub fn new_ref_input(input: &TransactionInput) -> Self {
20        Self(DatumSourceEnum::RefInput(input.clone()))
21    }
22}