use {
serde::{Deserialize, Serialize},
solana_clock::{
Slot,
},
solana_transaction_error::{
TransactionError,
},
solana_transaction_status::{
TransactionConfirmationStatus,
TransactionStatus,
},
};
#[derive(Serialize, Deserialize, PartialEq, Eq, Debug)]
pub struct TransactionInfo {
pub slot: Slot, pub index: u32, pub err: Option<TransactionError>, }
impl From<TransactionInfo> for TransactionStatus {
fn from(transaction_info: TransactionInfo) -> Self {
let TransactionInfo { slot, err, .. } = transaction_info;
let status = match &err {
None => Ok(()),
Some(err) => Err(err.clone()),
};
Self {
slot,
confirmations: None,
status,
err,
confirmation_status: Some(TransactionConfirmationStatus::Finalized),
}
}
}