pass number of samples to prover
This commit is contained in:
parent
697b69e349
commit
ff59c45a51
|
@ -20,6 +20,7 @@ import ../../manifest
|
||||||
import ../../merkletree
|
import ../../merkletree
|
||||||
import ../../stores
|
import ../../stores
|
||||||
import ../../market
|
import ../../market
|
||||||
|
import ../../utils/poseidon2digest
|
||||||
|
|
||||||
import ../builder
|
import ../builder
|
||||||
import ../sampler
|
import ../sampler
|
||||||
|
@ -35,6 +36,8 @@ type
|
||||||
AnyKeys* = CircomKey
|
AnyKeys* = CircomKey
|
||||||
AnyHash* = Poseidon2Hash
|
AnyHash* = Poseidon2Hash
|
||||||
AnyBackend* = CircomCompat
|
AnyBackend* = CircomCompat
|
||||||
|
AnyBuilder* = Poseidon2Builder
|
||||||
|
AnySampler* = Poseidon2Sampler
|
||||||
|
|
||||||
Prover* = ref object of RootObj
|
Prover* = ref object of RootObj
|
||||||
backend: AnyBackend
|
backend: AnyBackend
|
||||||
|
@ -44,7 +47,8 @@ proc prove*(
|
||||||
self: Prover,
|
self: Prover,
|
||||||
slotIdx: int,
|
slotIdx: int,
|
||||||
manifest: Manifest,
|
manifest: Manifest,
|
||||||
challenge: ProofChallenge): Future[?!AnyProof] {.async.} =
|
challenge: ProofChallenge,
|
||||||
|
nSamples = DefaultSamplesNum): Future[?!AnyProof] {.async.} =
|
||||||
## Prove a statement using backend.
|
## Prove a statement using backend.
|
||||||
## Returns a future that resolves to a proof.
|
## Returns a future that resolves to a proof.
|
||||||
|
|
||||||
|
@ -55,15 +59,15 @@ proc prove*(
|
||||||
|
|
||||||
trace "Received proof challenge"
|
trace "Received proof challenge"
|
||||||
|
|
||||||
without builder =? Poseidon2Builder.new(self.store, manifest), err:
|
without builder =? AnyBuilder.new(self.store, manifest), err:
|
||||||
error "Unable to create slots builder", err = err.msg
|
error "Unable to create slots builder", err = err.msg
|
||||||
return failure(err)
|
return failure(err)
|
||||||
|
|
||||||
without sampler =? Poseidon2Sampler.new(slotIdx, self.store, builder), err:
|
without sampler =? AnySampler.new(slotIdx, self.store, builder), err:
|
||||||
error "Unable to create data sampler", err = err.msg
|
error "Unable to create data sampler", err = err.msg
|
||||||
return failure(err)
|
return failure(err)
|
||||||
|
|
||||||
without proofInput =? await sampler.getProofInput(challenge, nSamples = 3), err:
|
without proofInput =? await sampler.getProofInput(challenge, nSamples), err:
|
||||||
error "Unable to get proof input for slot", err = err.msg
|
error "Unable to get proof input for slot", err = err.msg
|
||||||
return failure(err)
|
return failure(err)
|
||||||
|
|
||||||
|
@ -82,7 +86,7 @@ proc verify*(
|
||||||
## Prove a statement using backend.
|
## Prove a statement using backend.
|
||||||
## Returns a future that resolves to a proof.
|
## Returns a future that resolves to a proof.
|
||||||
|
|
||||||
discard self.backend.verify(proof, inputs, vpk)
|
self.backend.verify(proof, inputs, vpk)
|
||||||
|
|
||||||
proc new*(
|
proc new*(
|
||||||
_: type Prover,
|
_: type Prover,
|
||||||
|
|
Loading…
Reference in New Issue