Type Alias tuxedo_parachain_runtime::Executive
source · pub type Executive = Executive<OuterVerifier, ParachainConstraintChecker>;
Aliased Type§
struct Executive(/* private fields */);
Implementations
source§impl<V, C> Executive<V, C>where
V: Verifier,
C: ConstraintChecker,
Block<Header<u32, BlakeTwo256>, Transaction<V, C>>: Block<Extrinsic = Transaction<V, C>, Hash = H256>,
Transaction<V, C>: Extrinsic,
impl<V, C> Executive<V, C>where
V: Verifier,
C: ConstraintChecker,
Block<Header<u32, BlakeTwo256>, Transaction<V, C>>: Block<Extrinsic = Transaction<V, C>, Hash = H256>,
Transaction<V, C>: Extrinsic,
sourcepub fn validate_tuxedo_transaction(
transaction: &Transaction<V, C>
) -> Result<ValidTransaction, UtxoError<<C as ConstraintChecker>::Error>>
pub fn validate_tuxedo_transaction( transaction: &Transaction<V, C> ) -> Result<ValidTransaction, UtxoError<<C as ConstraintChecker>::Error>>
Does pool-style validation of a tuxedo transaction.
Does not commit anything to storage.
This returns Ok even if some inputs are still missing because the tagged transaction pool can handle that.
We later check that there are no missing inputs in apply_tuxedo_transaction
sourcepub fn apply_tuxedo_transaction(
transaction: Transaction<V, C>
) -> Result<(), UtxoError<<C as ConstraintChecker>::Error>>
pub fn apply_tuxedo_transaction( transaction: Transaction<V, C> ) -> Result<(), UtxoError<<C as ConstraintChecker>::Error>>
Does full verification and application of tuxedo transactions.
Most of the validation happens in the call to validate_tuxedo_transaction
.
Once those checks are done we make sure there are no missing inputs and then update storage.
sourcepub fn block_height() -> u32
pub fn block_height() -> u32
A helper function that allows tuxedo runtimes to read the current block height