1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use async_trait::async_trait;
use serde::Deserialize;
use serde::Serialize;
use crate::prelude::rings_core::dht::Did;
#[derive(Deserialize, Serialize, Debug)]
pub struct Seed {
pub peers: Vec<SeedPeer>,
}
#[derive(Deserialize, Serialize, Debug)]
pub struct SeedPeer {
pub did: Did,
pub endpoint: String,
}
#[cfg_attr(feature = "node", async_trait)]
#[cfg_attr(not(feature = "node"), async_trait(?Send))]
pub trait SourceLoader {
async fn load(source: &str) -> anyhow::Result<Self>
where Self: Sized;
}