Module zebra_consensus::transaction::check
source · Expand description
Transaction checks.
Code in this file can freely assume that no pre-V4 transactions are present.
Functions§
- Check for duplicate items in a collection.
- Checks compatibility with ZIP-212 shielded Sapling and Orchard coinbase output decryption
- Check that a coinbase transaction has no PrevOut inputs, JoinSplits, or spends.
- Check if a transaction is adding to the sprout pool after Canopy network upgrade given a block height and a network.
- Checks that the transaction has enough orchard flags.
- Checks that the transaction has inputs and outputs.
- Check if JoinSplits in the transaction have one of its v_{pub} values equal to zero.
- Checks if the transaction’s lock time allows this transaction to be included in a block.
- Check if a transaction has any internal spend conflicts.
- Accepts a transaction, block height, block UTXOs, and the transaction’s spent UTXOs from the chain.
- Checks that the expiry height of a transaction does not exceed the maximal value.
- Checks that a transaction does not exceed its expiry height.