use pyo3::prelude::*;
use crate::common::{
enums::{OKXEnvironment, OKXRegion},
urls,
};
#[pyfunction]
#[pyo3(signature = (region = None))]
#[pyo3_stub_gen::derive::gen_stub_pyfunction(module = "nautilus_trader.adapters.okx")]
pub fn get_okx_http_base_url(region: Option<OKXRegion>) -> String {
urls::get_http_base_url(region.unwrap_or_default()).to_string()
}
#[pyfunction]
#[pyo3(signature = (environment, region = None))]
#[pyo3_stub_gen::derive::gen_stub_pyfunction(module = "nautilus_trader.adapters.okx")]
pub fn get_okx_ws_url_public(environment: OKXEnvironment, region: Option<OKXRegion>) -> String {
urls::get_ws_base_url_public(region.unwrap_or_default(), environment).to_string()
}
#[pyfunction]
#[pyo3(signature = (environment, region = None))]
#[pyo3_stub_gen::derive::gen_stub_pyfunction(module = "nautilus_trader.adapters.okx")]
pub fn get_okx_ws_url_private(environment: OKXEnvironment, region: Option<OKXRegion>) -> String {
urls::get_ws_base_url_private(region.unwrap_or_default(), environment).to_string()
}
#[pyfunction]
#[pyo3(signature = (environment, region = None))]
#[pyo3_stub_gen::derive::gen_stub_pyfunction(module = "nautilus_trader.adapters.okx")]
pub fn get_okx_ws_url_business(environment: OKXEnvironment, region: Option<OKXRegion>) -> String {
urls::get_ws_base_url_business(region.unwrap_or_default(), environment).to_string()
}
#[pyfunction]
#[pyo3_stub_gen::derive::gen_stub_pyfunction(module = "nautilus_trader.adapters.okx")]
pub fn derive_okx_ws_url(base_url: &str, channel: &str) -> String {
urls::derive_ws_url(base_url, channel)
}
#[pyfunction]
#[pyo3_stub_gen::derive::gen_stub_pyfunction(module = "nautilus_trader.adapters.okx")]
pub fn okx_requires_authentication(endpoint_type: urls::OKXEndpointType) -> bool {
urls::requires_authentication(endpoint_type)
}