//! Types for interoperability with the txpool service use crate::{ blockchain::block::Block, fuel_asm::Word, fuel_tx::{ field::{ Inputs, Outputs, ScriptGasLimit, Tip, }, Cacheable, Chargeable, Create, Input, Output, Receipt, Script, Transaction, TxId, Upgrade, Upload, UtxoId, }, fuel_types::{ Address, ContractId, Nonce, }, fuel_vm::{ checked_transaction::Checked, ProgramState, }, services::executor::TransactionExecutionResult, }; use fuel_vm_private::{ checked_transaction::{ CheckError, CheckedTransaction, }, fuel_types::BlockHeight, }; use std::{ sync::Arc, time::Duration, }; use tai64::Tai64; /// The alias for transaction pool result. pub type Result = core::result::Result; /// Pool transaction wrapped in an Arc for thread-safe sharing pub type ArcPoolTx = Arc; /// Transaction type used by the transaction pool. Transaction pool supports not /// all `fuel_tx::Transaction` variants. #[derive(Debug, Eq, PartialEq)] pub enum PoolTransaction { /// Script Script(Checked