This commit is contained in:
str4d 2022-06-23 19:22:35 +00:00
parent d57b6dcb76
commit 5a0e664a37
9 changed files with 29 additions and 21 deletions

View File

@ -20,6 +20,6 @@
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In halo2_proofs::plonk</a></h2></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../halo2_proofs/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><div id="settings-menu" tabindex="-1">
<a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div>
</div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">halo2_proofs</a>::<wbr><a href="index.html">plonk</a>::<wbr><a class="fn" href="#">verify_proof</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/halo2_proofs/plonk/verifier.rs.html#66-346">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn verify_proof&lt;'params, C:&nbsp;<a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>, E:&nbsp;<a class="trait" href="../transcript/trait.EncodedChallenge.html" title="trait halo2_proofs::transcript::EncodedChallenge">EncodedChallenge</a>&lt;C&gt;, T:&nbsp;<a class="trait" href="../transcript/trait.TranscriptRead.html" title="trait halo2_proofs::transcript::TranscriptRead">TranscriptRead</a>&lt;C, E&gt;, V:&nbsp;<a class="trait" href="trait.VerificationStrategy.html" title="trait halo2_proofs::plonk::VerificationStrategy">VerificationStrategy</a>&lt;'params, C&gt;&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;params: &amp;'params <a class="struct" href="../poly/commitment/struct.Params.html" title="struct halo2_proofs::poly::commitment::Params">Params</a>&lt;C&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;vk: &amp;<a class="struct" href="struct.VerifyingKey.html" title="struct halo2_proofs::plonk::VerifyingKey">VerifyingKey</a>&lt;C&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;strategy: V, <br>&nbsp;&nbsp;&nbsp;&nbsp;instances: &amp;[&amp;[&amp;[C::Scalar]]], <br>&nbsp;&nbsp;&nbsp;&nbsp;transcript: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;V::<a class="associatedtype" href="trait.VerificationStrategy.html#associatedtype.Output" title="type halo2_proofs::plonk::VerificationStrategy::Output">Output</a>, <a class="enum" href="enum.Error.html" title="enum halo2_proofs::plonk::Error">Error</a>&gt;</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Returns a boolean indicating whether or not the proof is valid</p>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">halo2_proofs</a>::<wbr><a href="index.html">plonk</a>::<wbr><a class="fn" href="#">verify_proof</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/halo2_proofs/plonk/verifier.rs.html#68-348">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn verify_proof&lt;'params, C:&nbsp;<a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>, E:&nbsp;<a class="trait" href="../transcript/trait.EncodedChallenge.html" title="trait halo2_proofs::transcript::EncodedChallenge">EncodedChallenge</a>&lt;C&gt;, T:&nbsp;<a class="trait" href="../transcript/trait.TranscriptRead.html" title="trait halo2_proofs::transcript::TranscriptRead">TranscriptRead</a>&lt;C, E&gt;, V:&nbsp;<a class="trait" href="trait.VerificationStrategy.html" title="trait halo2_proofs::plonk::VerificationStrategy">VerificationStrategy</a>&lt;'params, C&gt;&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;params: &amp;'params <a class="struct" href="../poly/commitment/struct.Params.html" title="struct halo2_proofs::poly::commitment::Params">Params</a>&lt;C&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;vk: &amp;<a class="struct" href="struct.VerifyingKey.html" title="struct halo2_proofs::plonk::VerifyingKey">VerifyingKey</a>&lt;C&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;strategy: V, <br>&nbsp;&nbsp;&nbsp;&nbsp;instances: &amp;[&amp;[&amp;[C::Scalar]]], <br>&nbsp;&nbsp;&nbsp;&nbsp;transcript: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;V::<a class="associatedtype" href="trait.VerificationStrategy.html#associatedtype.Output" title="type halo2_proofs::plonk::VerificationStrategy::Output">Output</a>, <a class="enum" href="enum.Error.html" title="enum halo2_proofs::plonk::Error">Error</a>&gt;</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Returns a boolean indicating whether or not the proof is valid</p>
</div></details></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="halo2_proofs" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.63.0-nightly (10f4ce324 2022-06-22)" ></div>
</body></html>

