use kitsune2_api::*;
use kitsune2_core::{
Ed25519Verifier,
factories::{self, MemOpStoreFactory},
};
use kitsune2_gossip::K2GossipFactory;
#[cfg(all(
not(feature = "transport-tx5-backend-go-pion"),
feature = "transport-iroh"
))]
use kitsune2_transport_iroh::IrohTransportFactory;
#[cfg(feature = "transport-tx5-backend-go-pion")]
use kitsune2_transport_tx5::Tx5TransportFactory;
pub fn default_builder() -> Builder {
Builder {
config: Config::default(),
verifier: std::sync::Arc::new(Ed25519Verifier),
auth_material_bootstrap: None,
auth_material_relay: None,
kitsune: factories::CoreKitsuneFactory::create(),
space: factories::CoreSpaceFactory::create(),
peer_store: factories::MemPeerStoreFactory::create(),
bootstrap: factories::CoreBootstrapFactory::create(),
fetch: factories::CoreFetchFactory::create(),
report: factories::CoreReportFactory::create(),
#[cfg(feature = "transport-tx5-backend-go-pion")]
transport: Tx5TransportFactory::create(),
#[cfg(all(
not(feature = "transport-tx5-backend-go-pion"),
feature = "transport-iroh"
))]
transport: IrohTransportFactory::create(),
op_store: MemOpStoreFactory::create(),
peer_meta_store: factories::MemPeerMetaStoreFactory::create(),
gossip: K2GossipFactory::create(),
local_agent_store: factories::CoreLocalAgentStoreFactory::create(),
publish: factories::CorePublishFactory::create(),
blocks: factories::MemBlocksFactory::create(),
}
}