Zerokit supports Poseidon2 as an alternative hash function alongside Poseidon
Zerokit supports the automatic generation of round parameters for both Poseidon and Poseidon2
Usability
The Zerokit public API is defined in a specification
The Zerokit public API provides an easy-to-use interface for developers in Rust and C
The Zerokit FFI, including WASM targets, supports big-endian arguments
A Zerokit release is published introducing partial proof generation and multi-ID burning
The Zerokit architecture is changed from compile-time feature flags to runtime configuration based on enums
The hash function selection (Poseidon vs Poseidon2) is exposed via the runtime configuration enum
The implementation of the new Poseidon2 circuit has been completed and documented in the circom-rln repo
A Zerokit release is published introducing Poseidon2 support
The Zerokit API specification is updated for v3.1.0 covering Poseidon2
Reliability
Poseidon2 proofs verify correctly and Poseidon behavior remains unchanged when Poseidon2 is enabled
A mismatch between the configured resources and hash function is reported with a specific error at validation time rather than as a generic invalid proof
Performance
Poseidon2 proof generation is benchmarked against Poseidon and demonstrates measurable improvement
Supportability
Outstanding issues and dependency updates are addressed to keep the codebase maintainable
Static analysis of the circuits for both Poseidon and Poseidon2 is performed and documented
New Poseidon2-related functionality and APIs are fully exposed through the FFI and WASM interfaces