radicle: Fix config deserialization

This is a fix for the breaking changes introduced with `PeerConfig`.
This commit is contained in:
cloudhead 2023-08-14 10:31:35 +02:00
parent 14c204a11f
commit 15b50ce6a5
No known key found for this signature in database
2 changed files with 15 additions and 0 deletions

View File

@ -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,
}

View File

@ -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;