View File

@ -25,7 +25,8 @@ that is designed specifically for the polynomial commitment scheme described
in the <a href="https://eprint.iacr.org/2019/1021">Halo</a> paper.</p>
</div></details><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Advice.html" title="halo2_proofs::plonk::Advice struct">Advice</a></div><div class="item-right docblock-short"><p>An advice column</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.BatchVerifier.html" title="halo2_proofs::plonk::BatchVerifier struct">BatchVerifier</a></div><div class="item-right docblock-short"><p>A verifier that checks multiple proofs in a batch.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.BatchVerifier.html" title="halo2_proofs::plonk::BatchVerifier struct">BatchVerifier</a></div><div class="item-right docblock-short"><p>A verifier that checks multiple proofs in a batch. <strong>This requires the
<code>batch</code> crate feature to be enabled.</strong></p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Column.html" title="halo2_proofs::plonk::Column struct">Column</a></div><div class="item-right docblock-short"><p>A column with an index and type</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Constraint.html" title="halo2_proofs::plonk::Constraint struct">Constraint</a></div><div class="item-right docblock-short"><p>An individual polynomial constraint.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.ConstraintSystem.html" title="halo2_proofs::plonk::ConstraintSystem struct">ConstraintSystem</a></div><div class="item-right docblock-short"><p>This is a description of the circuit environment, such as the gate, column and

View File

