From a891613bb36b80979c9f3255033768ba8345d931 Mon Sep 17 00:00:00 2001 From: thesimplekid Date: Mon, 4 Mar 2024 19:13:45 +0000 Subject: [PATCH] feat: nut09 structs --- crates/cashu/Cargo.toml | 3 ++- crates/cashu/src/nuts/mod.rs | 2 ++ crates/cashu/src/nuts/nut09.rs | 21 +++++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 crates/cashu/src/nuts/nut09.rs diff --git a/crates/cashu/Cargo.toml b/crates/cashu/Cargo.toml index cfeef62e..b42a3904 100644 --- a/crates/cashu/Cargo.toml +++ b/crates/cashu/Cargo.toml @@ -15,9 +15,10 @@ description = "Cashu rust wallet and mint library" default = ["mint", "wallet", "all-nuts"] mint = [] wallet = [] -all-nuts = ["nut07", "nut08", "nut10", "nut11"] +all-nuts = ["nut07", "nut08", "nut09", "nut10", "nut11"] nut07 = [] nut08 = [] +nut09 = [] nut10 = [] nut11 = ["nut10"] diff --git a/crates/cashu/src/nuts/mod.rs b/crates/cashu/src/nuts/mod.rs index 0d7224d7..ca299de5 100644 --- a/crates/cashu/src/nuts/mod.rs +++ b/crates/cashu/src/nuts/mod.rs @@ -9,6 +9,8 @@ pub mod nut06; pub mod nut07; #[cfg(feature = "nut08")] pub mod nut08; +#[cfg(feature = "nut09")] +pub mod nut09; #[cfg(feature = "nut10")] pub mod nut10; #[cfg(feature = "nut11")] diff --git a/crates/cashu/src/nuts/nut09.rs b/crates/cashu/src/nuts/nut09.rs new file mode 100644 index 00000000..5270e640 --- /dev/null +++ b/crates/cashu/src/nuts/nut09.rs @@ -0,0 +1,21 @@ +//! Nut-09: Restore signatures + +use serde::{Deserialize, Serialize}; + +use super::{BlindedMessage, BlindedSignature}; + +/// Restore Request [NUT-09] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +pub struct RestoreRequest { + /// Outputs + pub outputs: Vec, +} + +/// Restore Response [NUT-09] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +pub struct RestoreResponse { + /// Outputs + pub outputs: Vec, + /// Signatures + pub signatures: Vec, +}