use super::alg_parameters::Algorithm;
use super::curves::EllipticCurveTypes;
use crate::jpa::algs::{PresentationProofAlgorithm, ProofAlgorithm};
pub fn check_alg_curve_compatibility(alg: Algorithm, crv: EllipticCurveTypes) -> bool {
match (alg, crv) {
(Algorithm::Proof(ProofAlgorithm::BBS), EllipticCurveTypes::BLS12381G2) => true,
(Algorithm::Proof(ProofAlgorithm::BBS_SHAKE256), EllipticCurveTypes::BLS12381G2) => {
true
}
_ => false,
}
}
pub fn check_presentation_alg_curve_compatibility(
alg: PresentationProofAlgorithm,
crv: EllipticCurveTypes,
) -> bool {
match (alg, crv) {
(PresentationProofAlgorithm::BBS, EllipticCurveTypes::BLS12381G2) => true,
(PresentationProofAlgorithm::BBS_SHAKE256, EllipticCurveTypes::BLS12381G2) => {
true
}
_ => false,
}
}