Skip to main content

KrakenExecClientConfigBuilder

Struct KrakenExecClientConfigBuilder 

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

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

Implementations§

Source§

impl<S: State> KrakenExecClientConfigBuilder<S>

Source

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

Finish building and return the requested object

Source

pub fn trader_id( self, value: TraderId, ) -> KrakenExecClientConfigBuilder<SetTraderId<S>>
where S::TraderId: IsUnset,

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

Source

pub fn maybe_trader_id( self, value: Option<TraderId>, ) -> KrakenExecClientConfigBuilder<SetTraderId<S>>
where S::TraderId: IsUnset,

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

Source

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

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

Source

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

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

Source

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

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

Source

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

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

Source

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

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

Source

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

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

Source

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

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

Source

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

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

Source

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

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

Source

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

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

Source

pub fn base_url( self, value: String, ) -> KrakenExecClientConfigBuilder<SetBaseUrl<S>>
where S::BaseUrl: IsUnset,

Optional (Some / Option setters).

Source

pub fn maybe_base_url( self, value: Option<String>, ) -> KrakenExecClientConfigBuilder<SetBaseUrl<S>>
where S::BaseUrl: IsUnset,

Optional (Some / Option setters).

Source

pub fn ws_url(self, value: String) -> KrakenExecClientConfigBuilder<SetWsUrl<S>>
where S::WsUrl: IsUnset,

Optional (Some / Option setters).

Source

pub fn maybe_ws_url( self, value: Option<String>, ) -> KrakenExecClientConfigBuilder<SetWsUrl<S>>
where S::WsUrl: IsUnset,

Optional (Some / Option setters).

Source

pub fn proxy_url( self, value: String, ) -> KrakenExecClientConfigBuilder<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>, ) -> KrakenExecClientConfigBuilder<SetProxyUrl<S>>
where S::ProxyUrl: IsUnset,

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

Source

pub fn timeout_secs( self, value: u64, ) -> KrakenExecClientConfigBuilder<SetTimeoutSecs<S>>
where S::TimeoutSecs: IsUnset,

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

Source

pub fn maybe_timeout_secs( self, value: Option<u64>, ) -> KrakenExecClientConfigBuilder<SetTimeoutSecs<S>>
where S::TimeoutSecs: IsUnset,

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

Source

pub fn heartbeat_interval_secs( self, value: u64, ) -> KrakenExecClientConfigBuilder<SetHeartbeatIntervalSecs<S>>
where S::HeartbeatIntervalSecs: IsUnset,

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

Source

pub fn maybe_heartbeat_interval_secs( self, value: Option<u64>, ) -> KrakenExecClientConfigBuilder<SetHeartbeatIntervalSecs<S>>
where S::HeartbeatIntervalSecs: IsUnset,

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

Source

pub fn max_requests_per_second( self, value: u32, ) -> KrakenExecClientConfigBuilder<SetMaxRequestsPerSecond<S>>
where S::MaxRequestsPerSecond: IsUnset,

Optional (Some / Option setters).

Source

pub fn maybe_max_requests_per_second( self, value: Option<u32>, ) -> KrakenExecClientConfigBuilder<SetMaxRequestsPerSecond<S>>
where S::MaxRequestsPerSecond: IsUnset,

Optional (Some / Option setters).

Source

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

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

Source

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

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

Source

pub fn spot_account_type( self, value: AccountType, ) -> KrakenExecClientConfigBuilder<SetSpotAccountType<S>>
where S::SpotAccountType: IsUnset,

Optional (Some / Option setters). Default: AccountType::Cash.

Account type for spot trading (Cash or Margin).

When set to Margin, the adapter calls TradeBalance for margin reporting and OpenPositions for position reconciliation. Per-order leverage is set via SubmitOrder.params["leverage"] (u16 multiplier).

Source

pub fn maybe_spot_account_type( self, value: Option<AccountType>, ) -> KrakenExecClientConfigBuilder<SetSpotAccountType<S>>
where S::SpotAccountType: IsUnset,

Optional (Some / Option setters). Default: AccountType::Cash.

Account type for spot trading (Cash or Margin).

When set to Margin, the adapter calls TradeBalance for margin reporting and OpenPositions for position reconciliation. Per-order leverage is set via SubmitOrder.params["leverage"] (u16 multiplier).

Source

pub fn default_leverage( self, value: u16, ) -> KrakenExecClientConfigBuilder<SetDefaultLeverage<S>>
where S::DefaultLeverage: IsUnset,

Optional (Some / Option setters). Default leverage multiplier for spot margin orders when not overridden per-order.

Sent as "N:1" to Kraken (e.g., 3 becomes "3:1"). Valid tiers per pair are in AssetPairInfo.leverage_buy / leverage_sell. None means cash orders (no leverage field sent).

Source

pub fn maybe_default_leverage( self, value: Option<u16>, ) -> KrakenExecClientConfigBuilder<SetDefaultLeverage<S>>
where S::DefaultLeverage: IsUnset,

