use df_hyperliquid_core::client::Network;
#[derive(Clone, Debug)]
pub struct Config {
pub relayer: String,
pub rpc: String,
pub exchange: String,
pub now_ms: fn() -> u64,
pub random: fn(&mut [u8]) -> Result<(), String>,
}
impl Config {
#[must_use]
pub fn mainnet(now_ms: fn() -> u64, random: fn(&mut [u8]) -> Result<(), String>) -> Config {
Config {
relayer: crate::client::deployment::ORIGIN.to_owned(),
rpc: Network::Mainnet.evm_rpc_url().to_owned(),
exchange: format!("{}/exchange", Network::Mainnet.api_url()),
now_ms,
random,
}
}
#[must_use]
pub fn relayer(mut self, relayer: impl Into<String>) -> Config {
self.relayer = relayer.into();
self
}
}
#[cfg(test)]
#[path = "tests/config.rs"]
mod tests;