Skip to main content

BinanceExecutionClientConfigBuilder

Struct BinanceExecutionClientConfigBuilder 

Source
pub struct BinanceExecutionClientConfigBuilder<S: State = Empty> { /* private fields */ }
Expand description

Use builder syntax to set the inputs and finish with build().

Implementations§

Source§

impl<S: State> BinanceExecutionClientConfigBuilder<S>

Source

pub fn build(self) -> BinanceExecutionClientConfig
where S: IsComplete,

Finish building and return the requested object

Source

pub fn account_id( self, value: AccountId, ) -> BinanceExecutionClientConfigBuilder<SetAccountId<S>>
where S::AccountId: IsUnset,

Optional (Some / Option setters). Default: AccountId::from("BINANCE-001").

Account ID for the client.

Source

pub fn maybe_account_id( self, value: Option<AccountId>, ) -> BinanceExecutionClientConfigBuilder<SetAccountId<S>>
where S::AccountId: IsUnset,

Optional (Some / Option setters). Default: AccountId::from("BINANCE-001").

Account ID for the client.

Source

pub fn product_type( self, value: BinanceProductType, ) -> BinanceExecutionClientConfigBuilder<SetProductType<S>>
where S::ProductType: IsUnset,

Optional (Some / Option setters). Default: BinanceProductType::Spot.

Product type to trade.

Source

pub fn maybe_product_type( self, value: Option<BinanceProductType>, ) -> BinanceExecutionClientConfigBuilder<SetProductType<S>>
where S::ProductType: IsUnset,

Optional (Some / Option setters). Default: BinanceProductType::Spot.

Product type to trade.

Source

pub fn environment( self, value: BinanceEnvironment, ) -> BinanceExecutionClientConfigBuilder<SetEnvironment<S>>
where S::Environment: IsUnset,

Optional (Some / Option setters). Default: BinanceEnvironment::Live.

Environment (live, testnet, or demo).

Source

pub fn maybe_environment( self, value: Option<BinanceEnvironment>, ) -> BinanceExecutionClientConfigBuilder<SetEnvironment<S>>
where S::Environment: IsUnset,

Optional (Some / Option setters). Default: BinanceEnvironment::Live.

Environment (live, testnet, or demo).

Source

pub fn base_url_http( self, value: String, ) -> BinanceExecutionClientConfigBuilder<SetBaseUrlHttp<S>>
where S::BaseUrlHttp: IsUnset,

Optional (Some / Option setters). Optional base URL override for HTTP API.

Source

pub fn maybe_base_url_http( self, value: Option<String>, ) -> BinanceExecutionClientConfigBuilder<SetBaseUrlHttp<S>>
where S::BaseUrlHttp: IsUnset,

Optional (Some / Option setters). Optional base URL override for HTTP API.

Source

pub fn base_url_ws( self, value: String, ) -> BinanceExecutionClientConfigBuilder<SetBaseUrlWs<S>>
where S::BaseUrlWs: IsUnset,

Optional (Some / Option setters). Optional base URL override for WebSocket user data stream.

Live USD-M Futures stream overrides are normalized onto the /private/ws route.

Source

pub fn maybe_base_url_ws( self, value: Option<String>, ) -> BinanceExecutionClientConfigBuilder<SetBaseUrlWs<S>>
where S::BaseUrlWs: IsUnset,

Optional (Some / Option setters). Optional base URL override for WebSocket user data stream.

Live USD-M Futures stream overrides are normalized onto the /private/ws route.

Source

pub fn base_url_ws_trading( self, value: String, ) -> BinanceExecutionClientConfigBuilder<SetBaseUrlWsTrading<S>>
where S::BaseUrlWsTrading: IsUnset,

Optional (Some / Option setters). Optional base URL override for WebSocket trading API (Spot and USD-M Futures).

Source

pub fn maybe_base_url_ws_trading( self, value: Option<String>, ) -> BinanceExecutionClientConfigBuilder<SetBaseUrlWsTrading<S>>
where S::BaseUrlWsTrading: IsUnset,

Optional (Some / Option setters). Optional base URL override for WebSocket trading API (Spot and USD-M Futures).

Source

pub fn use_ws_trading( self, value: bool, ) -> BinanceExecutionClientConfigBuilder<SetUseWsTrading<S>>
where S::UseWsTrading: IsUnset,

Optional (Some / Option setters). Default: true.

Whether to use the WebSocket trading API for order operations (Spot and USD-M Futures).

Source

pub fn maybe_use_ws_trading( self, value: Option<bool>, ) -> BinanceExecutionClientConfigBuilder<SetUseWsTrading<S>>
where S::UseWsTrading: IsUnset,

