Browse Source

`bindings/cashu-js` use `serde_wasm_bindgen` for `Amount` `split`

thesimplekid 1 year ago
parent
commit
815490641f

+ 0 - 1
bindings/cashu-js/src/nuts/nut00/token.rs

@@ -25,7 +25,6 @@ impl From<Token> for JsToken {
 
 
 #[wasm_bindgen(js_class = Token)]
 #[wasm_bindgen(js_class = Token)]
 impl JsToken {
 impl JsToken {
-    // TODO: Simply passing a string for proofs is not ideal
     #[wasm_bindgen(constructor)]
     #[wasm_bindgen(constructor)]
     pub fn new(mint: String, proofs: JsValue, memo: Option<String>) -> Result<JsToken> {
     pub fn new(mint: String, proofs: JsValue, memo: Option<String>) -> Result<JsToken> {
         let mint = UncheckedUrl::from_str(&mint).map_err(into_err)?;
         let mint = UncheckedUrl::from_str(&mint).map_err(into_err)?;

+ 0 - 2
bindings/cashu-js/src/nuts/nut07.rs

@@ -25,7 +25,6 @@ impl From<CheckSpendableRequest> for JsCheckSpendableRequest {
 
 
 #[wasm_bindgen(js_class = CheckSpendable)]
 #[wasm_bindgen(js_class = CheckSpendable)]
 impl JsCheckSpendableRequest {
 impl JsCheckSpendableRequest {
-    // REVIEW: Use into serde
     #[wasm_bindgen(constructor)]
     #[wasm_bindgen(constructor)]
     pub fn new(proofs: JsValue) -> Result<JsCheckSpendableRequest> {
     pub fn new(proofs: JsValue) -> Result<JsCheckSpendableRequest> {
         let proofs = serde_wasm_bindgen::from_value(proofs).map_err(into_err)?;
         let proofs = serde_wasm_bindgen::from_value(proofs).map_err(into_err)?;
@@ -37,7 +36,6 @@ impl JsCheckSpendableRequest {
 
 
     /// Get Proofs
     /// Get Proofs
     #[wasm_bindgen(getter)]
     #[wasm_bindgen(getter)]
-    // REVIEW: INTO Serde
     pub fn proofs(&self) -> Result<JsValue> {
     pub fn proofs(&self) -> Result<JsValue> {
         serde_wasm_bindgen::to_value(&self.inner.proofs).map_err(into_err)
         serde_wasm_bindgen::to_value(&self.inner.proofs).map_err(into_err)
     }
     }

+ 4 - 4
bindings/cashu-js/src/types/amount.rs

@@ -3,6 +3,8 @@ use std::ops::Deref;
 use cashu::Amount;
 use cashu::Amount;
 use wasm_bindgen::prelude::*;
 use wasm_bindgen::prelude::*;
 
 
+use crate::error::{into_err, Result};
+
 #[wasm_bindgen(js_name = Amount)]
 #[wasm_bindgen(js_name = Amount)]
 pub struct JsAmount {
 pub struct JsAmount {
     inner: Amount,
     inner: Amount,
@@ -59,10 +61,8 @@ impl JsAmount {
     }
     }
 
 
     /// Split amount returns sat vec of sats
     /// Split amount returns sat vec of sats
-    // REVIEW: https://github.com/rustwasm/wasm-bindgen/issues/111
     #[wasm_bindgen(js_name = split)]
     #[wasm_bindgen(js_name = split)]
-    pub fn split(&self) -> Vec<u64> {
-        let split = self.inner.split();
-        split.into_iter().map(|a| a.to_sat()).collect()
+    pub fn split(&self) -> Result<JsValue> {
+        serde_wasm_bindgen::to_value(&self.inner.split()).map_err(into_err)
     }
     }
 }
 }