diff --git a/bindings/cdk-js/src/nuts/nut11.rs b/bindings/cdk-js/src/nuts/nut11.rs index a1520070..e397dc8c 100644 --- a/bindings/cdk-js/src/nuts/nut11.rs +++ b/bindings/cdk-js/src/nuts/nut11.rs @@ -52,6 +52,19 @@ pub struct JsConditions { inner: Conditions, } +impl Deref for JsConditions { + type Target = Conditions; + fn deref(&self) -> &Self::Target { + &self.inner + } +} + +impl From for JsConditions { + fn from(inner: Conditions) -> JsConditions { + JsConditions { inner } + } +} + #[wasm_bindgen(js_class = Conditions)] impl JsConditions { #[wasm_bindgen(constructor)] @@ -76,17 +89,29 @@ impl JsConditions { .map_err(into_err)?, }) } -} -impl Deref for JsConditions { - type Target = Conditions; - fn deref(&self) -> &Self::Target { - &self.inner - } -} - -impl From for JsConditions { - fn from(inner: Conditions) -> JsConditions { - JsConditions { inner } + #[wasm_bindgen(getter)] + pub fn locktime(&self) -> Option { + self.inner.locktime + } + + #[wasm_bindgen(getter)] + pub fn pubkeys(&self) -> Result { + Ok(serde_wasm_bindgen::to_value(&self.inner.pubkeys)?) + } + + #[wasm_bindgen(getter)] + pub fn refund_keys(&self) -> Result { + Ok(serde_wasm_bindgen::to_value(&self.inner.refund_keys)?) + } + + #[wasm_bindgen(getter)] + pub fn num_sigs(&self) -> Option { + self.inner.num_sigs + } + + #[wasm_bindgen(getter)] + pub fn sig_flag(&self) -> String { + self.inner.sig_flag.to_string() } }