pub trait Encode {
// Required method
fn encode<W: Write>(&self, writer: &mut W) -> Result<()>;
// Provided method
fn encode_to_vec(&self) -> Result<Vec<u8>> { ... }
}
Expand description
Hardware and language independent encoding. Uses the Writer pattern for more efficient encoding without intermediate buffers.
Required Methods§
Provided Methods§
Sourcefn encode_to_vec(&self) -> Result<Vec<u8>>
fn encode_to_vec(&self) -> Result<Vec<u8>>
Convenience method to encode into a Vec<u8>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl Encode for ContinuationVmProof<SC>
impl Encode for ContinuationVmProof<SC>
Source§impl Encode for UserPublicValuesProof<DIGEST_SIZE, F>
impl Encode for UserPublicValuesProof<DIGEST_SIZE, F>
Source§impl Encode for RootVmVerifierInput<SC>
impl Encode for RootVmVerifierInput<SC>
Source§impl Encode for AdjacentOpenedValues<BinomialExtensionField<F, 4>>
impl Encode for AdjacentOpenedValues<BinomialExtensionField<F, 4>>
Source§impl Encode for AirProofData<F, BinomialExtensionField<F, 4>>
impl Encode for AirProofData<F, BinomialExtensionField<F, 4>>
Source§fn encode<W: Write>(&self, writer: &mut W) -> Result<()>
fn encode<W: Write>(&self, writer: &mut W) -> Result<()>
Encodes the struct
pub struct OpenedValues<Challenge> {
pub preprocessed: Vec<AdjacentOpenedValues<Challenge>>,
pub main: Vec<Vec<AdjacentOpenedValues<Challenge>>>,
pub after_challenge: Vec<Vec<AdjacentOpenedValues<Challenge>>>,
pub quotient: Vec<Vec<Vec<Challenge>>>,
}
Source§impl Encode for Proof<SC>
impl Encode for Proof<SC>
Source§fn encode<W: Write>(&self, writer: &mut W) -> Result<()>
fn encode<W: Write>(&self, writer: &mut W) -> Result<()>
Encode a proof using FRI as the PCS with BabyBearPoseidon2Config
.
The Merkle tree hashes have digest [F; 8]
.
pub struct Proof<SC: StarkGenericConfig> {
pub commitments: Commitments<Com<SC>>,
pub opening: OpeningProof<PcsProof<SC>, SC::Challenge>,
pub per_air: Vec<AirProofData<Val<SC>, SC::Challenge>>,
pub rap_phase_seq_proof: Option<RapPhaseSeqPartialProof<SC>>,
}
Source§impl Encode for BinomialExtensionField<F, 4>
impl Encode for BinomialExtensionField<F, 4>
Source§impl Encode for InnerFriProof
impl Encode for InnerFriProof
Source§fn encode<W: Write>(&self, writer: &mut W) -> Result<()>
fn encode<W: Write>(&self, writer: &mut W) -> Result<()>
Encodes the struct
pub struct FriProof<Challenge, M: Mmcs<Challenge>> {
pub commit_phase_commits: Vec<M::Commitment>,
pub query_proofs: Vec<QueryProof<Challenge, M, Vec<BatchOpening<F>>>>,
pub final_poly: Vec<Challenge>,
pub pow_witness: F,
}
Source§impl Encode for InnerQueryProof
impl Encode for InnerQueryProof
Source§fn encode<W: Write>(&self, writer: &mut W) -> Result<()>
fn encode<W: Write>(&self, writer: &mut W) -> Result<()>
Encodes the struct
pub struct QueryProof<Challenge, M: Mmcs<Challenge>> {
pub input_proof: Vec<BatchOpening<F>>,
pub commit_phase_openings: Vec<CommitPhaseProofStep<Challenge, M>>,
}
pub struct BatchOpening<F> {
pub opened_values: Vec<Vec<F>>,
pub opening_proof: Vec<[F; DIGEST_SIZE]>,
}
pub struct CommitPhaseProofStep<Challenge, M: Mmcs<Challenge>> {
pub sibling_value: Challenge,
pub opening_proof: Vec<[F; DIGEST_SIZE]>,
}