From 13c59ca57535d085ccc511080a3caf2ce69f8982 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Mon, 20 May 2024 17:31:34 +0300 Subject: [PATCH] try queue setup --- codex/codex.nim | 3 ++- codex/slots/proofs/backends/asynccircoms.nim | 28 +++++++------------- 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/codex/codex.nim b/codex/codex.nim index 65a4db9d..615fa7d5 100644 --- a/codex/codex.nim +++ b/codex/codex.nim @@ -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 diff --git a/codex/slots/proofs/backends/asynccircoms.nim b/codex/slots/proofs/backends/asynccircoms.nim index 613a250e..95593feb 100644 --- a/codex/slots/proofs/backends/asynccircoms.nim +++ b/codex/slots/proofs/backends/asynccircoms.nim @@ -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)