Skip to main content

V6FlagCodec

Trait V6FlagCodec 

Source
trait V6FlagCodec {
    type Codec: ZcashDeserialize + Into<Flags>;
}
Expand description

The flagsOrchard codec a v6 Orchard-protocol bundle newtype uses on deserialization.

A v6 Orchard or Ironwood bundle encodes identically on the wire to a v5 Orchard bundle (the flag byte is written as-is); the pools differ only in the reserved-bit rule applied to flagsOrchard. The enableCrossAddress bit (bit 2) is permitted only for the Ironwood pool, and is reserved (MUST be 0) for the Orchard pool regardless of tx version — matching orchard::bundle::Flags::from_byte, which rejects bit 2 for ValuePool::Orchard. Tying the codec to the bundle type lets the (de)serializers below imply it instead of naming it explicitly.

Required Associated Types§

Source

type Codec: ZcashDeserialize + Into<Flags>

The flag codec: orchard::Flags reserves bit 2, orchard::FlagsV6 permits it.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§