Optional (Some / Option setters). Default: true.

Whether to use the WebSocket trading API for order operations (Spot and USD-M Futures).

Source

pub fn ws_trading_setup_timeout_ms( self, value: u64, ) -> BinanceExecutionClientConfigBuilder<SetWsTradingSetupTimeoutMs<S>>
where S::WsTradingSetupTimeoutMs: IsUnset,

Optional (Some / Option setters). Default: 10_000.

Timeout in milliseconds for each Binance Spot WS trading setup response.

Source

pub fn maybe_ws_trading_setup_timeout_ms( self, value: Option<u64>, ) -> BinanceExecutionClientConfigBuilder<SetWsTradingSetupTimeoutMs<S>>
where S::WsTradingSetupTimeoutMs: IsUnset,

Optional (Some / Option setters). Default: 10_000.

Timeout in milliseconds for each Binance Spot WS trading setup response.

Source

pub fn instrument_provider( self, value: BinanceInstrumentProviderConfig, ) -> BinanceExecutionClientConfigBuilder<SetInstrumentProvider<S>>
where S::InstrumentProvider: IsUnset,

Optional (Some / Option setters). Default: <BinanceInstrumentProviderConfig as Default>::default().

Instrument loading and fee configuration.

Source

pub fn maybe_instrument_provider( self, value: Option<BinanceInstrumentProviderConfig>, ) -> BinanceExecutionClientConfigBuilder<SetInstrumentProvider<S>>
where S::InstrumentProvider: IsUnset,

Optional (Some / Option setters). Default: <BinanceInstrumentProviderConfig as Default>::default().

Instrument loading and fee configuration.

Source

pub fn instrument_refresh_interval_secs( self, value: u64, ) -> BinanceExecutionClientConfigBuilder<SetInstrumentRefreshIntervalSecs<S>>
where S::InstrumentRefreshIntervalSecs: IsUnset,

Optional (Some / Option setters). Default: 3600.

Interval in seconds for refreshing the execution instrument cache.

Set to 0 to disable. Defaults to 3600 (60 minutes).

Source

pub fn maybe_instrument_refresh_interval_secs( self, value: Option<u64>, ) -> BinanceExecutionClientConfigBuilder<SetInstrumentRefreshIntervalSecs<S>>
where S::InstrumentRefreshIntervalSecs: IsUnset,

Optional (Some / Option setters). Default: 3600.

Interval in seconds for refreshing the execution instrument cache.

Set to 0 to disable. Defaults to 3600 (60 minutes).

Source

pub fn use_gtd( self, value: bool, ) -> BinanceExecutionClientConfigBuilder<SetUseGtd<S>>
where S::UseGtd: IsUnset,

Optional (Some / Option setters). Default: true.

Whether to use Binance-native GTD orders.

Set to false only when the strategy manages GTD expiry locally. The adapter then maps GTD to GTC and the strategy must enable manage_gtd_expiry.

Source

pub fn maybe_use_gtd( self, value: Option<bool>, ) -> BinanceExecutionClientConfigBuilder<SetUseGtd<S>>
where S::UseGtd: IsUnset,

Optional (Some / Option setters). Default: true.

Whether to use Binance-native GTD orders.

Set to false only when the strategy manages GTD expiry locally. The adapter then maps GTD to GTC and the strategy must enable manage_gtd_expiry.

Source

pub fn use_position_ids( self, value: bool, ) -> BinanceExecutionClientConfigBuilder<SetUsePositionIds<S>>
where S::UsePositionIds: IsUnset,

Optional (Some / Option setters). Default: true.

Whether to use canonical Binance Futures position IDs.

When true, Futures hedge-mode order and fill reports include a venue_position_id derived from the instrument and Binance position side (e.g. ETHUSDT-PERP.BINANCE-LONG). Hedge-mode REST position reports use the same IDs. One-way BOTH reports remain unkeyed. When false, venue_position_id is None, allowing virtual positions with OmsType::Hedging.

Source

pub fn maybe_use_position_ids( self, value: Option<bool>, ) -> BinanceExecutionClientConfigBuilder<SetUsePositionIds<S>>
where S::UsePositionIds: IsUnset,

Optional (Some / Option setters). Default: true.

Whether to use canonical Binance Futures position IDs.

When true, Futures hedge-mode order and fill reports include a venue_position_id derived from the instrument and Binance position side (e.g. ETHUSDT-PERP.BINANCE-LONG). Hedge-mode REST position reports use the same IDs. One-way BOTH reports remain unkeyed. When false, venue_position_id is None, allowing virtual positions with OmsType::Hedging.

