pub struct DydxExecClientConfig {Show 18 fields
pub trader_id: TraderId,
pub account_id: AccountId,
pub network: DydxNetwork,
pub grpc_endpoint: Option<String>,
pub grpc_urls: Vec<String>,
pub ws_endpoint: Option<String>,
pub http_endpoint: Option<String>,
pub private_key: Option<String>,
pub wallet_address: Option<String>,
pub subaccount_number: u32,
pub authenticator_ids: Vec<u64>,
pub http_timeout_secs: Option<u64>,
pub max_retries: Option<u32>,
pub retry_delay_initial_ms: Option<u64>,
pub retry_delay_max_ms: Option<u64>,
pub grpc_rate_limit_per_second: Option<u32>,
pub proxy_url: Option<String>,
pub transport_backend: TransportBackend,
}Expand description
Configuration for the dYdX execution client.
Fields§
§trader_id: TraderIdThe trader ID for the client.
account_id: AccountIdThe account ID for the client.
network: DydxNetworkNetwork environment (mainnet or testnet).
grpc_endpoint: Option<String>gRPC endpoint URL (optional, uses default for network if not provided).
grpc_urls: Vec<String>Additional gRPC URLs for fallback support.
ws_endpoint: Option<String>WebSocket endpoint URL (optional, uses default for network if not provided).
http_endpoint: Option<String>HTTP endpoint URL (optional, uses default for network if not provided).
private_key: Option<String>Private key (hex) for wallet signing.
If not provided, falls back to environment variable:
- Mainnet:
DYDX_PRIVATE_KEY - Testnet:
DYDX_TESTNET_PRIVATE_KEY
wallet_address: Option<String>Wallet address.
If not provided, falls back to environment variable:
- Mainnet:
DYDX_WALLET_ADDRESS - Testnet:
DYDX_TESTNET_WALLET_ADDRESS
subaccount_number: u32Subaccount number (default: 0).
authenticator_ids: Vec<u64>Authenticator IDs for permissioned key trading.
http_timeout_secs: Option<u64>HTTP request timeout in seconds.
max_retries: Option<u32>Maximum number of retry attempts.
retry_delay_initial_ms: Option<u64>Initial retry delay in milliseconds.
retry_delay_max_ms: Option<u64>Maximum retry delay in milliseconds.
grpc_rate_limit_per_second: Option<u32>gRPC rate limit: maximum broadcast requests per second.
When None, rate limiting is disabled.
proxy_url: Option<String>Optional proxy URL for HTTP and WebSocket transports.
transport_backend: TransportBackendWebSocket transport backend (defaults to Tungstenite).
Implementations§
Source§impl DydxExecClientConfig
impl DydxExecClientConfig
Sourcepub fn builder() -> DydxExecClientConfigBuilder
pub fn builder() -> DydxExecClientConfigBuilder
Create an instance of DydxExecClientConfig using the builder syntax
Source§impl DydxExecClientConfig
impl DydxExecClientConfig
Sourcepub fn get_grpc_urls(&self) -> Vec<String>
pub fn get_grpc_urls(&self) -> Vec<String>
Returns the gRPC URLs to use, with fallback support.
Returns grpc_urls if non-empty, otherwise uses grpc_endpoint if provided,
otherwise uses the default URLs for the configured network.
Sourcepub fn get_ws_url(&self) -> String
pub fn get_ws_url(&self) -> String
Returns the WebSocket URL for the configured network.
Sourcepub fn get_http_url(&self) -> String
pub fn get_http_url(&self) -> String
Returns the HTTP URL for the configured network.
Sourcepub const fn get_chain_id(&self) -> ChainId
pub const fn get_chain_id(&self) -> ChainId
Returns the chain ID for the configured network.
Sourcepub const fn is_testnet(&self) -> bool
pub const fn is_testnet(&self) -> bool
Returns whether this is a testnet configuration.
Sourcepub fn grpc_quota(&self) -> Option<Quota>
pub fn grpc_quota(&self) -> Option<Quota>
Returns the gRPC rate limiting quota, if configured.
Trait Implementations§
Source§impl ClientConfig for DydxExecClientConfig
impl ClientConfig for DydxExecClientConfig
Source§impl Clone for DydxExecClientConfig
impl Clone for DydxExecClientConfig
Source§fn clone(&self) -> DydxExecClientConfig
fn clone(&self) -> DydxExecClientConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DydxExecClientConfig
impl Debug for DydxExecClientConfig
Source§impl Default for DydxExecClientConfig
impl Default for DydxExecClientConfig
Source§impl<'de> Deserialize<'de> for DydxExecClientConfig
impl<'de> Deserialize<'de> for DydxExecClientConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<'a, 'py> FromPyObject<'a, 'py> for DydxExecClientConfigwhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for DydxExecClientConfigwhere
Self: Clone,
Source§impl<'py> IntoPyObject<'py> for DydxExecClientConfig
impl<'py> IntoPyObject<'py> for DydxExecClientConfig
Source§type Target = DydxExecClientConfig
type Target = DydxExecClientConfig
Source§type Output = Bound<'py, <DydxExecClientConfig as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <DydxExecClientConfig 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 DydxExecClientConfig
impl PyClass for DydxExecClientConfig
Source§impl PyClassImpl for DydxExecClientConfig
impl PyClassImpl for DydxExecClientConfig
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 dYdX execution client.
const RAW_DOC: &'static CStr = /// Configuration for the dYdX execution client.
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type Layout = <<DydxExecClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<DydxExecClientConfig>
type Layout = <<DydxExecClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<DydxExecClientConfig>
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
type Inventory = Pyo3MethodsInventoryForDydxExecClientConfig
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 DydxExecClientConfig
impl PyClassNewTextSignature for DydxExecClientConfig
const TEXT_SIGNATURE: &'static str = "(trader_id, account_id, proxy_url=None)"
Source§impl PyStubType for DydxExecClientConfig
impl PyStubType for DydxExecClientConfig
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
§fn type_input() -> TypeInfo
fn type_input() -> TypeInfo
Source§impl PyTypeInfo for DydxExecClientConfig
impl PyTypeInfo for DydxExecClientConfig
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.Source§impl Serialize for DydxExecClientConfig
impl Serialize for DydxExecClientConfig
impl DerefToPyAny for DydxExecClientConfig
Auto Trait Implementations§
impl Freeze for DydxExecClientConfig
impl RefUnwindSafe for DydxExecClientConfig
impl Send for DydxExecClientConfig
impl Sync for DydxExecClientConfig
impl Unpin for DydxExecClientConfig
impl UnsafeUnpin for DydxExecClientConfig
impl UnwindSafe for DydxExecClientConfig
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§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