pub struct DydxExecutionClientConfig {Show 17 fields
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§
§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 DydxExecutionClientConfig
impl DydxExecutionClientConfig
Sourcepub fn builder() -> DydxExecutionClientConfigBuilder
pub fn builder() -> DydxExecutionClientConfigBuilder
Create an instance of DydxExecutionClientConfig using the builder syntax
Source§impl DydxExecutionClientConfig
impl DydxExecutionClientConfig
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 DydxExecutionClientConfig
impl ClientConfig for DydxExecutionClientConfig
Source§impl Clone for DydxExecutionClientConfig
impl Clone for DydxExecutionClientConfig
Source§fn clone(&self) -> DydxExecutionClientConfig
fn clone(&self) -> DydxExecutionClientConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DydxExecutionClientConfig
impl Debug for DydxExecutionClientConfig
Source§impl Default for DydxExecutionClientConfig
impl Default for DydxExecutionClientConfig
impl DerefToPyAny for DydxExecutionClientConfig
Source§impl<'de> Deserialize<'de> for DydxExecutionClientConfigwhere
DydxExecutionClientConfig: Default,
impl<'de> Deserialize<'de> for DydxExecutionClientConfigwhere
DydxExecutionClientConfig: Default,
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 DydxExecutionClientConfigwhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for DydxExecutionClientConfigwhere
Self: Clone,
Source§impl<'py> IntoPyObject<'py> for DydxExecutionClientConfig
impl<'py> IntoPyObject<'py> for DydxExecutionClientConfig
Source§type Target = DydxExecutionClientConfig
type Target = DydxExecutionClientConfig
Source§type Output = Bound<'py, <DydxExecutionClientConfig as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <DydxExecutionClientConfig 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 DydxExecutionClientConfig
impl PyClass for DydxExecutionClientConfig
Source§impl PyClassImpl for DydxExecutionClientConfig
impl PyClassImpl for DydxExecutionClientConfig
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 = <<DydxExecutionClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<DydxExecutionClientConfig>
type Layout = <<DydxExecutionClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<DydxExecutionClientConfig>
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
type Inventory = Pyo3MethodsInventoryForDydxExecutionClientConfig
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 DydxExecutionClientConfig
impl PyClassNewTextSignature for DydxExecutionClientConfig
const TEXT_SIGNATURE: &'static str = "(account_id, proxy_url=None, network=None, private_key=None, wallet_address=None, subaccount_number=0)"
Source§impl PyStubType for DydxExecutionClientConfig
impl PyStubType for DydxExecutionClientConfig
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
§fn type_input() -> TypeInfo
fn type_input() -> TypeInfo
Source§impl PyTypeInfo for DydxExecutionClientConfig
impl PyTypeInfo for DydxExecutionClientConfig
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.Auto Trait Implementations§
impl Freeze for DydxExecutionClientConfig
impl RefUnwindSafe for DydxExecutionClientConfig
impl Send for DydxExecutionClientConfig
impl Sync for DydxExecutionClientConfig
impl Unpin for DydxExecutionClientConfig
impl UnsafeUnpin for DydxExecutionClientConfig
impl UnwindSafe for DydxExecutionClientConfig
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<'py, T> FromPyObjectOwned<'py> for Twhere
T: for<'a> FromPyObject<'a, 'py>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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>where
Self: IntoPyObject<'py, Error = !>,
fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>where
Self: IntoPyObject<'py, Error = !>,
self into a [Py<PyAny>] when the underlying conversion is infallible.§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,
§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