1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
pub use cml_chain::json::plutus_datums::CardanoNodePlutusDatumSchema;

use crate::plutus::PlutusData;

use wasm_bindgen::prelude::{wasm_bindgen, JsError};

#[wasm_bindgen]
pub fn encode_json_str_to_plutus_datum(
    json: &str,
    schema: CardanoNodePlutusDatumSchema,
) -> Result<PlutusData, JsError> {
    cml_chain::json::plutus_datums::encode_json_str_to_plutus_datum(json, schema)
        .map(Into::into)
        .map_err(Into::into)
}

#[wasm_bindgen]
pub fn decode_plutus_datum_to_json_str(
    datum: &PlutusData,
    schema: CardanoNodePlutusDatumSchema,
) -> Result<String, JsError> {
    cml_chain::json::plutus_datums::decode_plutus_datum_to_json_str(datum.as_ref(), schema)
        .map_err(Into::into)
}