acvm_blackbox_solver/
lib.rs1#![forbid(unsafe_code)]
2#![cfg_attr(not(test), warn(unused_crate_dependencies, unused_extern_crates))]
3
4use acir::BlackBoxFunc;
9use thiserror::Error;
10
11mod aes128;
12mod curve_specific_solver;
13mod ecdsa;
14mod hash;
15mod logic;
16
17pub use aes128::aes128_encrypt;
18pub use curve_specific_solver::{BlackBoxFunctionSolver, StubbedBlackBoxSolver};
19pub use ecdsa::{ecdsa_secp256k1_verify, ecdsa_secp256r1_verify};
20pub use hash::{blake2s, blake3, keccakf1600, sha256_compression};
21pub use logic::{bit_and, bit_xor};
22
23#[derive(Clone, PartialEq, Eq, Debug, Error)]
24pub enum BlackBoxResolutionError {
25 #[error("failed to solve blackbox function: {0}, reason: {1}")]
26 Failed(BlackBoxFunc, String),
27 #[error("{0}")]
28 AssertFailed(String),
29}