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§
Sourcetype Codec: ZcashDeserialize + Into<Flags>
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".