whisky_js/wasm/utils/
aiken.rs

1use crate::{error::from_werror, *};
2use whisky_common::BuilderDataType;
3use whisky_csl::apply_params_to_script;
4use whisky_csl::csl::JsError;
5
6#[wasm_bindgen]
7pub fn js_apply_params_to_script(
8    plutus_script: &str,
9    params: JsVecString,
10    param_type: &str,
11) -> Result<String, JsError> {
12    let mut params_to_apply: Vec<&str> = vec![];
13    for param in params.iter() {
14        params_to_apply.push(param);
15    }
16
17    let param_type_wdata = match param_type {
18        "json" => BuilderDataType::JSON,
19        "cbor" => BuilderDataType::CBOR,
20        _ => return Err(JsError::from_str("Invalid param type")),
21    };
22
23    let param_script = apply_params_to_script(plutus_script, &params_to_apply, param_type_wdata)
24        .map_err(from_werror)?;
25    Ok(param_script)
26}