use std::time::Duration;
use nostr_relay_pool::monitor::Monitor;
use nostr_relay_pool::RelayOptions;
pub const DEFAULT_TIMEOUT: Duration = Duration::from_secs(60);
#[derive(Debug, Clone)]
pub struct NostrWalletConnectOptions {
pub(super) relay: RelayOptions,
pub(super) timeout: Duration,
pub(super) monitor: Option<Monitor>,
}
impl Default for NostrWalletConnectOptions {
fn default() -> Self {
Self {
relay: RelayOptions::default(),
timeout: DEFAULT_TIMEOUT,
monitor: None,
}
}
}
impl NostrWalletConnectOptions {
#[inline]
pub fn new() -> Self {
Self::default()
}
#[inline]
pub fn timeout(mut self, timeout: Duration) -> Self {
self.timeout = timeout;
self
}
#[inline]
pub fn monitor(mut self, monitor: Monitor) -> Self {
self.monitor = Some(monitor);
self
}
pub fn relay(self, opts: RelayOptions) -> Self {
Self {
relay: opts,
..self
}
}
}