Function zebra_state::service::check::utxo::transparent_coinbase_spend
source · pub fn transparent_coinbase_spend(
outpoint: OutPoint,
spend_restriction: CoinbaseSpendRestriction,
utxo: &Utxo,
) -> Result<(), ValidateContextError>
Expand description
Check that utxo
is spendable, based on the coinbase spend_restriction
.
§Consensus
A transaction with one or more transparent inputs from coinbase transactions MUST have no transparent outputs (i.e. tx_out_count MUST be 0). Inputs from coinbase transactions include Founders’ Reward outputs and funding stream outputs.
A transaction MUST NOT spend a transparent output of a coinbase transaction from a block less than 100 blocks prior to the spend. Note that transparent outputs of coinbase transactions include Founders’ Reward outputs and transparent funding stream outputs.