swiftness_commitment 1.0.0

Swiftness - Rust CairoVM Verifier implementation
Documentation
fn main() {
    macro_rules! check_feature_enabled {
        ($($feature:literal),*) => {
            #[cfg(not(any($(feature = $feature),*)))]
            compile_error!(concat!(
                "At least one feature must be enabled: ",
                $(concat!("`", $feature, "`, "),)*
            ));
        };
    }

    macro_rules! assert_unique_feature {
        () => {};
        ($first:tt $(,$rest:tt)*) => {
            $(
                #[cfg(all(feature = $first, feature = $rest))]
                compile_error!(concat!("Features \"", $first, "\" and \"", $rest, "\" cannot be used together"));
            )*
            assert_unique_feature!($($rest),*);
        }
    }

    #[rustfmt::skip]
    mod check_hash {
        check_feature_enabled!("keccak_160_lsb", "keccak_248_lsb", "blake2s_160_lsb", "blake2s_248_lsb");
        assert_unique_feature!("keccak_160_lsb", "keccak_248_lsb", "blake2s_160_lsb", "blake2s_248_lsb");
    }
}