Skip to main content

LighterExecutionClientConfig

Struct LighterExecutionClientConfig 

Source
pub struct LighterExecutionClientConfig {
Show 18 fields pub environment: LighterEnvironment, pub deployment: LighterDeployment, pub venue: Option<Venue>, pub account_id: AccountId, pub account_index: Option<u64>, pub api_key_index: Option<u8>, pub private_key: Option<SecretString>, pub base_url_http: Option<String>, pub base_url_ws: Option<String>, pub proxy_url: Option<SecretString>, pub http_timeout_secs: u64, pub ws_timeout_secs: u64, pub market_order_slippage_bps: u32, pub rest_quota_per_min: Option<u32>, pub sendtx_quota_per_min: Option<u32>, pub transport_backend: TransportBackend, pub use_gtd: bool, pub scheduled_cancel_timeout_secs: Option<u64>,
}
Expand description

Configuration for the Lighter execution client.

Fields§

§environment: LighterEnvironment

Target environment within the selected deployment.

§deployment: LighterDeployment

Lighter protocol deployment, which controls endpoint defaults and protocol settings.

§venue: Option<Venue>

Optional Nautilus venue identifier override.

This scopes instruments, cache entries, and execution routing without changing the deployment’s signing, settlement, or protocol behavior.

§account_id: AccountId

Account identifier on the venue. Its issuer must match the resolved venue.

§account_index: Option<u64>

Lighter account index (numeric, assigned at registration). Falls back to the environment variable selected by deployment and environment.

§api_key_index: Option<u8>

API key index for a user-created Lighter key. Low indexes are reserved for Lighter clients; 255 is the apikeys all-keys sentinel. Falls back to the environment variable selected by deployment and environment.

§private_key: Option<SecretString>

Hex-encoded private key for the API key (Schnorr / ecgfp5). Falls back to the environment variable selected by deployment and environment.

§base_url_http: Option<String>

Optional REST URL override.

§base_url_ws: Option<String>

Optional WebSocket URL override.

§proxy_url: Option<SecretString>

Optional proxy URL for HTTP and WebSocket transports.

§http_timeout_secs: u64

HTTP request timeout in seconds.

§ws_timeout_secs: u64

WebSocket connection and reconnection timeout in seconds.

§market_order_slippage_bps: u32

Slippage buffer in basis points for market-style orders.

§rest_quota_per_min: Option<u32>

Optional REST read-bucket quota override in requests per minute; unset keeps the conservative 60 req/min default (raising it requires venue IP registration).

§sendtx_quota_per_min: Option<u32>

Optional transaction quota override (req/min), independent of rest_quota_per_min; unset keeps 60. Enforced across the HTTP and WebSocket sendTx paths (execution only).

§transport_backend: TransportBackend

WebSocket transport backend.

§use_gtd: bool

Whether to use Lighter-native GTD orders.

The current Lighter venue validation requires a GoodTillTime expiry of at least five minutes, so a shorter strategy GTD lifetime cannot be represented as an explicit venue expiry. Set to false only when the strategy manages GTD expiry locally. Lighter then uses a 28-day fallback expiry and the strategy must enable manage_gtd_expiry so the local expiry timer sends the cancel. Local strategy expiries beyond 28 days are denied because the fallback would expire first; use native GTD for those orders.

§scheduled_cancel_timeout_secs: Option<u64>

Arms and renews account-wide scheduled cancellation with this timeout in seconds.

Valid values are [420, 1_295_940]. None leaves the venue schedule untouched. Connection fails if arming does not execute within 30 seconds after account streams are ready. Shutdown stops renewal and preserves the last deadline. Scheduled cancellation does not close positions.

Implementations§

Source§

impl LighterExecutionClientConfig

Source

pub fn builder() -> LighterExecutionClientConfigBuilder

Create an instance of LighterExecutionClientConfig using the builder syntax

Source§

impl LighterExecutionClientConfig

Source

pub fn has_credentials(&self) -> bool

Returns true when all fields required to sign and submit authenticated transactions are configured.

Lighter signing requires the private key, the account index, and the API key index together; any missing field invalidates the credential.

Source

pub fn http_url(&self) -> String

Returns the resolved REST base URL.

Source

pub fn ws_url(&self) -> String

Returns the resolved WebSocket URL.

Source

pub fn resolved_venue(&self) -> Venue

Returns the configured venue or the deployment default.

Source

pub fn settlement_currency(&self) -> Currency

Returns the deployment settlement currency.

Source

pub const fn chain_id(&self) -> u32

Returns the L2 signing-domain chain ID for the deployment and environment.

Trait Implementations§

Source§

impl ClientConfig for LighterExecutionClientConfig

Source§

fn as_any(&self) -> &dyn Any

Return the configuration as a trait object.
Source§

impl Clone for LighterExecutionClientConfig

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LighterExecutionClientConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for LighterExecutionClientConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl DerefToPyAny for LighterExecutionClientConfig

Source§

impl<'de> Deserialize<'de> for LighterExecutionClientConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<'a, 'py> FromPyObject<'a, 'py> for LighterExecutionClientConfig
where Self: Clone,

Source§

type Error = PyClassGuardError<'a, 'py>

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

fn extract( obj: Borrowed<'a, 'py, PyAny>, ) -> Result<Self, <Self as FromPyObject<'a, 'py>>::Error>