Optional (Some / Option setters). Default leverage multiplier for spot margin orders when not overridden per-order.

Sent as "N:1" to Kraken (e.g., 3 becomes "3:1"). Valid tiers per pair are in AssetPairInfo.leverage_buy / leverage_sell. None means cash orders (no leverage field sent).

Source

pub fn use_spot_position_reports( self, value: bool, ) -> KrakenExecClientConfigBuilder<SetUseSpotPositionReports<S>>
where S::UseSpotPositionReports: IsUnset,

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

Whether to generate PositionStatusReports from spot wallet balances.

Set true for spot-only (cash) accounts that need position tracking from balance snapshots. For margin accounts leave false; positions are reconciled via OpenPositions instead.

Source

pub fn maybe_use_spot_position_reports( self, value: Option<bool>, ) -> KrakenExecClientConfigBuilder<SetUseSpotPositionReports<S>>
where S::UseSpotPositionReports: IsUnset,

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

Whether to generate PositionStatusReports from spot wallet balances.

Set true for spot-only (cash) accounts that need position tracking from balance snapshots. For margin accounts leave false; positions are reconciled via OpenPositions instead.

Source

pub fn spot_positions_quote_currency( self, value: String, ) -> KrakenExecClientConfigBuilder<SetSpotPositionsQuoteCurrency<S>>
where S::SpotPositionsQuoteCurrency: IsUnset,

Optional (Some / Option setters). Default: "USDT".to_string().

Quote currency used for synthetic spot position reports.

Only relevant when use_spot_position_reports is true.

Source

pub fn maybe_spot_positions_quote_currency( self, value: Option<String>, ) -> KrakenExecClientConfigBuilder<SetSpotPositionsQuoteCurrency<S>>
where S::SpotPositionsQuoteCurrency: IsUnset,

Optional (Some / Option setters). Default: "USDT".to_string().

Quote currency used for synthetic spot position reports.

Only relevant when use_spot_position_reports is true.

Source

pub fn margin_balance_asset( self, value: String, ) -> KrakenExecClientConfigBuilder<SetMarginBalanceAsset<S>>
where S::MarginBalanceAsset: IsUnset,

Optional (Some / Option setters). Summary-display asset for TradeBalance margin metrics.

Controls the denomination of equity, free margin, used margin, and other summary figures returned by Kraken’s TradeBalance endpoint (e.g. "ZUSD", "ZGBP", "ZEUR", "USDT"). None lets Kraken default to ZUSD. Display-only: Kraken converts internally; per-position figures from OpenPositions remain in the traded pair’s quote currency.

Source

pub fn maybe_margin_balance_asset( self, value: Option<String>, ) -> KrakenExecClientConfigBuilder<SetMarginBalanceAsset<S>>
where S::MarginBalanceAsset: IsUnset,

Optional (Some / Option setters). Summary-display asset for TradeBalance margin metrics.

Controls the denomination of equity, free margin, used margin, and other summary figures returned by Kraken’s TradeBalance endpoint (e.g. "ZUSD", "ZGBP", "ZEUR", "USDT"). None lets Kraken default to ZUSD. Display-only: Kraken converts internally; per-position figures from OpenPositions remain in the traded pair’s quote currency.

Source

pub fn use_ws_trade( self, value: bool, ) -> KrakenExecClientConfigBuilder<SetUseWsTrade<S>>
where S::UseWsTrade: IsUnset,

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

Use WebSocket v2 for order submission, modification, and cancellation.

When true (default), submit_order, modify_order, cancel_order, and submit_order_list route through the authenticated WebSocket connection when active, falling back to REST when the WebSocket is inactive. When false, all order operations use REST only.

Source

pub fn maybe_use_ws_trade( self, value: Option<bool>, ) -> KrakenExecClientConfigBuilder<SetUseWsTrade<S>>
where S::UseWsTrade: IsUnset,

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

Use WebSocket v2 for order submission, modification, and cancellation.

When true (default), submit_order, modify_order, cancel_order, and submit_order_list route through the authenticated WebSocket connection when active, falling back to REST when the WebSocket is inactive. When false, all order operations use REST only.

Source

pub fn ws_request_timeout_secs( self, value: u64, ) -> KrakenExecClientConfigBuilder<SetWsRequestTimeoutSecs<S>>
where S::WsRequestTimeoutSecs: IsUnset,

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

Timeout in seconds for WebSocket order responses.

Submit, amend, and batch-add timeouts emit rejection events. Cancel timeouts log and await reconciliation.

Source

pub fn maybe_ws_request_timeout_secs( self, value: Option<u64>, ) -> KrakenExecClientConfigBuilder<SetWsRequestTimeoutSecs<S>>
where S::WsRequestTimeoutSecs: IsUnset,

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

Timeout in seconds for WebSocket order responses.

Submit, amend, and batch-add timeouts emit rejection events. Cancel timeouts log and await reconciliation.

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 = Infallible

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