Skip to main content

DecodableConfig

Trait DecodableConfig 

Source
pub trait DecodableConfig: StarkProtocolConfig {
    // Required methods
    fn decode_base_field<R: Read>(reader: &mut R) -> Result<Self::F>;
    fn decode_extension_field<R: Read>(reader: &mut R) -> Result<Self::EF>;
    fn decode_digest<R: Read>(reader: &mut R) -> Result<Self::Digest>;

    // Provided methods
    fn decode_base_field_n<R: Read>(
        reader: &mut R,
        n: usize,
    ) -> Result<Vec<Self::F>> { ... }
    fn decode_extension_field_n<R: Read>(
        reader: &mut R,
        n: usize,
    ) -> Result<Vec<Self::EF>> { ... }
    fn decode_digest_n<R: Read>(
        reader: &mut R,
        n: usize,
    ) -> Result<Vec<Self::Digest>> { ... }
    fn decode_base_field_vec<R: Read>(reader: &mut R) -> Result<Vec<Self::F>> { ... }
    fn decode_extension_field_vec<R: Read>(
        reader: &mut R,
    ) -> Result<Vec<Self::EF>> { ... }
    fn decode_digest_vec<R: Read>(reader: &mut R) -> Result<Vec<Self::Digest>> { ... }
}
Expand description

StarkProtocolConfig that has decodable associated types. This is a separate trait to avoid Rust’s orphan rule.

Required Methods§

Source

fn decode_base_field<R: Read>(reader: &mut R) -> Result<Self::F>

Source

fn decode_extension_field<R: Read>(reader: &mut R) -> Result<Self::EF>

Source

fn decode_digest<R: Read>(reader: &mut R) -> Result<Self::Digest>

Provided Methods§

Source

fn decode_base_field_n<R: Read>( reader: &mut R, n: usize, ) -> Result<Vec<Self::F>>

Decode n base field elements (known length, no length prefix).

Source

fn decode_extension_field_n<R: Read>( reader: &mut R, n: usize, ) -> Result<Vec<Self::EF>>

Decode n extension field elements (known length, no length prefix).

Source

fn decode_digest_n<R: Read>( reader: &mut R, n: usize, ) -> Result<Vec<Self::Digest>>

Decode n digests (known length, no length prefix).

Source

fn decode_base_field_vec<R: Read>(reader: &mut R) -> Result<Vec<Self::F>>

Decode a length-prefixed vector of base field elements.

Source

fn decode_extension_field_vec<R: Read>(reader: &mut R) -> Result<Vec<Self::EF>>

Decode a length-prefixed vector of extension field elements.

Source

fn decode_digest_vec<R: Read>(reader: &mut R) -> Result<Vec<Self::Digest>>

Decode a length-prefixed vector of digests.

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementors§