pub trait CostsService: Send + Sync {
// Required methods
fn get_indicative_costs_open<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 OpenCostsRequest,
) -> Pin<Box<dyn Future<Output = Result<IndicativeCostsResponse, AppError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_indicative_costs_close<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 CloseCostsRequest,
) -> Pin<Box<dyn Future<Output = Result<IndicativeCostsResponse, AppError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_indicative_costs_edit<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 EditCostsRequest,
) -> Pin<Box<dyn Future<Output = Result<IndicativeCostsResponse, AppError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_costs_history<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 str,
to: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<CostsHistoryResponse, AppError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn get_durable_medium<'life0, 'life1, 'async_trait>(
&'life0 self,
quote_reference: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<DurableMediumResponse, AppError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}Expand description
Service for retrieving indicative costs and charges from the IG Markets API
This service provides regulatory cost information for trading activities, including costs for opening, closing, and editing positions.