use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use crate::{FeeRate, Sats, SigOps, VSize};
use super::{CpfpCluster, CpfpEntry};
#[derive(Debug, Serialize, Deserialize, JsonSchema)]
#[serde(rename_all = "camelCase")]
pub struct CpfpInfo {
pub ancestors: Vec<CpfpEntry>,
pub best_descendant: Option<CpfpEntry>,
pub descendants: Vec<CpfpEntry>,
pub effective_fee_per_vsize: FeeRate,
pub sigops: SigOps,
pub fee: Sats,
pub vsize: VSize,
pub adjusted_vsize: VSize,
#[serde(skip_serializing_if = "Option::is_none")]
pub cluster: Option<CpfpCluster>,
}