Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
radicle: Fix config deserialization
cloudhead committed 2 years ago
commit 15b50ce6a544bdb7d22e124d486eeb933456f87e
parent 14c204a11fafcfcfc7511a1e5ad2df6a74ca11c7
2 files changed +15 -0
modified radicle/src/node/config.rs
@@ -131,21 +131,29 @@ pub struct Config {
    /// Node alias.
    pub alias: Alias,
    /// Peer configuration.
+
    #[serde(default)]
    pub peers: PeerConfig,
    /// Peers to connect to on startup.
    /// Connections to these peers will be maintained.
+
    #[serde(default)]
    pub connect: HashSet<ConnectAddress>,
    /// Specify the node's public addresses
+
    #[serde(default)]
    pub external_addresses: Vec<Address>,
    /// Peer-to-peer network.
+
    #[serde(default)]
    pub network: Network,
    /// Whether or not our node should relay inventories.
+
    #[serde(default = "crate::serde_ext::bool::yes")]
    pub relay: bool,
    /// Configured service limits.
+
    #[serde(default)]
    pub limits: Limits,
    /// Default tracking policy.
+
    #[serde(default)]
    pub policy: Policy,
    /// Default tracking scope.
+
    #[serde(default)]
    pub scope: Scope,
}

modified radicle/src/serde_ext.rs
@@ -1,3 +1,10 @@
+
pub mod bool {
+
    /// Function that always returns `true`, for use in `serde(default)` attributes.
+
    pub fn yes() -> bool {
+
        true
+
    }
+
}
+

pub mod string {
    use std::fmt::Display;
    use std::str::FromStr;