@ -1 +1 @@
window.SIDEBAR_ITEMS = {"enum":[["Any","An enum over the Advice, Fixed, Instance structs"],["Assigned","A value assigned to a cell within a circuit."],["Error","This is an error that could occur during proving or circuit synthesis."],["Expression","Low-degree expression representing an identity that must hold over the committed columns."]],"fn":[["create_proof","This creates a proof for the provided `circuit` when given the public parameters `params` and the proving key [`ProvingKey`] that was generated previously for the same circuit. The provided `instances` are zero-padded internally."],["keygen_pk","Generate a `ProvingKey` from a `VerifyingKey` and an instance of `Circuit`."],["keygen_vk","Generate a `VerifyingKey` from an instance of `Circuit`."],["verify_proof","Returns a boolean indicating whether or not the proof is valid"]],"struct":[["Advice","An advice column"],["BatchVerifier","A verifier that checks multiple proofs in a batch."],["Column","A column with an index and type"],["Constraint","An individual polynomial constraint."],["ConstraintSystem","This is a description of the circuit environment, such as the gate, column and permutation arrangements."],["Constraints","A set of polynomial constraints with a common selector."],["Fixed","A fixed column"],["Instance","An instance column"],["PinnedConstraintSystem","Represents the minimal parameters that determine a `ConstraintSystem`."],["PinnedVerificationKey","Minimal representation of a verification key that can be used to identify its active contents."],["ProvingKey","This is a proving key which allows for the creation of proofs for a particular circuit."],["Selector","A selector, representing a fixed boolean value per row of the circuit."],["SingleVerifier","A verifier that checks a single proof at a time."],["TableColumn","A fixed column of a lookup table."],["VerifyingKey","This is a verifying key which allows for the verification of proofs for a particular circuit."],["VirtualCells","Exposes the “virtual cells” that can be queried while creating a custom gate or lookup table."]],"trait":[["Assignment","This trait allows a [`Circuit`] to direct some backend to assign a witness for a constraint system."],["Circuit","This is a trait that circuits provide implementations for so that the backend prover can ask the circuit to synthesize using some given [`ConstraintSystem`] implementation."],["ColumnType","A column type"],["FloorPlanner","A floor planning strategy for a circuit."],["VerificationStrategy","Trait representing a strategy for verifying Halo 2 proofs."]]};
window.SIDEBAR_ITEMS = {"enum":[["Any","An enum over the Advice, Fixed, Instance structs"],["Assigned","A value assigned to a cell within a circuit."],["Error","This is an error that could occur during proving or circuit synthesis."],["Expression","Low-degree expression representing an identity that must hold over the committed columns."]],"fn":[["create_proof","This creates a proof for the provided `circuit` when given the public parameters `params` and the proving key [`ProvingKey`] that was generated previously for the same circuit. The provided `instances` are zero-padded internally."],["keygen_pk","Generate a `ProvingKey` from a `VerifyingKey` and an instance of `Circuit`."],["keygen_vk","Generate a `VerifyingKey` from an instance of `Circuit`."],["verify_proof","Returns a boolean indicating whether or not the proof is valid"]],"struct":[["Advice","An advice column"],["BatchVerifier","A verifier that checks multiple proofs in a batch. This requires the `batch` crate feature to be enabled."],["Column","A column with an index and type"],["Constraint","An individual polynomial constraint."],["ConstraintSystem","This is a description of the circuit environment, such as the gate, column and permutation arrangements."],["Constraints","A set of polynomial constraints with a common selector."],["Fixed","A fixed column"],["Instance","An instance column"],["PinnedConstraintSystem","Represents the minimal parameters that determine a `ConstraintSystem`."],["PinnedVerificationKey","Minimal representation of a verification key that can be used to identify its active contents."],["ProvingKey","This is a proving key which allows for the creation of proofs for a particular circuit."],["Selector","A selector, representing a fixed boolean value per row of the circuit."],["SingleVerifier","A verifier that checks a single proof at a time."],["TableColumn","A fixed column of a lookup table."],["VerifyingKey","This is a verifying key which allows for the verification of proofs for a particular circuit."],["VirtualCells","Exposes the “virtual cells” that can be queried while creating a custom gate or lookup table."]],"trait":[["Assignment","This trait allows a [`Circuit`] to direct some backend to assign a witness for a constraint system."],["Circuit","This is a trait that circuits provide implementations for so that the backend prover can ask the circuit to synthesize using some given [`ConstraintSystem`] implementation."],["ColumnType","A column type"],["FloorPlanner","A floor planning strategy for a circuit."],["VerificationStrategy","Trait representing a strategy for verifying Halo 2 proofs."]]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -20,13 +20,13 @@
</a><h2 class="location"><a href="#">VerificationStrategy</a></h2><div class="sidebar-elems"><section><div class="block"><h3 class="sidebar-title"><a href="#required-associated-types">Required Associated Types</a></h3><ul><li><a href="#associatedtype.Output">Output</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#required-methods">Required Methods</a></h3><ul><li><a href="#tymethod.process">process</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#implementors">Implementors</a></h3></div></section><h2 class="location"><a href="index.html">In halo2_proofs::plonk</a></h2></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../halo2_proofs/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><div id="settings-menu" tabindex="-1">
<a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div>
</div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Trait <a href="../index.html">halo2_proofs</a>::<wbr><a href="index.html">plonk</a>::<wbr><a class="trait" href="#">VerificationStrategy</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/halo2_proofs/plonk/verifier.rs.html#21-31">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust trait"><code>pub trait VerificationStrategy&lt;'params, C:&nbsp;<a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>&gt; {
<h1 class="fqn"><span class="in-band">Trait <a href="../index.html">halo2_proofs</a>::<wbr><a href="index.html">plonk</a>::<wbr><a class="trait" href="#">VerificationStrategy</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/halo2_proofs/plonk/verifier.rs.html#23-33">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust trait"><code>pub trait VerificationStrategy&lt;'params, C:&nbsp;<a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>&gt; {
type <a href="#associatedtype.Output" class="associatedtype">Output</a>;
fn <a href="#tymethod.process" class="fnname">process</a>&lt;E:&nbsp;<a class="trait" href="../transcript/trait.EncodedChallenge.html" title="trait halo2_proofs::transcript::EncodedChallenge">EncodedChallenge</a>&lt;C&gt;&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="struct" href="../poly/commitment/struct.MSM.html" title="struct halo2_proofs::poly::commitment::MSM">MSM</a>&lt;'params, C&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../poly/commitment/struct.Guard.html" title="struct halo2_proofs::poly::commitment::Guard">Guard</a>&lt;'params, C, E&gt;, <a class="enum" href="enum.Error.html" title="enum halo2_proofs::plonk::Error">Error</a>&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.VerificationStrategy.html#associatedtype.Output" title="type halo2_proofs::plonk::VerificationStrategy::Output">Output</a>, <a class="enum" href="enum.Error.html" title="enum halo2_proofs::plonk::Error">Error</a>&gt;;
}</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait representing a strategy for verifying Halo 2 proofs.</p>
</div></details><h2 id="required-associated-types" class="small-section-header">Required Associated Types<a href="#required-associated-types" class="anchor"></a></h2><div class="methods"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Output" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2_proofs/plonk/verifier.rs.html#23">source</a></div><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a></h4></div></summary><div class="docblock"><p>The output type of this verification strategy after processing a proof.</p>
</div></details></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><details class="rustdoc-toggle" open><summary><div id="tymethod.process" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2_proofs/plonk/verifier.rs.html#27-30">source</a></div><h4 class="code-header">fn <a href="#tymethod.process" class="fnname">process</a>&lt;E:&nbsp;<a class="trait" href="../transcript/trait.EncodedChallenge.html" title="trait halo2_proofs::transcript::EncodedChallenge">EncodedChallenge</a>&lt;C&gt;&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;f: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="struct" href="../poly/commitment/struct.MSM.html" title="struct halo2_proofs::poly::commitment::MSM">MSM</a>&lt;'params, C&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../poly/commitment/struct.Guard.html" title="struct halo2_proofs::poly::commitment::Guard">Guard</a>&lt;'params, C, E&gt;, <a class="enum" href="enum.Error.html" title="enum halo2_proofs::plonk::Error">Error</a>&gt;<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.VerificationStrategy.html#associatedtype.Output" title="type halo2_proofs::plonk::VerificationStrategy::Output">Output</a>, <a class="enum" href="enum.Error.html" title="enum halo2_proofs::plonk::Error">Error</a>&gt;</h4></div></summary><div class="docblock"><p>Obtains an MSM from the verifier strategy and yields back the strategys
</div></details><h2 id="required-associated-types" class="small-section-header">Required Associated Types<a href="#required-associated-types" class="anchor"></a></h2><div class="methods"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Output" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2_proofs/plonk/verifier.rs.html#25">source</a></div><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a></h4></div></summary><div class="docblock"><p>The output type of this verification strategy after processing a proof.</p>
</div></details></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><details class="rustdoc-toggle" open><summary><div id="tymethod.process" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2_proofs/plonk/verifier.rs.html#29-32">source</a></div><h4 class="code-header">fn <a href="#tymethod.process" class="fnname">process</a>&lt;E:&nbsp;<a class="trait" href="../transcript/trait.EncodedChallenge.html" title="trait halo2_proofs::transcript::EncodedChallenge">EncodedChallenge</a>&lt;C&gt;&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;f: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="struct" href="../poly/commitment/struct.MSM.html" title="struct halo2_proofs::poly::commitment::MSM">MSM</a>&lt;'params, C&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../poly/commitment/struct.Guard.html" title="struct halo2_proofs::poly::commitment::Guard">Guard</a>&lt;'params, C, E&gt;, <a class="enum" href="enum.Error.html" title="enum halo2_proofs::plonk::Error">Error</a>&gt;<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.VerificationStrategy.html#associatedtype.Output" title="type halo2_proofs::plonk::VerificationStrategy::Output">Output</a>, <a class="enum" href="enum.Error.html" title="enum halo2_proofs::plonk::Error">Error</a>&gt;</h4></div></summary><div class="docblock"><p>Obtains an MSM from the verifier strategy and yields back the strategys
output.</p>
</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-VerificationStrategy%3C%27params%2C%20C%3E" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/halo2_proofs/plonk/verifier.rs.html#48-63">source</a></span><a href="#impl-VerificationStrategy%3C%27params%2C%20C%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;'params, C:&nbsp;<a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>&gt; <a class="trait" href="trait.VerificationStrategy.html" title="trait halo2_proofs::plonk::VerificationStrategy">VerificationStrategy</a>&lt;'params, C&gt; for <a class="struct" href="struct.SingleVerifier.html" title="struct halo2_proofs::plonk::SingleVerifier">SingleVerifier</a>&lt;'params, C&gt;</h3></section></summary><div class="impl-items"><section id="associatedtype.Output-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-1" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></h4></section></div></details></div><script type="text/javascript" src="../../implementors/halo2_proofs/plonk/verifier/trait.VerificationStrategy.js" data-ignore-extern-crates="" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="halo2_proofs" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.63.0-nightly (10f4ce324 2022-06-22)" ></div>
</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-VerificationStrategy%3C%27params%2C%20C%3E" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/halo2_proofs/plonk/verifier.rs.html#50-65">source</a></span><a href="#impl-VerificationStrategy%3C%27params%2C%20C%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;'params, C:&nbsp;<a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>&gt; <a class="trait" href="trait.VerificationStrategy.html" title="trait halo2_proofs::plonk::VerificationStrategy">VerificationStrategy</a>&lt;'params, C&gt; for <a class="struct" href="struct.SingleVerifier.html" title="struct halo2_proofs::plonk::SingleVerifier">SingleVerifier</a>&lt;'params, C&gt;</h3></section></summary><div class="impl-items"><section id="associatedtype.Output-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-1" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></h4></section></div></details></div><script type="text/javascript" src="../../implementors/halo2_proofs/plonk/verifier/trait.VerificationStrategy.js" data-ignore-extern-crates="" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="halo2_proofs" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.63.0-nightly (10f4ce324 2022-06-22)" ></div>
</body></html>

