diff --git a/README.md b/README.md index bb17214..004d349 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ JSON object representing the backup structure. This object includes wallet-level metadata, multiple accounts, and associated key data. ### Wallet Backup Structure - +- `created_at`: Optional timestamp indicating the backup creation time - `version`: Optionnal version of the backup format - `name`: Optional wallet name - `description`: Optional wallet description diff --git a/src/lib.rs b/src/lib.rs index 64422a7..00a2b35 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,8 +6,14 @@ use serde::{Deserialize, Serialize}; #[derive(Debug, Serialize, Deserialize)] pub struct Backup { + #[serde(skip_serializing_if = "Option::is_none")] + pub created_at: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub version: Option, #[serde(skip_serializing_if = "Option::is_none")] pub name: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub description: Option, pub accounts: Vec, pub network: Network, /// App proprietary metadata (settings, configuration, etc..) @@ -17,10 +23,10 @@ pub struct Backup { #[derive(Debug, Serialize, Deserialize)] pub struct Account { - #[serde(skip_serializing_if = "Option::is_none")] - pub version: Option, #[serde(skip_serializing_if = "Option::is_none")] pub name: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub description: Option, pub descriptor: miniscript::Descriptor, pub active: bool, pub receive_index: Option, @@ -44,8 +50,8 @@ pub struct Account { impl Account { pub fn new(descriptor: miniscript::Descriptor) -> Self { Self { - version: None, name: None, + description: None, descriptor, active: true, receive_index: None,