[−][src]Struct storage_proofs::beacon_post::BeaconPoSt
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]
<V as Vdf<H::Domain>>::PublicParams: Send + Sync,
<V as Vdf<H::Domain>>::Proof: Send + Sync,
V: Sync + Send,
H: 'a,
fn generate_public_inputs(
_pub_in: &<BeaconPoSt<H, V> as ProofScheme<'a>>::PublicInputs,
_pub_params: &<BeaconPoSt<H, V> as ProofScheme<'a>>::PublicParams,
_partition_k: Option<usize>
) -> Vec<Fr>
[src]
_pub_in: &<BeaconPoSt<H, V> as ProofScheme<'a>>::PublicInputs,
_pub_params: &<BeaconPoSt<H, V> as ProofScheme<'a>>::PublicParams,
_partition_k: Option<usize>
) -> Vec<Fr>
fn circuit(
_pub_in: &<BeaconPoSt<H, V> as ProofScheme<'a>>::PublicInputs,
_component_private_inputs: <BeaconPoStCircuit<'a, Bls12, H, V> as CircuitComponent>::ComponentPrivateInputs,
_vanilla_proof: &<BeaconPoSt<H, V> as ProofScheme<'a>>::Proof,
_pub_params: &<BeaconPoSt<H, V> as ProofScheme<'a>>::PublicParams,
_engine_params: &'a <Bls12 as JubjubEngine>::Params
) -> BeaconPoStCircuit<'a, Bls12, H, V>
[src]
_pub_in: &<BeaconPoSt<H, V> as ProofScheme<'a>>::PublicInputs,
_component_private_inputs: <BeaconPoStCircuit<'a, Bls12, H, V> as CircuitComponent>::ComponentPrivateInputs,
_vanilla_proof: &<BeaconPoSt<H, V> as ProofScheme<'a>>::Proof,
_pub_params: &<BeaconPoSt<H, V> as ProofScheme<'a>>::PublicParams,
_engine_params: &'a <Bls12 as JubjubEngine>::Params
) -> BeaconPoStCircuit<'a, Bls12, H, V>
fn blank_circuit(
_public_params: &<BeaconPoSt<H, V> as ProofScheme<'a>>::PublicParams,
_engine_params: &'a <Bls12 as JubjubEngine>::Params
) -> BeaconPoStCircuit<'a, Bls12, H, V>
[src]
_public_params: &<BeaconPoSt<H, V> as ProofScheme<'a>>::PublicParams,
_engine_params: &'a <Bls12 as JubjubEngine>::Params
) -> BeaconPoStCircuit<'a, Bls12, H, V>
fn setup<'b>(sp: &SetupParams<'a, 'b, E, S>) -> Result<PublicParams<'a, E, S>> where
E::Params: Sync,
[src]
E::Params: Sync,
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]
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,
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]
public_params: &PublicParams<'a, E, S>,
public_inputs: &S::PublicInputs,
multi_proof: &MultiProof<E>,
requirements: &S::Requirements
) -> Result<bool>
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]
pub_in: &S::PublicInputs,
vanilla_proof: &S::Proof,
pub_params: &'b S::PublicParams,
params: &'a E::Params,
groth_params: &Parameters<E>
) -> Result<Proof<E>>
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]
public_params: &S::PublicParams,
engine_params: &'a E::Params
) -> Result<Parameters<E>>
fn verifying_key(
public_params: &S::PublicParams,
engine_params: &'a E::Params
) -> Result<VerifyingKey<E>>
[src]
public_params: &S::PublicParams,
engine_params: &'a E::Params
) -> Result<VerifyingKey<E>>
fn circuit_for_test(
public_parameters: &PublicParams<'a, E, S>,
public_inputs: &S::PublicInputs,
private_inputs: &S::PrivateInputs
) -> (C, Vec<E::Fr>)
[src]
public_parameters: &PublicParams<'a, E, S>,
public_inputs: &S::PublicInputs,
private_inputs: &S::PrivateInputs
) -> (C, Vec<E::Fr>)
impl<'a, H: Hasher, V: Vdf<H::Domain>> ProofScheme<'a> for BeaconPoSt<H, V> where
H: 'a,
[src]
H: 'a,
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 setup(sp: &SetupParams<H::Domain, V>) -> Result<PublicParams<H::Domain, V>>
[src]
fn prove<'b>(
pub_params: &'b PublicParams<H::Domain, V>,
pub_inputs: &'b PublicInputs<H::Domain>,
priv_inputs: &'b PrivateInputs<'a, H>
) -> Result<Proof<'a, H, V>>
[src]
pub_params: &'b PublicParams<H::Domain, V>,
pub_inputs: &'b PublicInputs<H::Domain>,
priv_inputs: &'b PrivateInputs<'a, H>
) -> Result<Proof<'a, H, V>>
fn verify(
pub_params: &PublicParams<H::Domain, V>,
pub_inputs: &PublicInputs<H::Domain>,
proof: &Proof<H, V>
) -> Result<bool>
[src]
pub_params: &PublicParams<H::Domain, V>,
pub_inputs: &PublicInputs<H::Domain>,
proof: &Proof<H, V>
) -> Result<bool>
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]
pub_params: &'b Self::PublicParams,
pub_in: &'b Self::PublicInputs,
priv_in: &'b Self::PrivateInputs,
partition_count: usize
) -> Result<Vec<Self::Proof>>
fn verify_all_partitions(
pub_params: &Self::PublicParams,
pub_in: &Self::PublicInputs,
proofs: &[Self::Proof]
) -> Result<bool>
[src]
pub_params: &Self::PublicParams,
pub_in: &Self::PublicInputs,
proofs: &[Self::Proof]
) -> Result<bool>
fn with_partition(
pub_in: Self::PublicInputs,
_k: Option<usize>
) -> Self::PublicInputs
[src]
pub_in: Self::PublicInputs,
_k: Option<usize>
) -> Self::PublicInputs
fn satisfies_requirements(
_pub_params: &Self::PublicParams,
_requirements: &Self::Requirements,
_partitions: usize
) -> bool
[src]
_pub_params: &Self::PublicParams,
_requirements: &Self::Requirements,
_partitions: usize
) -> bool
impl<H: Default + Hasher, V: Default + Vdf<H::Domain>> Default for BeaconPoSt<H, V>
[src]
fn default() -> BeaconPoSt<H, V>
[src]
impl<H: Clone + Hasher, V: Clone + Vdf<H::Domain>> Clone for BeaconPoSt<H, V>
[src]
fn clone(&self) -> BeaconPoSt<H, V>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
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,
H: Unpin,
V: Unpin,
impl<H, V> Send for BeaconPoSt<H, V> where
V: Send,
V: Send,
impl<H, V> Sync for BeaconPoSt<H, V> where
V: Sync,
V: Sync,
impl<H, V> UnwindSafe for BeaconPoSt<H, V> where
H: UnwindSafe,
V: UnwindSafe,
H: UnwindSafe,
V: UnwindSafe,
impl<H, V> RefUnwindSafe for BeaconPoSt<H, V> where
H: RefUnwindSafe,
V: RefUnwindSafe,
H: RefUnwindSafe,
V: RefUnwindSafe,
Blanket Implementations
impl<'a, L> ProofScheme<'a> for L where
L: Layers,
[src]
L: Layers,
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 setup(
&<L as ProofScheme<'a>>::SetupParams
) -> Result<<L as ProofScheme<'a>>::PublicParams, Error>
[src]
&<L as ProofScheme<'a>>::SetupParams
) -> Result<<L as ProofScheme<'a>>::PublicParams, Error>
fn prove(
&'b <L as ProofScheme<'a>>::PublicParams,
&'b <L as ProofScheme<'a>>::PublicInputs,
&'b <L as ProofScheme<'a>>::PrivateInputs
) -> Result<<L as ProofScheme<'a>>::Proof, Error>
[src]
&'b <L as ProofScheme<'a>>::PublicParams,
&'b <L as ProofScheme<'a>>::PublicInputs,
&'b <L as ProofScheme<'a>>::PrivateInputs
) -> Result<<L as ProofScheme<'a>>::Proof, Error>
fn prove_all_partitions(
&'b <L as ProofScheme<'a>>::PublicParams,
&'b <L as ProofScheme<'a>>::PublicInputs,
&'b <L as ProofScheme<'a>>::PrivateInputs,
usize
) -> Result<Vec<<L as ProofScheme<'a>>::Proof>, Error>
[src]
&'b <L as ProofScheme<'a>>::PublicParams,
&'b <L as ProofScheme<'a>>::PublicInputs,
&'b <L as ProofScheme<'a>>::PrivateInputs,
usize
) -> Result<Vec<<L as ProofScheme<'a>>::Proof>, Error>
fn verify_all_partitions(
&<L as ProofScheme<'a>>::PublicParams,
&<L as ProofScheme<'a>>::PublicInputs,
&[<L as ProofScheme<'a>>::Proof]
) -> Result<bool, Error>
[src]
&<L as ProofScheme<'a>>::PublicParams,
&<L as ProofScheme<'a>>::PublicInputs,
&[<L as ProofScheme<'a>>::Proof]
) -> Result<bool, Error>
fn with_partition(
<L as ProofScheme<'a>>::PublicInputs,
Option<usize>
) -> <L as ProofScheme<'a>>::PublicInputs
[src]
<L as ProofScheme<'a>>::PublicInputs,
Option<usize>
) -> <L as ProofScheme<'a>>::PublicInputs
fn satisfies_requirements(
&PublicParams<<L as Layers>::Hasher, <L as Layers>::Graph>,
&ChallengeRequirements,
usize
) -> bool
[src]
&PublicParams<<L as Layers>::Hasher, <L as Layers>::Graph>,
&ChallengeRequirements,
usize
) -> bool
fn verify(
_pub_params: &Self::PublicParams,
_pub_inputs: &Self::PublicInputs,
_proof: &Self::Proof
) -> Result<bool>
[src]
_pub_params: &Self::PublicParams,
_pub_inputs: &Self::PublicInputs,
_proof: &Self::Proof
) -> Result<bool>
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> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
[src]
T: Send + Sync + UnwindSafe + ?Sized,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,