pub struct BlockchainExecutionClient { /* private fields */ }Expand description
Execution client for blockchain interactions including balance tracking and order execution.
Implementations§
Source§impl BlockchainExecutionClient
impl BlockchainExecutionClient
Sourcepub fn new(
core_client: ExecutionClientCore,
config: BlockchainExecutionClientConfig,
) -> Result<Self>
pub fn new( core_client: ExecutionClientCore, config: BlockchainExecutionClientConfig, ) -> Result<Self>
Creates a new BlockchainExecutionClient instance for the specified configuration.
§Errors
Returns an error if the wallet address or any token address in the config is invalid.
Trait Implementations§
Source§impl Debug for BlockchainExecutionClient
impl Debug for BlockchainExecutionClient
Source§impl ExecutionClient for BlockchainExecutionClient
impl ExecutionClient for BlockchainExecutionClient
fn is_connected(&self) -> bool
fn client_id(&self) -> ClientId
fn account_id(&self) -> AccountId
fn venue(&self) -> Venue
fn oms_type(&self) -> OmsType
fn get_account(&self) -> Option<AccountAny>
Source§fn generate_account_state(
&self,
_balances: Vec<AccountBalance>,
_margins: Vec<MarginBalance>,
_reported: bool,
_ts_event: UnixNanos,
) -> Result<()>
fn generate_account_state( &self, _balances: Vec<AccountBalance>, _margins: Vec<MarginBalance>, _reported: bool, _ts_event: UnixNanos, ) -> Result<()>
Generates and publishes the account state event. Read more
Source§fn submit_order(&self, _cmd: &SubmitOrder) -> Result<()>
fn submit_order(&self, _cmd: &SubmitOrder) -> Result<()>
Submits a single order command to the execution venue. Read more
Source§fn submit_order_list(&self, _cmd: &SubmitOrderList) -> Result<()>
fn submit_order_list(&self, _cmd: &SubmitOrderList) -> Result<()>
Submits a list of orders to the execution venue. Read more
Source§fn modify_order(&self, _cmd: &ModifyOrder) -> Result<()>
fn modify_order(&self, _cmd: &ModifyOrder) -> Result<()>
Modifies an existing order. Read more
Source§fn cancel_order(&self, _cmd: &CancelOrder) -> Result<()>
fn cancel_order(&self, _cmd: &CancelOrder) -> Result<()>
Cancels a specific order. Read more
Source§fn cancel_all_orders(&self, _cmd: &CancelAllOrders) -> Result<()>
fn cancel_all_orders(&self, _cmd: &CancelAllOrders) -> Result<()>
Cancels all orders. Read more
Source§fn batch_cancel_orders(&self, _cmd: &BatchCancelOrders) -> Result<()>
fn batch_cancel_orders(&self, _cmd: &BatchCancelOrders) -> Result<()>
Cancels a batch of orders. Read more
Source§fn query_account(&self, _cmd: &QueryAccount) -> Result<()>
fn query_account(&self, _cmd: &QueryAccount) -> Result<()>
Queries the status of an account. Read more
Source§fn query_order(&self, _cmd: &QueryOrder) -> Result<()>
fn query_order(&self, _cmd: &QueryOrder) -> Result<()>
Queries the status of an order. Read more
Source§impl LiveExecutionClient for BlockchainExecutionClient
impl LiveExecutionClient for BlockchainExecutionClient
Source§fn generate_order_status_report<'life0, 'life1, 'async_trait>(
&'life0 self,
_cmd: &'life1 GenerateOrderStatusReport,
) -> Pin<Box<dyn Future<Output = Result<Option<OrderStatusReport>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_order_status_report<'life0, 'life1, 'async_trait>(
&'life0 self,
_cmd: &'life1 GenerateOrderStatusReport,
) -> Pin<Box<dyn Future<Output = Result<Option<OrderStatusReport>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generates a single order status report. Read more
Source§fn generate_order_status_reports<'life0, 'life1, 'async_trait>(
&'life0 self,
_cmd: &'life1 GenerateOrderStatusReport,
) -> Pin<Box<dyn Future<Output = Result<Vec<OrderStatusReport>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_order_status_reports<'life0, 'life1, 'async_trait>(
&'life0 self,
_cmd: &'life1 GenerateOrderStatusReport,
) -> Pin<Box<dyn Future<Output = Result<Vec<OrderStatusReport>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generates multiple order status reports. Read more
Source§fn generate_fill_reports<'life0, 'async_trait>(
&'life0 self,
_cmd: GenerateFillReports,
) -> Pin<Box<dyn Future<Output = Result<Vec<FillReport>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn generate_fill_reports<'life0, 'async_trait>(
&'life0 self,
_cmd: GenerateFillReports,
) -> Pin<Box<dyn Future<Output = Result<Vec<FillReport>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Generates fill reports based on execution results. Read more
Source§fn generate_position_status_reports<'life0, 'life1, 'async_trait>(
&'life0 self,
_cmd: &'life1 GeneratePositionReports,
) -> Pin<Box<dyn Future<Output = Result<Vec<PositionStatusReport>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_position_status_reports<'life0, 'life1, 'async_trait>(
&'life0 self,
_cmd: &'life1 GeneratePositionReports,
) -> Pin<Box<dyn Future<Output = Result<Vec<PositionStatusReport>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generates position status reports. Read more
Auto Trait Implementations§
impl Freeze for BlockchainExecutionClient
impl !RefUnwindSafe for BlockchainExecutionClient
impl !Send for BlockchainExecutionClient
impl !Sync for BlockchainExecutionClient
impl Unpin for BlockchainExecutionClient
impl !UnwindSafe for BlockchainExecutionClient
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§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>
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 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>
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