nash_protocol/protocol/place_orders/
response.rs

1use crate::graphql::place_limit_order;
2use crate::graphql::place_market_order;
3use serde::{Deserialize, Deserializer};
4use crate::protocol::multi_request::{ResponseData, ResponseVisitor};
5
6pub type LimitResponseData = ResponseData<place_limit_order::ResponseData>;
7pub type MarketResponseData = ResponseData<place_market_order::ResponseData>;
8
9impl<'de> Deserialize<'de> for LimitResponseData {
10    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
11    where D: Deserializer<'de> {
12        deserializer.deserialize_map(
13            ResponseVisitor::<Self, place_limit_order::ResponseData>::new("placeLimitOrder".to_string())
14        )
15    }
16}
17
18impl<'de> Deserialize<'de> for MarketResponseData {
19    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
20        where D: Deserializer<'de> {
21        deserializer.deserialize_map(
22            ResponseVisitor::<Self, place_market_order::ResponseData>::new("placeMarketOrder".to_string())
23        )
24    }
25}