Open mimoo opened 4 months ago
I think essentially this will come down to just providing these things as libraries, where a backend can provide its own library.
So kimchi's poseidon should be provided via something like use backend::kimchi
which will panic if you're not using the kimchi backend, but will give you access to kimchi::poseidon
. I thought I wrote that idea somewhere else but can't find it. I can't think of a more elegant way atm.
what should we do here? What version of poseidon does Circom implement?
https://github.com/zksecurity/noname/blob/main/src/backends/r1cs/builtin.rs#L19