Source

pub fn oms_type( self, value: OmsType, ) -> BinanceExecutionClientConfigBuilder<SetOmsType<S>>
where S::OmsType: IsUnset,

Optional (Some / Option setters). Optional OMS type override for Binance Futures accounts.

Set to Hedging when the account uses dual-side position mode. When None, Binance Futures clients use Netting. Ignored for Spot clients.

Source

pub fn maybe_oms_type( self, value: Option<OmsType>, ) -> BinanceExecutionClientConfigBuilder<SetOmsType<S>>
where S::OmsType: IsUnset,

Optional (Some / Option setters). Optional OMS type override for Binance Futures accounts.

Set to Hedging when the account uses dual-side position mode. When None, Binance Futures clients use Netting. Ignored for Spot clients.

Source

pub fn default_taker_fee( self, value: Decimal, ) -> BinanceExecutionClientConfigBuilder<SetDefaultTakerFee<S>>
where S::DefaultTakerFee: IsUnset,

Optional (Some / Option setters). Default: Decimal::new(4, 4).

Default taker fee rate for commission estimation.

Used as a fallback when the venue omits commission fields in exchange-generated fills (liquidation, ADL, settlement). Standard Binance Futures taker fee is 0.0004 (0.04%).

Source

pub fn maybe_default_taker_fee( self, value: Option<Decimal>, ) -> BinanceExecutionClientConfigBuilder<SetDefaultTakerFee<S>>
where S::DefaultTakerFee: IsUnset,

Optional (Some / Option setters). Default: Decimal::new(4, 4).

Default taker fee rate for commission estimation.

Used as a fallback when the venue omits commission fields in exchange-generated fills (liquidation, ADL, settlement). Standard Binance Futures taker fee is 0.0004 (0.04%).

Source

pub fn proxy_url( self, value: String, ) -> BinanceExecutionClientConfigBuilder<SetProxyUrl<S>>
where S::ProxyUrl: IsUnset,

Optional (Some / Option setters). Optional proxy URL for HTTP and WebSocket transports.

Source

pub fn maybe_proxy_url( self, value: Option<String>, ) -> BinanceExecutionClientConfigBuilder<SetProxyUrl<S>>
where S::ProxyUrl: IsUnset,

Optional (Some / Option setters). Optional proxy URL for HTTP and WebSocket transports.

Source

pub fn recv_window_ms( self, value: u64, ) -> BinanceExecutionClientConfigBuilder<SetRecvWindowMs<S>>
where S::RecvWindowMs: IsUnset,

Optional (Some / Option setters). Default: 5_000.

Receive window in milliseconds for signed HTTP requests.

Source

pub fn maybe_recv_window_ms( self, value: Option<u64>, ) -> BinanceExecutionClientConfigBuilder<SetRecvWindowMs<S>>
where S::RecvWindowMs: IsUnset,

Optional (Some / Option setters). Default: 5_000.

Receive window in milliseconds for signed HTTP requests.

Source

pub fn us(self, value: bool) -> BinanceExecutionClientConfigBuilder<SetUs<S>>
where S::Us: IsUnset,

Optional (Some / Option setters). Default: false.

Whether to route this Spot client to Binance US.

Source

pub fn maybe_us( self, value: Option<bool>, ) -> BinanceExecutionClientConfigBuilder<SetUs<S>>
where S::Us: IsUnset,

Optional (Some / Option setters). Default: false.

Whether to route this Spot client to Binance US.

Source

pub fn api_key( self, value: String, ) -> BinanceExecutionClientConfigBuilder<SetApiKey<S>>
where S::ApiKey: IsUnset,

Optional (Some / Option setters). API key (uses an environment variable if not provided).

Source

pub fn maybe_api_key( self, value: Option<String>, ) -> BinanceExecutionClientConfigBuilder<SetApiKey<S>>
where S::ApiKey: IsUnset,

Optional (Some / Option setters). API key (uses an environment variable if not provided).

Source

pub fn api_secret( self, value: String, ) -> BinanceExecutionClientConfigBuilder<SetApiSecret<S>>
where S::ApiSecret: IsUnset,

Optional (Some / Option setters). API secret (Ed25519 for Global or HMAC for Binance US).

Source

pub fn maybe_api_secret( self, value: Option<String>, ) -> BinanceExecutionClientConfigBuilder<SetApiSecret<S>>
where S::ApiSecret: IsUnset,

Optional (Some / Option setters). API secret (Ed25519 for Global or HMAC for Binance US).

Source

pub fn futures_leverages( self, value: HashMap<String, u32>, ) -> BinanceExecutionClientConfigBuilder<SetFuturesLeverages<S>>
where S::FuturesLeverages: IsUnset,

