cardano_serialization_lib/builders/script_structs/
datum_source.rs1use 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}