diff --git a/key-wallet-manager/Cargo.toml b/key-wallet-manager/Cargo.toml index dd0b68849..4eb5f181b 100644 --- a/key-wallet-manager/Cargo.toml +++ b/key-wallet-manager/Cargo.toml @@ -10,6 +10,7 @@ license = "CC0-1.0" [features] default = [] parallel-filters = ["dep:rayon"] +serde = ["dep:serde", "key-wallet/serde", "dashcore/serde"] bincode = ["key-wallet/bincode", "dep:bincode"] test-utils = ["key-wallet/test-utils"] bls = ["key-wallet/bls"] @@ -31,6 +32,7 @@ tracing = "0.1" zeroize = { version = "1.8", features = ["derive"] } rayon = { version = "1.11", optional = true } bincode = { version = "2.0.1", optional = true } +serde = { version = "1.0", default-features = false, features = ["derive"], optional = true } [dev-dependencies] key-wallet = { path = "../key-wallet", features = ["test-utils", "bincode"] } diff --git a/key-wallet-manager/src/events.rs b/key-wallet-manager/src/events.rs index 0080b3979..998cf991a 100644 --- a/key-wallet-manager/src/events.rs +++ b/key-wallet-manager/src/events.rs @@ -29,6 +29,7 @@ use crate::WalletId; /// stand-alone event) is what lets consumers store /// `Wallet → Account → CoreAddress → Txo` without breaking the /// `CoreAddress` link for UTXOs landing on freshly derived addresses. +#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[derive(Debug, Clone, PartialEq, Eq)] pub struct DerivedAddress { /// The account that derived this address. diff --git a/key-wallet/src/wallet/managed_wallet_info/asset_lock_builder.rs b/key-wallet/src/wallet/managed_wallet_info/asset_lock_builder.rs index 27e1ecd31..8f8fa9bb5 100644 --- a/key-wallet/src/wallet/managed_wallet_info/asset_lock_builder.rs +++ b/key-wallet/src/wallet/managed_wallet_info/asset_lock_builder.rs @@ -20,6 +20,7 @@ use crate::wallet::Wallet; use crate::DerivationPath; /// Which funding account to derive the one-time key from. +#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum AssetLockFundingType { /// Identity registration: m/9'/coinType'/5'/0'/index'