# # create "fake" circuit-specific trusted setup for testing purposes # # by fake here I mean that no actual ceremoney is done, we just generate # some random toxic waste # import sugar import std/sequtils import constantine/math/arithmetic except Fp, Fr import bn128 import domain import poly import zkey_types import r1cs import misc #------------------------------------------------------------------------------- type ToxicWaste = object alpha: Fr beta: Fr gamma: Fr delta: Fr tau: Fr proc randomToxicWaste(): ToxicWaste = let a = randFr() let b = randFr() let c = randFr() let d = randFr() let t = randFr() return ToxicWaste( alpha: a , beta: b , gamma: c , delta: d , tau: t ) #------------------------------------------------------------------------------- func r1csToCoeffs*(r1cs: R1CS): seq[Coeff] = var coeffs : seq[Coeff] let n = r1cs.constraints.len let p = r1cs.cfg.nPubIn + r1cs.cfg.nPubOut for i in 0..