pub struct OKXExecClientConfig {Show 22 fields
pub trader_id: TraderId,
pub account_id: AccountId,
pub api_key: Option<String>,
pub api_secret: Option<String>,
pub api_passphrase: Option<String>,
pub instrument_types: Vec<OKXInstrumentType>,
pub contract_types: Option<Vec<OKXContractType>>,
pub instrument_families: Option<Vec<String>>,
pub base_url_http: Option<String>,
pub base_url_ws_private: Option<String>,
pub base_url_ws_business: Option<String>,
pub proxy_url: Option<String>,
pub environment: OKXEnvironment,
pub http_timeout_secs: u64,
pub use_fills_channel: bool,
pub use_mm_mass_cancel: bool,
pub max_retries: u32,
pub retry_delay_initial_ms: u64,
pub retry_delay_max_ms: u64,
pub margin_mode: Option<OKXMarginMode>,
pub use_spot_margin: bool,
pub transport_backend: TransportBackend,
}Expand description
Configuration for the OKX execution client.
Fields§
§trader_id: TraderIdThe trader ID for the client.
account_id: AccountIdThe account ID for the client.
api_key: Option<String>Optional API key for authenticated endpoints.
api_secret: Option<String>Optional API secret for authenticated endpoints.
api_passphrase: Option<String>Optional API passphrase for authenticated endpoints.
instrument_types: Vec<OKXInstrumentType>Instrument types the execution client should support.
contract_types: Option<Vec<OKXContractType>>Contract type filter applied to operations.
instrument_families: Option<Vec<String>>Instrument families to load (e.g., “BTC-USD”, “ETH-USD”). Required for OPTIONS. Optional for FUTURES/SWAP. Not applicable for SPOT/MARGIN.
base_url_http: Option<String>Optional override for the HTTP base URL.
base_url_ws_private: Option<String>Optional override for the private WebSocket URL.
base_url_ws_business: Option<String>Optional override for the business WebSocket URL.
proxy_url: Option<String>Optional proxy URL for HTTP and WebSocket transports.
environment: OKXEnvironmentThe API environment (live or demo).
http_timeout_secs: u64HTTP timeout in seconds.
use_fills_channel: boolEnables consumption of the fills WebSocket channel when true.
use_mm_mass_cancel: boolEnables mass-cancel support when true.
max_retries: u32Maximum retry attempts for requests.
retry_delay_initial_ms: u64Initial retry delay in milliseconds.
retry_delay_max_ms: u64Maximum retry delay in milliseconds.
margin_mode: Option<OKXMarginMode>Optional margin mode (CROSS or ISOLATED) for margin/derivative accounts.
use_spot_margin: boolEnables margin/leverage for SPOT trading when true.
transport_backend: TransportBackendWebSocket transport backend (defaults to Tungstenite).
Implementations§
Source§impl OKXExecClientConfig
impl OKXExecClientConfig
Sourcepub fn builder() -> OKXExecClientConfigBuilder
pub fn builder() -> OKXExecClientConfigBuilder
Create an instance of OKXExecClientConfig using the builder syntax
Source§impl OKXExecClientConfig
impl OKXExecClientConfig
Sourcepub fn has_api_credentials(&self) -> bool
pub fn has_api_credentials(&self) -> bool
Returns true when all API credential fields are available (in config or env vars).
Sourcepub fn http_base_url(&self) -> String
pub fn http_base_url(&self) -> String
Returns the HTTP base URL, falling back to the default when unset.
Sourcepub fn ws_private_url(&self) -> String
pub fn ws_private_url(&self) -> String
Returns the private WebSocket URL, respecting the environment and overrides.
Sourcepub fn ws_business_url(&self) -> String
pub fn ws_business_url(&self) -> String
Returns the business WebSocket URL, respecting the environment and overrides.
Trait Implementations§
Source§impl ClientConfig for OKXExecClientConfig
impl ClientConfig for OKXExecClientConfig
Source§impl Clone for OKXExecClientConfig
impl Clone for OKXExecClientConfig
Source§fn clone(&self) -> OKXExecClientConfig
fn clone(&self) -> OKXExecClientConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OKXExecClientConfig
impl Debug for OKXExecClientConfig
Source§impl Default for OKXExecClientConfig
impl Default for OKXExecClientConfig
Source§impl<'a, 'py> FromPyObject<'a, 'py> for OKXExecClientConfigwhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for OKXExecClientConfigwhere
Self: Clone,
Source§impl<'py> IntoPyObject<'py> for OKXExecClientConfig
impl<'py> IntoPyObject<'py> for OKXExecClientConfig
Source§type Target = OKXExecClientConfig
type Target = OKXExecClientConfig
Source§type Output = Bound<'py, <OKXExecClientConfig as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <OKXExecClientConfig as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PyClass for OKXExecClientConfig
impl PyClass for OKXExecClientConfig
Source§impl PyClassImpl for OKXExecClientConfig
impl PyClassImpl for OKXExecClientConfig
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
Source§const RAW_DOC: &'static CStr = /// Configuration for the OKX execution client.
const RAW_DOC: &'static CStr = /// Configuration for the OKX execution client.
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type Layout = <<OKXExecClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<OKXExecClientConfig>
type Layout = <<OKXExecClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<OKXExecClientConfig>
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
type Inventory = Pyo3MethodsInventoryForOKXExecClientConfig
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
§fn dict_offset() -> Option<PyObjectOffset>
fn dict_offset() -> Option<PyObjectOffset>
§fn weaklist_offset() -> Option<PyObjectOffset>
fn weaklist_offset() -> Option<PyObjectOffset>
Source§impl PyClassNewTextSignature for OKXExecClientConfig
impl PyClassNewTextSignature for OKXExecClientConfig
const TEXT_SIGNATURE: &'static str = "(trader_id, account_id, instrument_types=None, environment=None, api_key=None, api_secret=None, api_passphrase=None, base_url_http=None, base_url_ws_private=None, base_url_ws_business=None, proxy_url=None, http_timeout_secs=None, max_retries=None, retry_delay_initial_ms=None, retry_delay_max_ms=None, margin_mode=None)"
Source§impl PyStubType for OKXExecClientConfig
impl PyStubType for OKXExecClientConfig
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
§fn type_input() -> TypeInfo
fn type_input() -> TypeInfo
Source§impl PyTypeInfo for OKXExecClientConfig
impl PyTypeInfo for OKXExecClientConfig
Source§const NAME: &str = <Self as ::pyo3::PyClass>::NAME
const NAME: &str = <Self as ::pyo3::PyClass>::NAME
prefer using ::type_object(py).name() to get the correct runtime value
Source§const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
prefer using ::type_object(py).module() to get the correct runtime value
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.impl DerefToPyAny for OKXExecClientConfig
Auto Trait Implementations§
impl Freeze for OKXExecClientConfig
impl RefUnwindSafe for OKXExecClientConfig
impl Send for OKXExecClientConfig
impl Sync for OKXExecClientConfig
impl Unpin for OKXExecClientConfig
impl UnsafeUnpin for OKXExecClientConfig
impl UnwindSafe for OKXExecClientConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self into an owned Python object, dropping type information and unbinding it
from the 'py lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self into a Python object. Read more§impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
§fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
§const NAME: &'static str = T::NAME
const NAME: &'static str = T::NAME
Use ::classinfo_object() instead and format the type name at runtime. Note that using built-in cast features is often better than manual PyTypeCheck usage.
§fn type_check(object: &Bound<'_, PyAny>) -> bool
fn type_check(object: &Bound<'_, PyAny>) -> bool
§fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
isinstance and issubclass function. Read more