pub struct FriTranscript<F, EF, Commitment> {
pub rounds: Vec<FriRoundTranscript<F, EF, Commitment>>,
pub final_poly: Vec<EF>,
}Expand description
Structured transcript view for the full FRI interaction.
Fields§
§rounds: Vec<FriRoundTranscript<F, EF, Commitment>>Per-round commitments and challenges.
final_poly: Vec<EF>Coefficients of the final low-degree polynomial in descending degree order
[cₙ, ..., c₁, c₀], ready for direct Horner evaluation.
Implementations§
Source§impl<F, EF, Commitment> FriTranscript<F, EF, Commitment>
impl<F, EF, Commitment> FriTranscript<F, EF, Commitment>
Sourcepub fn from_verifier_channel<Ch>(
params: &FriParams,
log_domain_size: u8,
channel: &mut Ch,
) -> Result<FriTranscript<F, EF, Commitment>, TranscriptError>where
Ch: VerifierChannel<F = F, Commitment = Commitment>,
pub fn from_verifier_channel<Ch>(
params: &FriParams,
log_domain_size: u8,
channel: &mut Ch,
) -> Result<FriTranscript<F, EF, Commitment>, TranscriptError>where
Ch: VerifierChannel<F = F, Commitment = Commitment>,
Parse a FRI transcript from a verifier channel.
Reads commitments, verifies PoW witnesses, samples challenges, and
reads the final polynomial. Does not verify low-degree claims;
that validation happens in FriOracle::test_low_degree.
Auto Trait Implementations§
impl<F, EF, Commitment> Freeze for FriTranscript<F, EF, Commitment>
impl<F, EF, Commitment> RefUnwindSafe for FriTranscript<F, EF, Commitment>
impl<F, EF, Commitment> Send for FriTranscript<F, EF, Commitment>
impl<F, EF, Commitment> Sync for FriTranscript<F, EF, Commitment>
impl<F, EF, Commitment> Unpin for FriTranscript<F, EF, Commitment>
impl<F, EF, Commitment> UnsafeUnpin for FriTranscript<F, EF, Commitment>
impl<F, EF, Commitment> UnwindSafe for FriTranscript<F, EF, Commitment>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more