Explorar o código

feat: mint and melt quote getters

thesimplekid hai 10 meses
pai
achega
46d5a8dedd

+ 1 - 1
bindings/cdk-js/src/nuts/nut04.rs

@@ -78,7 +78,7 @@ impl JsMintBolt11Request {
     }
 
     #[wasm_bindgen(js_name = totalAmount)]
-    pub fn totoal_amount(&self) -> JsAmount {
+    pub fn total_amount(&self) -> JsAmount {
         self.inner.total_amount().into()
     }
 }

+ 2 - 2
bindings/cdk-js/src/nuts/nut05.rs

@@ -42,7 +42,7 @@ impl From<MeltQuoteBolt11Response> for JsMeltQuoteBolt11Response {
     }
 }
 
-#[wasm_bindgen(js_name = MintBolt11Request)]
+#[wasm_bindgen(js_name = MeltBolt11Request)]
 pub struct JsMeltBolt11Request {
     inner: MeltBolt11Request,
 }
@@ -96,7 +96,7 @@ impl From<MeltMethodSettings> for JsMeltMethodSettings {
     }
 }
 
-#[wasm_bindgen(js_name = Settings)]
+#[wasm_bindgen(js_name = Nut05Settings)]
 pub struct JsSettings {
     inner: NUT05Settings,
 }

+ 1 - 1
bindings/cdk-js/src/nuts/nut10.rs

@@ -45,7 +45,7 @@ impl From<SecretData> for JsSecretData {
     }
 }
 
-#[wasm_bindgen(js_name = Secret)]
+#[wasm_bindgen(js_name = Nut10Secret)]
 pub struct JsNut10Secret {
     inner: Nut10Secret,
 }

+ 1 - 1
bindings/cdk-js/src/types/amount.rs

@@ -34,7 +34,7 @@ impl From<u64> for JsAmount {
 #[wasm_bindgen(js_class = Amount)]
 impl JsAmount {
     #[wasm_bindgen(constructor)]
-    pub fn new(sats: u32) -> Self {
+    pub fn new(sats: u64) -> Self {
         Self {
             inner: Amount::from(sats as u64),
         }

+ 41 - 0
bindings/cdk-js/src/types/melt_quote.rs

@@ -3,6 +3,9 @@ use std::ops::Deref;
 use cdk::types::MeltQuote;
 use wasm_bindgen::prelude::*;
 
+use crate::nuts::JsCurrencyUnit;
+use crate::types::JsAmount;
+
 #[wasm_bindgen(js_name = MeltQuote)]
 pub struct JsMeltQuote {
     inner: MeltQuote,
@@ -20,3 +23,41 @@ impl From<MeltQuote> for JsMeltQuote {
         JsMeltQuote { inner }
     }
 }
+
+#[wasm_bindgen(js_class = MeltQuote)]
+impl JsMeltQuote {
+    #[wasm_bindgen(getter)]
+    pub fn id(&self) -> String {
+        self.inner.id.clone()
+    }
+
+    #[wasm_bindgen(getter)]
+    pub fn unit(&self) -> JsCurrencyUnit {
+        self.inner.unit.clone().into()
+    }
+
+    #[wasm_bindgen(getter)]
+    pub fn amount(&self) -> JsAmount {
+        self.inner.amount.into()
+    }
+
+    #[wasm_bindgen(getter)]
+    pub fn request(&self) -> String {
+        self.inner.request.clone()
+    }
+
+    #[wasm_bindgen(getter)]
+    pub fn fee_reserve(&self) -> JsAmount {
+        self.inner.fee_reserve.into()
+    }
+
+    #[wasm_bindgen(getter)]
+    pub fn paid(&self) -> bool {
+        self.inner.paid
+    }
+
+    #[wasm_bindgen(getter)]
+    pub fn expiry(&self) -> u64 {
+        self.inner.expiry
+    }
+}

+ 36 - 0
bindings/cdk-js/src/types/mint_quote.rs

@@ -3,6 +3,9 @@ use std::ops::Deref;
 use cdk::types::MintQuote;
 use wasm_bindgen::prelude::*;
 
+use crate::nuts::JsCurrencyUnit;
+use crate::types::JsAmount;
+
 #[wasm_bindgen(js_name = MintQuote)]
 pub struct JsMintQuote {
     inner: MintQuote,
@@ -20,3 +23,36 @@ impl From<MintQuote> for JsMintQuote {
         JsMintQuote { inner }
     }
 }
+
+#[wasm_bindgen(js_class = MintQuote)]
+impl JsMintQuote {
+    #[wasm_bindgen(getter)]
+    pub fn id(&self) -> String {
+        self.inner.id.clone()
+    }
+
+    #[wasm_bindgen(getter)]
+    pub fn unit(&self) -> JsCurrencyUnit {
+        self.inner.unit.clone().into()
+    }
+
+    #[wasm_bindgen(getter)]
+    pub fn amount(&self) -> JsAmount {
+        self.inner.amount.into()
+    }
+
+    #[wasm_bindgen(getter)]
+    pub fn request(&self) -> String {
+        self.inner.request.clone()
+    }
+
+    #[wasm_bindgen(getter)]
+    pub fn paid(&self) -> bool {
+        self.inner.paid
+    }
+
+    #[wasm_bindgen(getter)]
+    pub fn expiry(&self) -> u64 {
+        self.inner.expiry
+    }
+}

+ 2 - 2
bindings/cdk-js/src/wallet.rs

@@ -75,13 +75,13 @@ impl JsWallet {
     pub async fn mint_quote(
         &mut self,
         mint_url: String,
-        amount: JsAmount,
+        amount: u64,
         unit: JsCurrencyUnit,
     ) -> Result<JsMintQuote> {
         let mint_url = UncheckedUrl::from_str(&mint_url).map_err(into_err)?;
         let quote = self
             .inner
-            .mint_quote(mint_url, *amount.deref(), unit.into())
+            .mint_quote(mint_url, amount.into(), unit.into())
             .await
             .map_err(into_err)?;