File diff suppressed because one or more lines are too long

View File

@ -365,6 +365,8 @@
<span id="344">344</span>
<span id="345">345</span>
<span id="346">346</span>
<span id="347">347</span>
<span id="348">348</span>
</pre><pre class="rust"><code><span class="kw">use</span> <span class="ident">ff::Field</span>;
<span class="kw">use</span> <span class="ident">group::Curve</span>;
<span class="kw">use</span> <span class="ident">rand_core::RngCore</span>;
@ -381,7 +383,9 @@
};
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::transcript</span>::{<span class="ident">read_n_points</span>, <span class="ident">read_n_scalars</span>, <span class="ident">EncodedChallenge</span>, <span class="ident">TranscriptRead</span>};
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">&quot;batch&quot;</span>)]</span>
<span class="kw">mod</span> <span class="ident">batch</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">&quot;batch&quot;</span>)]</span>
<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">batch::BatchVerifier</span>;
<span class="doccomment">/// Trait representing a strategy for verifying Halo 2 proofs.</span>

View File

@ -138,6 +138,7 @@
<span id="117">117</span>
<span id="118">118</span>
<span id="119">119</span>
<span id="120">120</span>
</pre><pre class="rust"><code><span class="kw">use</span> <span class="ident">std</span>::{<span class="ident">io</span>, <span class="ident">marker::PhantomData</span>};
<span class="kw">use</span> <span class="ident">group::ff::Field</span>;
@ -187,7 +188,8 @@
<span class="ident">proof</span>: <span class="ident">Vec</span><span class="op">&lt;</span><span class="ident">u8</span><span class="op">&gt;</span>,
}
<span class="doccomment">/// A verifier that checks multiple proofs in a batch.</span>
<span class="doccomment">/// A verifier that checks multiple proofs in a batch. **This requires the</span>
<span class="doccomment">/// `batch` crate feature to be enabled.**</span>
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">Default</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">BatchVerifier</span><span class="op">&lt;</span><span class="ident">C</span>: <span class="ident">CurveAffine</span><span class="op">&gt;</span> {
<span class="ident">items</span>: <span class="ident">Vec</span><span class="op">&lt;</span><span class="ident">BatchItem</span><span class="op">&lt;</span><span class="ident">C</span><span class="op">&gt;</span><span class="op">&gt;</span>,