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.
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.)