mirror of
https://github.com/status-im/nim-codex.git
synced 2025-02-19 22:18:55 +00:00
try queue setup
This commit is contained in:
parent
98abf47a23
commit
13c59ca575
@ -292,9 +292,10 @@ proc new*(
|
||||
$config.circomZkey
|
||||
else: ""
|
||||
|
||||
let params = CircomCompatParams.init($config.circomR1cs, $config.circomWasm, zkey)
|
||||
some Prover.new(
|
||||
store,
|
||||
AsyncCircomCompat.init($config.circomR1cs, $config.circomWasm, zkey),
|
||||
AsyncCircomCompat.init(params),
|
||||
config.numProofSamples)
|
||||
else:
|
||||
none Prover
|
||||
|
@ -22,25 +22,16 @@ proc proveTask[H](
|
||||
data: ProofInputs[H],
|
||||
results: SignalQueuePtr[Result[CircomProof, string]],
|
||||
) =
|
||||
try:
|
||||
if circomBackend.isNone:
|
||||
circomBackend = some CircomCompat.init(params)
|
||||
else:
|
||||
assert circomBackend.get().params == params
|
||||
var val: Result[CircomProof, string]
|
||||
|
||||
let proof = circomBackend.get().prove(data)
|
||||
var val: Result[CircomProof, string]
|
||||
if proof.isOk():
|
||||
val.ok(proof.get())
|
||||
else:
|
||||
val.err(proof.error().msg)
|
||||
let proof = circomBackend.get().prove(data)
|
||||
if proof.isOk():
|
||||
val.ok(proof.get())
|
||||
else:
|
||||
val.err(proof.error().msg)
|
||||
|
||||
if (let sent = results.send(val); sent.isErr()):
|
||||
error "Error sending proof results", msg = sent.error().msg
|
||||
except CatchableError as exception:
|
||||
var err = Result[CircomProof, string].err(exception.msg)
|
||||
if (let res = results.send(err); res.isErr()):
|
||||
error "Error sending proof results", msg = res.error().msg
|
||||
if (let sent = results.send(val); sent.isErr()):
|
||||
error "Error sending proof results", msg = sent.error().msg
|
||||
|
||||
proc prove*[H](
|
||||
self: AsyncCircomCompat, input: ProofInputs[H]
|
||||
@ -77,4 +68,5 @@ proc verify*[H](
|
||||
proc init*(_: type AsyncCircomCompat, params: CircomCompatParams): AsyncCircomCompat =
|
||||
## Create a new async circom
|
||||
##
|
||||
AsyncCircomCompat(params)
|
||||
let circom = CircomCompat.init(params)
|
||||
AsyncCircomCompat(circom)
|
||||
|
Loading…
x
Reference in New Issue
Block a user