mirror of
https://github.com/aljazceru/cdk.git
synced 2026-01-08 15:35:35 +01:00
bindings/cashu-js nut05
This commit is contained in:
@@ -3,3 +3,4 @@ mod nut01;
|
||||
mod nut02;
|
||||
mod nut03;
|
||||
mod nut04;
|
||||
mod nut05;
|
||||
|
||||
81
bindings/cashu-js/src/nuts/nut05.rs
Normal file
81
bindings/cashu-js/src/nuts/nut05.rs
Normal file
@@ -0,0 +1,81 @@
|
||||
use std::ops::Deref;
|
||||
|
||||
use cashu::nuts::nut05::{CheckFeesRequest, CheckFeesResponse};
|
||||
use wasm_bindgen::prelude::*;
|
||||
|
||||
use crate::{
|
||||
error::Result,
|
||||
types::{JsAmount, JsBolt11Invoice},
|
||||
};
|
||||
|
||||
#[wasm_bindgen(js_name = CheckFeesRequest)]
|
||||
pub struct JsCheckFeesRequest {
|
||||
inner: CheckFeesRequest,
|
||||
}
|
||||
|
||||
impl Deref for JsCheckFeesRequest {
|
||||
type Target = CheckFeesRequest;
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.inner
|
||||
}
|
||||
}
|
||||
|
||||
impl From<CheckFeesRequest> for JsCheckFeesRequest {
|
||||
fn from(inner: CheckFeesRequest) -> JsCheckFeesRequest {
|
||||
JsCheckFeesRequest { inner }
|
||||
}
|
||||
}
|
||||
|
||||
#[wasm_bindgen(js_class = CheckFeesRequest)]
|
||||
impl JsCheckFeesRequest {
|
||||
#[wasm_bindgen(constructor)]
|
||||
pub fn new(invoice: JsBolt11Invoice) -> Result<JsCheckFeesRequest> {
|
||||
Ok(JsCheckFeesRequest {
|
||||
inner: CheckFeesRequest {
|
||||
pr: invoice.clone().into(),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
/// Get Amount
|
||||
#[wasm_bindgen(getter)]
|
||||
pub fn invoice(&self) -> JsBolt11Invoice {
|
||||
self.inner.pr.clone().into()
|
||||
}
|
||||
}
|
||||
|
||||
#[wasm_bindgen(js_name = CheckFeesResponse)]
|
||||
pub struct JsCheckFeesResponse {
|
||||
inner: CheckFeesResponse,
|
||||
}
|
||||
|
||||
impl Deref for JsCheckFeesResponse {
|
||||
type Target = CheckFeesResponse;
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.inner
|
||||
}
|
||||
}
|
||||
|
||||
impl From<CheckFeesResponse> for JsCheckFeesResponse {
|
||||
fn from(inner: CheckFeesResponse) -> JsCheckFeesResponse {
|
||||
JsCheckFeesResponse { inner }
|
||||
}
|
||||
}
|
||||
|
||||
#[wasm_bindgen(js_class = CheckFeesResponse)]
|
||||
impl JsCheckFeesResponse {
|
||||
#[wasm_bindgen(constructor)]
|
||||
pub fn new(amount: JsAmount) -> Result<JsCheckFeesResponse> {
|
||||
Ok(JsCheckFeesResponse {
|
||||
inner: CheckFeesResponse {
|
||||
fee: *amount.deref(),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
/// Get Amount
|
||||
#[wasm_bindgen(getter)]
|
||||
pub fn amount(&self) -> JsAmount {
|
||||
self.inner.fee.into()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user