Skip to main content

coinbase_orchard_component_empty

Function coinbase_orchard_component_empty 

Source
pub fn coinbase_orchard_component_empty(
    tx: &Transaction,
    network_upgrade: NetworkUpgrade,
) -> Result<(), TransactionError>
Expand description

Checks that a coinbase transaction has an empty Orchard component from NU6.3 onward.

ยงConsensus

[NU6.3 onward] Coinbase transactions MUST have an empty Orchard component.

https://zips.z.cash/zip-0229

From NU6.3, newly shielded coinbase value is routed to the Ironwood pool instead, so coinbase transactions can no longer create Orchard notes. This is stronger than the pre-NU6.3 rule (which only forbids enableSpendsOrchard) and applies regardless of transaction version: a v5 coinbase mined at NU6.3 is constrained too, so the rule cannot be bypassed by using an older format.

(No-op for non-coinbase transactions, transactions without an Orchard component, and before NU6.3.)