pub struct KrakenExecutionClientConfig {Show 20 fields
pub account_id: AccountId,
pub api_key: String,
pub api_secret: String,
pub product_type: KrakenProductType,
pub environment: KrakenEnvironment,
pub base_url: Option<String>,
pub ws_url: Option<String>,
pub proxy_url: Option<String>,
pub timeout_secs: u64,
pub heartbeat_interval_secs: u64,
pub auth_timeout_secs: Option<u64>,
pub max_requests_per_second: Option<u32>,
pub transport_backend: TransportBackend,
pub spot_account_type: AccountType,
pub default_leverage: Option<u16>,
pub use_spot_position_reports: bool,
pub spot_positions_quote_currency: String,
pub margin_balance_asset: Option<String>,
pub use_ws_trade: bool,
pub ws_request_timeout_secs: u64,
}Expand description
Configuration for the Kraken execution client.
Fields§
§account_id: AccountId§api_key: String§api_secret: String§product_type: KrakenProductType§environment: KrakenEnvironment§base_url: Option<String>§ws_url: Option<String>§proxy_url: Option<String>Optional proxy URL for HTTP and WebSocket transports.
timeout_secs: u64§heartbeat_interval_secs: u64§auth_timeout_secs: Option<u64>Optional WebSocket authentication timeout (seconds), defaulting to
AUTHENTICATION_TIMEOUT_SECS when unset (Kraken Futures login).
max_requests_per_second: Option<u32>§transport_backend: TransportBackend§spot_account_type: AccountTypeAccount 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).
default_leverage: Option<u16>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).
use_spot_position_reports: boolWhether 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.
spot_positions_quote_currency: StringQuote currency used for synthetic spot position reports.
Only relevant when use_spot_position_reports is true.
margin_balance_asset: Option<String>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.
use_ws_trade: boolUse 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.
ws_request_timeout_secs: u64Timeout in seconds for WebSocket order responses.
Timeouts preserve request correlation until a matching response or shutdown,
without emitting a terminal event. submit_order and submit_order_list
also send a best-effort compensating cancel.
Implementations§
Source§impl KrakenExecutionClientConfig
impl KrakenExecutionClientConfig
Sourcepub fn builder() -> KrakenExecutionClientConfigBuilder
pub fn builder() -> KrakenExecutionClientConfigBuilder
Create an instance of KrakenExecutionClientConfig using the builder syntax
Source§impl KrakenExecutionClientConfig
impl KrakenExecutionClientConfig
Trait Implementations§
Source§impl ClientConfig for KrakenExecutionClientConfig
impl ClientConfig for KrakenExecutionClientConfig
Source§impl Clone for KrakenExecutionClientConfig
impl Clone for KrakenExecutionClientConfig
Source§fn clone(&self) -> KrakenExecutionClientConfig
fn clone(&self) -> KrakenExecutionClientConfig
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 KrakenExecutionClientConfig
impl Debug for KrakenExecutionClientConfig
impl DerefToPyAny for KrakenExecutionClientConfig
Source§impl<'de> Deserialize<'de> for KrakenExecutionClientConfigwhere
KrakenExecutionClientConfig: Default,
impl<'de> Deserialize<'de> for KrakenExecutionClientConfigwhere
KrakenExecutionClientConfig: 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 KrakenExecutionClientConfigwhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for KrakenExecutionClientConfigwhere
Self: Clone,
Source§impl<'py> IntoPyObject<'py> for KrakenExecutionClientConfig
impl<'py> IntoPyObject<'py> for KrakenExecutionClientConfig
Source§type Target = KrakenExecutionClientConfig
type Target = KrakenExecutionClientConfig
Source§type Output = Bound<'py, <KrakenExecutionClientConfig as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <KrakenExecutionClientConfig 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 KrakenExecutionClientConfig
impl PyClass for KrakenExecutionClientConfig
Source§impl PyClassImpl for KrakenExecutionClientConfig
impl PyClassImpl for KrakenExecutionClientConfig
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 Kraken execution client.
const RAW_DOC: &'static CStr = /// Configuration for the Kraken execution client.
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type Layout = <<KrakenExecutionClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<KrakenExecutionClientConfig>
type Layout = <<KrakenExecutionClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<KrakenExecutionClientConfig>
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
type Inventory = Pyo3MethodsInventoryForKrakenExecutionClientConfig
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 KrakenExecutionClientConfig
impl PyClassNewTextSignature for KrakenExecutionClientConfig
const TEXT_SIGNATURE: &'static str = "(account_id, api_key, api_secret, product_type=None, environment=None, base_url=None, ws_url=None, proxy_url=None, timeout_secs=None, heartbeat_interval_secs=None, auth_timeout_secs=None, max_requests_per_second=None, spot_account_type=None, default_leverage=None, use_spot_position_reports=None, spot_positions_quote_currency=None, margin_balance_asset=None, use_ws_trade=None, ws_request_timeout_secs=None, transport_backend=None)"
Source§impl PyStubType for KrakenExecutionClientConfig
impl PyStubType for KrakenExecutionClientConfig
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
§fn type_input() -> TypeInfo
fn type_input() -> TypeInfo
Source§impl PyTypeInfo for KrakenExecutionClientConfig
impl PyTypeInfo for KrakenExecutionClientConfig
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 KrakenExecutionClientConfig
impl RefUnwindSafe for KrakenExecutionClientConfig
impl Send for KrakenExecutionClientConfig
impl Sync for KrakenExecutionClientConfig
impl Unpin for KrakenExecutionClientConfig
impl UnsafeUnpin for KrakenExecutionClientConfig
impl UnwindSafe for KrakenExecutionClientConfig
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> 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