Optional (Some / Option setters). Initial leverage per Binance symbol (e.g. BTCUSDT -> 20), applied during connect.

Source

pub fn maybe_futures_leverages( self, value: Option<HashMap<String, u32>>, ) -> BinanceExecutionClientConfigBuilder<SetFuturesLeverages<S>>
where S::FuturesLeverages: IsUnset,

Optional (Some / Option setters). Initial leverage per Binance symbol (e.g. BTCUSDT -> 20), applied during connect.

Source

pub fn futures_margin_types( self, value: HashMap<String, BinanceMarginType>, ) -> BinanceExecutionClientConfigBuilder<SetFuturesMarginTypes<S>>
where S::FuturesMarginTypes: IsUnset,

Optional (Some / Option setters). Margin type per Binance symbol (e.g. BTCUSDT -> Cross), applied during connect.

Source

pub fn maybe_futures_margin_types( self, value: Option<HashMap<String, BinanceMarginType>>, ) -> BinanceExecutionClientConfigBuilder<SetFuturesMarginTypes<S>>
where S::FuturesMarginTypes: IsUnset,

Optional (Some / Option setters). Margin type per Binance symbol (e.g. BTCUSDT -> Cross), applied during connect.

Source

pub fn bnfcr_currency( self, value: Currency, ) -> BinanceExecutionClientConfigBuilder<SetBnfcrCurrency<S>>
where S::BnfcrCurrency: IsUnset,

Optional (Some / Option setters). Default: Currency::USDT().

Currency that Binance Futures Credits (BNFCR) balances and fees resolve to (defaults to USDT).

Source

pub fn maybe_bnfcr_currency( self, value: Option<Currency>, ) -> BinanceExecutionClientConfigBuilder<SetBnfcrCurrency<S>>
where S::BnfcrCurrency: IsUnset,

Optional (Some / Option setters). Default: Currency::USDT().

Currency that Binance Futures Credits (BNFCR) balances and fees resolve to (defaults to USDT).

Source

pub fn treat_expired_as_canceled( self, value: bool, ) -> BinanceExecutionClientConfigBuilder<SetTreatExpiredAsCanceled<S>>
where S::TreatExpiredAsCanceled: IsUnset,

Optional (Some / Option setters). Default: false.

If true, the EXPIRED execution type emits OrderCanceled instead of OrderExpired.

Binance uses EXPIRED for certain cancel scenarios depending on order type and time-in-force combination.

Source

pub fn maybe_treat_expired_as_canceled( self, value: Option<bool>, ) -> BinanceExecutionClientConfigBuilder<SetTreatExpiredAsCanceled<S>>
where S::TreatExpiredAsCanceled: IsUnset,

Optional (Some / Option setters). Default: false.

If true, the EXPIRED execution type emits OrderCanceled instead of OrderExpired.

Binance uses EXPIRED for certain cancel scenarios depending on order type and time-in-force combination.

Source

pub fn use_trade_lite( self, value: bool, ) -> BinanceExecutionClientConfigBuilder<SetUseTradeLite<S>>
where S::UseTradeLite: IsUnset,

Optional (Some / Option setters). Default: false.

If true, drive fills from the lower-latency TRADE_LITE user data event and dedup the matching fill portion of ORDER_TRADE_UPDATE. If false, TRADE_LITE events are ignored and fills come from ORDER_TRADE_UPDATE.

Source

pub fn maybe_use_trade_lite( self, value: Option<bool>, ) -> BinanceExecutionClientConfigBuilder<SetUseTradeLite<S>>
where S::UseTradeLite: IsUnset,

Optional (Some / Option setters). Default: false.

If true, drive fills from the lower-latency TRADE_LITE user data event and dedup the matching fill portion of ORDER_TRADE_UPDATE. If false, TRADE_LITE events are ignored and fills come from ORDER_TRADE_UPDATE.

Source

pub fn transport_backend( self, value: TransportBackend, ) -> BinanceExecutionClientConfigBuilder<SetTransportBackend<S>>
where S::TransportBackend: IsUnset,

Optional (Some / Option setters). Default: <TransportBackend as Default>::default().

WebSocket transport backend (defaults to Tungstenite).

Source

pub fn maybe_transport_backend( self, value: Option<TransportBackend>, ) -> BinanceExecutionClientConfigBuilder<SetTransportBackend<S>>
where S::TransportBackend: IsUnset,

Optional (Some / Option setters). Default: <TransportBackend as Default>::default().

WebSocket transport backend (defaults to Tungstenite).

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Ungil for T
where T: Send,

§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more