use crate::{Offer, OfferParams};
use serde::{Deserialize, Serialize};
use crate::Request;
#[derive(Default, Debug, Clone, Serialize)]
pub struct GetOfferObjectRequest {
ledger_hash: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
ledger_index: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
binary: Option<bool>,
offer: OfferParams,
}
impl Request for GetOfferObjectRequest {
type Response = GetOfferObjectResponse;
fn method(&self) -> String {
"ledger_entry".to_owned()
}
}
impl GetOfferObjectRequest {
pub fn new(account: &str, sequence: u32) -> Self {
Self {
offer: OfferParams {
account: account.to_owned(),
seq: sequence,
},
..Default::default()
}
}
}
#[derive(Debug, Deserialize)]
pub struct GetOfferObjectResponse {
pub index: String,
pub ledger_index: u32,
pub node: Option<Offer>,
pub node_binary: Option<String>,
}