[][src]Struct storage_proofs::beacon_post::BeaconPoSt

pub struct BeaconPoSt<H: Hasher, V: Vdf<H::Domain>> { /* fields omitted */ }

Trait Implementations

impl<'a, H: Hasher, V: Vdf<H::Domain>> CompoundProof<'a, Bls12, BeaconPoSt<H, V>, BeaconPoStCircuit<'a, Bls12, H, V>> for BeaconPoStCompound where
    <V as Vdf<H::Domain>>::PublicParams: Send + Sync,
    <V as Vdf<H::Domain>>::Proof: Send + Sync,
    V: Sync + Send,
    H: 'a, 
[src]

fn setup<'b>(sp: &SetupParams<'a, 'b, E, S>) -> Result<PublicParams<'a, E, S>> where
    E::Params: Sync
[src]

fn partition_count(public_params: &PublicParams<'a, E, S>) -> usize[src]

fn prove<'b>(
    pub_params: &'b PublicParams<'a, E, S>,
    pub_in: &'b S::PublicInputs,
    priv_in: &'b S::PrivateInputs,
    groth_params: &'b Parameters<E>
) -> Result<MultiProof<'b, E>> where
    E::Params: Sync
[src]

prove is equivalent to ProofScheme::prove.

fn verify(
    public_params: &PublicParams<'a, E, S>,
    public_inputs: &S::PublicInputs,
    multi_proof: &MultiProof<E>,
    requirements: &S::Requirements
) -> Result<bool>
[src]

fn circuit_proof<'b>(
    pub_in: &S::PublicInputs,
    vanilla_proof: &S::Proof,
    pub_params: &'b S::PublicParams,
    params: &'a E::Params,
    groth_params: &Parameters<E>
) -> Result<Proof<E>>
[src]

circuit_proof creates and synthesizes a circuit from concrete params/inputs, then generates a groth proof from it. It returns a groth proof. circuit_proof is used internally and should neither be called nor implemented outside of default trait methods. Read more

fn groth_params(
    public_params: &S::PublicParams,
    engine_params: &'a E::Params
) -> Result<Parameters<E>>
[src]

fn verifying_key(
    public_params: &S::PublicParams,
    engine_params: &'a E::Params
) -> Result<VerifyingKey<E>>
[src]

fn circuit_for_test(
    public_parameters: &PublicParams<'a, E, S>,
    public_inputs: &S::PublicInputs,
    private_inputs: &S::PrivateInputs
) -> (C, Vec<E::Fr>)
[src]

impl<'a, H: Hasher, V: Vdf<H::Domain>> ProofScheme<'a> for BeaconPoSt<H, V> where
    H: 'a, 
[src]

type PublicParams = PublicParams<H::Domain, V>

type SetupParams = SetupParams<H::Domain, V>

type PublicInputs = PublicInputs<H::Domain>

type PrivateInputs = PrivateInputs<'a, H>

type Proof = Proof<'a, H, V>

type Requirements = NoRequirements

fn prove_all_partitions<'b>(
    pub_params: &'b Self::PublicParams,
    pub_in: &'b Self::PublicInputs,
    priv_in: &'b Self::PrivateInputs,
    partition_count: usize
) -> Result<Vec<Self::Proof>>
[src]

fn verify_all_partitions(
    pub_params: &Self::PublicParams,
    pub_in: &Self::PublicInputs,
    proofs: &[Self::Proof]
) -> Result<bool>
[src]

fn with_partition(
    pub_in: Self::PublicInputs,
    _k: Option<usize>
) -> Self::PublicInputs
[src]

fn satisfies_requirements(
    _pub_params: &Self::PublicParams,
    _requirements: &Self::Requirements,
    _partitions: usize
) -> bool
[src]

impl<H: Clone + Hasher, V: Clone + Vdf<H::Domain>> Clone for BeaconPoSt<H, V>[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<H: Default + Hasher, V: Default + Vdf<H::Domain>> Default for BeaconPoSt<H, V>[src]

impl<H: Debug + Hasher, V: Debug + Vdf<H::Domain>> Debug for BeaconPoSt<H, V>[src]

Auto Trait Implementations

impl<H, V> Unpin for BeaconPoSt<H, V> where
    H: Unpin,
    V: Unpin

impl<H, V> Sync for BeaconPoSt<H, V> where
    V: Sync

impl<H, V> Send for BeaconPoSt<H, V> where
    V: Send

impl<H, V> RefUnwindSafe for BeaconPoSt<H, V> where
    H: RefUnwindSafe,
    V: RefUnwindSafe

impl<H, V> UnwindSafe for BeaconPoSt<H, V> where
    H: UnwindSafe,
    V: UnwindSafe

Blanket Implementations

impl<'a, L> ProofScheme<'a> for L where
    L: Layers
[src]

type PublicParams = PublicParams<<L as Layers>::Hasher, <L as Layers>::Graph>

type SetupParams = SetupParams

type PublicInputs = PublicInputs<<<L as Layers>::Hasher as Hasher>::Domain>

type PrivateInputs = PrivateInputs<<L as Layers>::Hasher>

type Proof = Proof<<L as Layers>::Hasher>

type Requirements = ChallengeRequirements

fn verify(
    _pub_params: &Self::PublicParams,
    _pub_inputs: &Self::PublicInputs,
    _proof: &Self::Proof
) -> Result<bool>
[src]

verify returns true if the supplied proof is valid for the given public parameter and public inputs. Note that verify does not have access to private inputs. Remember that proof is untrusted, and any data it provides MUST be validated as corresponding to the supplied public parameters and inputs. Read more

impl<T> From<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,