Extracts Self from the bound smart pointer obj. Read more
Source§

impl<'py> IntoPyObject<'py> for LighterExecutionClientConfig

Source§

type Target = LighterExecutionClientConfig

The Python output type
Source§

type Output = Bound<'py, LighterExecutionClientConfig>

The smart pointer type to use. Read more
Source§

type Error = PyErr

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

fn into_pyobject(self, py: Python<'py>) -> PyResult<Bound<'py, Self>>

Performs the conversion.
Source§

impl PyClass for LighterExecutionClientConfig

Source§

const NAME: &str = "LighterExecutionClientConfig"

Name of the class. Read more
Source§

type Frozen = False

Whether the pyclass is frozen. Read more
Source§

impl PyClassImpl for LighterExecutionClientConfig

Source§

const MODULE: Option<&str>

Module which the class will be associated with. Read more
Source§

const RAW_DOC: &'static CStr = /// Configuration for the Lighter execution client.

Docstring for the class provided on the struct or enum. Read more
Source§

const DOC: &'static CStr

Fully rendered class doc, including the text_signature if a constructor is defined. Read more
Source§

type Layout = <<LighterExecutionClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<LighterExecutionClientConfig>

Description of how this class is laid out in memory
Source§

type BaseType = PyAny

Base class
Source§

type ThreadChecker = NoopThreadChecker

This handles following two situations: Read more
Source§

type Inventory = Pyo3MethodsInventoryForLighterExecutionClientConfig

Source§

type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild

Immutable or mutable
Source§

type Dict = PyClassDummySlot

Specify this class has #[pyclass(dict)] or not.
Source§

type WeakRef = PyClassDummySlot

Specify this class has #[pyclass(weakref)] or not.
Source§

type BaseNativeType = PyAny

The closest native ancestor. This is PyAny by default, and when you declare #[pyclass(extends=PyDict)], it’s PyDict.
Source§

fn items_iter() -> PyClassItemsIter

Source§

fn lazy_type_object() -> &'static LazyTypeObject<Self>

Source§

fn __traverse__(&self, visit: PyVisit<'_>) -> Result<(), PyTraverseError>

§

const IS_BASETYPE: bool = false

#[pyclass(subclass)]
§

const IS_SUBCLASS: bool = false

#[pyclass(extends=…)]
§

const IS_MAPPING: bool = false

#[pyclass(mapping)]
§

const IS_SEQUENCE: bool = false

#[pyclass(sequence)]
§

const IS_IMMUTABLE_TYPE: bool = false

#[pyclass(immutable_type)]
§

fn dict_offset() -> Option<PyObjectOffset>

Used to provide the dictoffset slot (equivalent to tp_dictoffset)
§

fn weaklist_offset() -> Option<PyObjectOffset>

Used to provide the weaklistoffset slot (equivalent to tp_weaklistoffset
Source§

impl PyClassNewTextSignature for LighterExecutionClientConfig

Source§

const TEXT_SIGNATURE: &'static str = "(account_id, account_index=None, api_key_index=None, private_key=None, base_url_http=None, base_url_ws=None, proxy_url=None, environment=None, http_timeout_secs=None, ws_timeout_secs=None, market_order_slippage_bps=None, rest_quota_per_min=None, sendtx_quota_per_min=None, transport_backend=None, deployment=None, venue=None, use_gtd=True, scheduled_cancel_timeout_secs=None)"

Source§

impl PyStubType for LighterExecutionClientConfig

Source§

fn type_output() -> TypeInfo

The type to be used in the output signature, i.e. return type of the Python function or methods.
§

fn type_input() -> TypeInfo

The type to be used in the input signature, i.e. the arguments of the Python function or methods. Read more
Source§

impl PyTypeInfo for LighterExecutionClientConfig

Source§

fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject

Returns the PyTypeObject instance for this type.
§

fn type_object(py: Python<'_>) -> Bound<'_, PyType>

Returns the safe abstraction over the type object.
§

fn is_type_of(object: &Bound<'_, PyAny>) -> bool

Checks if object is an instance of this type or a subclass of this type.
§

fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool

Checks if object is an instance of this type.
Source§

impl Serialize for LighterExecutionClientConfig

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<'py, T> FromPyObjectOwned<'py> for T
where T: for<'a> FromPyObject<'a, 'py>,

§

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<'py, T> IntoPyObjectExt<'py> for T
where T: IntoPyObject<'py>,

§

fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>

Converts self into an owned Python object, dropping type information.
§

fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>

Converts 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>

Converts self into a Python object. Read more
§

impl<'py, T> IntoPyObjectNautilusExt<'py> for T
where T: IntoPyObjectExt<'py>,

§

fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
where Self: IntoPyObject<'py, Error = !>,

Converts self into a [Py<PyAny>] when the underlying conversion is infallible.
§

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> 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> PyErrArguments for T
where T: for<'py> IntoPyObject<'py> + Send + Sync,

§

fn arguments(self, py: Python<'_>) -> Py<PyAny>

Arguments for exception
§

impl<T> PyTypeCheck for T
where T: PyTypeInfo,

§

fn type_check(object: &Bound<'_, PyAny>) -> bool

Checks if object is an instance of Self, which may include a subtype. Read more
§

fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>

Returns the expected type as a possible argument for the isinstance and issubclass function. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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, !>

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