our Sage implementation of Poseidon (adapted from the paper's Sage spec)
our Rust implementation of Poseidon (in poseidon-permutation)
a fork of ark-sponge based on the 0.3 release
In this PR we move them into a crate poseidon-consistency that will not be published anywhere. The ark-sponge dependency is otherwise removed from poseidon-paramgen and poseidon-permutation, which only used ark-sponge in tests.
We still use the ark-sponge dependency in poseidon377 for the r1cs feature, which we may want to remove at a later date or switch from our fork to upstream such that we can publish the poseidon377 crate. But with these changes we should be able to publish the poseidon-paramgen and poseidon-permutation crates.
We have tests that verify consistency between:
In this PR we move them into a crate poseidon-consistency that will not be published anywhere. The ark-sponge dependency is otherwise removed from poseidon-paramgen and poseidon-permutation, which only used ark-sponge in tests.
We still use the ark-sponge dependency in poseidon377 for the r1cs feature, which we may want to remove at a later date or switch from our fork to upstream such that we can publish the poseidon377 crate. But with these changes we should be able to publish the poseidon-paramgen and poseidon-permutation crates.