pub struct DydxAdapterConfig {Show 15 fields
pub network: DydxNetwork,
pub base_url: String,
pub ws_url: String,
pub grpc_url: String,
pub grpc_urls: Vec<String>,
pub chain_id: String,
pub timeout_secs: u64,
pub wallet_address: Option<String>,
pub subaccount: u32,
pub is_testnet: bool,
pub private_key: Option<String>,
pub authenticator_ids: Vec<u64>,
pub max_retries: u32,
pub retry_delay_initial_ms: u64,
pub retry_delay_max_ms: u64,
}Expand description
Configuration for the dYdX adapter.
Fields§
§network: DydxNetworkNetwork environment (mainnet or testnet).
base_url: StringBase URL for the HTTP API.
ws_url: StringBase URL for the WebSocket API.
grpc_url: StringBase URL for the gRPC API (Cosmos SDK transactions).
For backwards compatibility, a single URL can be provided.
Consider using grpc_urls for fallback support.
grpc_urls: Vec<String>List of gRPC URLs with fallback support.
If provided, the client will attempt to connect to each URL in order until a successful connection is established. This is recommended for production use in DEX environments where nodes can fail.
chain_id: StringChain ID (e.g., “dydx-mainnet-1” for mainnet, “dydx-testnet-4” for testnet).
timeout_secs: u64Request timeout in seconds.
wallet_address: Option<String>Wallet address for the account.
If not provided, falls back to environment variable:
- Mainnet:
DYDX_WALLET_ADDRESS - Testnet:
DYDX_TESTNET_WALLET_ADDRESS
Use resolve_wallet_address() to resolve from config or environment.
subaccount: u32Subaccount number (default: 0).
is_testnet: boolWhether this is a testnet configuration.
Precedence: network is canonical. If both network and is_testnet
are provided and conflict, network takes precedence internally.
This flag exists for backwards compatibility and may be derived from
network in future versions.
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
Use DydxCredential::resolve() to resolve from config or environment.
authenticator_ids: Vec<u64>Authenticator IDs for permissioned key trading.
When provided, transactions will include a TxExtension to enable trading via sub-accounts using delegated signing keys. This is an advanced feature for institutional setups with separated hot/cold wallet architectures.
See https://docs.dydx.xyz/concepts/trading/authenticators for details on permissioned keys and authenticator configuration.
max_retries: u32Maximum number of retries for failed requests (default: 3).
retry_delay_initial_ms: u64Initial retry delay in milliseconds (default: 1000ms).
retry_delay_max_ms: u64Maximum retry delay in milliseconds (default: 10000ms).
Implementations§
Source§impl DydxAdapterConfig
impl DydxAdapterConfig
Sourcepub fn get_grpc_urls(&self) -> Vec<String>
pub fn get_grpc_urls(&self) -> Vec<String>
Get the list of gRPC URLs to use for connection with fallback support.
Returns grpc_urls if non-empty, otherwise falls back to a single-element
vector containing grpc_url.
Sourcepub const fn get_chain_id(&self) -> ChainId
pub const fn get_chain_id(&self) -> ChainId
Map the configured network to the underlying chain ID.
This is the recommended way to get the chain ID for transaction submission.
Sourcepub const fn compute_is_testnet(&self) -> bool
pub const fn compute_is_testnet(&self) -> bool
Convenience: compute is_testnet from network.
Prefer network as the source of truth; this method is provided to
avoid ambiguity when legacy configs include is_testnet.
Trait Implementations§
Source§impl Clone for DydxAdapterConfig
impl Clone for DydxAdapterConfig
Source§fn clone(&self) -> DydxAdapterConfig
fn clone(&self) -> DydxAdapterConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DydxAdapterConfig
impl Debug for DydxAdapterConfig
Source§impl Default for DydxAdapterConfig
impl Default for DydxAdapterConfig
Source§impl<'de> Deserialize<'de> for DydxAdapterConfig
impl<'de> Deserialize<'de> for DydxAdapterConfig
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>,
Auto Trait Implementations§
impl Freeze for DydxAdapterConfig
impl RefUnwindSafe for DydxAdapterConfig
impl Send for DydxAdapterConfig
impl Sync for DydxAdapterConfig
impl Unpin for DydxAdapterConfig
impl UnsafeUnpin for DydxAdapterConfig
impl UnwindSafe for DydxAdapterConfig
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<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].