mirror of
https://github.com/luxfi/crypto.git
synced 2026-07-27 01:54:50 +00:00
Replace github.com/luxfi/crypto/ipa/banderwagon with the canonical github.com/luxfi/crypto/banderwagon in ipa/batch.go and its test, plus the verkle-ipa docs example and the rust spec_vectors comment. The old ipa/banderwagon subdirectory was deleted in 5a1479b; banderwagon now has a single canonical home at the top level of luxfi/crypto. go.mod adds the indirect entries for go-verkle and go-ipa that the rerouted test_helper graph now exercises. The luxfi-mirror replace directives remain in place so all upstream go-ipa/go-verkle traffic still flows through luxfi-maintained sources. Build: go build ./... clean (one ld linker warning unrelated). Tests: ./banderwagon/... ./ipa/... pass (7 ok, 2 no-test-files). Pre-existing failure in ./verkle/ is unrelated: verkle_test.go references BatchProof/VerifyBatch/ErrBatchLengthMismatch symbols that were never implemented in the verkle package (separate gap, present on main before this fix).
lux-crypto-banderwagon
Canonical Rust binding for Banderwagon, the prime-order subgroup of the Bandersnatch curve used in Verkle commitments.
Wraps the C-ABI exposed by luxcpp/crypto/banderwagon.
Algorithm
- Banderwagon -- prime-order subgroup of Bandersnatch (twisted Edwards over BLS12-381 scalar)
- Used as the base group for Pedersen / IPA / Verkle
Build
Set CRYPTO_DIR (install prefix) or CRYPTO_BUILD_DIR (cmake build dir) so
the build script can find libbanderwagon_cpu.a.
git clone https://github.com/luxfi/crypto
cd crypto && cmake -S . -B build-cto && cmake --build build-cto
export CRYPTO_BUILD_DIR=$(pwd)/build-cto
cargo build -p lux-crypto-banderwagon
Attribution
Curve constants derived from the public Banderwagon SRS.
License
See LICENSE at the repository root.