use bitcoin::{Transaction, Txid};
use crate::exit::states::ExitTxOrigin;
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
pub struct ExitTransactionPackage {
pub exit: TransactionInfo,
pub child: Option<ChildTransactionInfo>,
}
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
pub struct TransactionInfo {
pub txid: Txid,
#[serde(with = "bitcoin::consensus::serde::With::<bitcoin::consensus::serde::Hex>")]
pub tx: Transaction,
}
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
pub struct ChildTransactionInfo {
pub info: TransactionInfo,
pub origin: ExitTxOrigin,
}