Skip to main content

orchard_cross_address_disabled

Function orchard_cross_address_disabled 

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

Checks that the Orchard pool does not enable cross-address transfers (NU6.3 onward).

ยงConsensus

[NU6.3 onward] The enableCrossAddress flag of flagsOrchard MUST be 0.

https://zips.z.cash/protocol/protocol.pdf#txnconsensus

An Orchard bundle can never carry this flag off the wire: bit 2 is rejected at deserialization for the Orchard pool in every tx version (only the Ironwood pool permits it). So this is a defense-in-depth check that also covers an in-memory-constructed bundle.