use super::{Checked, IntoChecked};
use crate::checked_transaction::CheckPredicates;
use crate::prelude::*;
use fuel_tx::ConsensusParameters;
pub trait TransactionBuilderExt<Tx>
where
Tx: IntoChecked,
{
fn finalize_checked(&mut self, height: Word, params: &ConsensusParameters, gas_costs: &GasCosts) -> Checked<Tx>;
fn finalize_checked_basic(&mut self, height: Word, params: &ConsensusParameters) -> Checked<Tx>;
}
impl<Tx: ExecutableTransaction> TransactionBuilderExt<Tx> for TransactionBuilder<Tx>
where
Self: Finalizable<Tx>,
Checked<Tx>: CheckPredicates,
{
fn finalize_checked(&mut self, height: Word, params: &ConsensusParameters, gas_costs: &GasCosts) -> Checked<Tx> {
self.finalize()
.into_checked(height, params, gas_costs)
.expect("failed to check tx")
}
fn finalize_checked_basic(&mut self, height: Word, params: &ConsensusParameters) -> Checked<Tx> {
self.finalize()
.into_checked_basic(height, params)
.expect("failed to check tx")
}
}