Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
circuit_checker.hpp
Go to the documentation of this file.
1
#pragma once
2
#include "
barretenberg/circuit_checker/ultra_circuit_checker.hpp
"
3
#include "
barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp
"
4
5
// TODO(https://github.com/AztecProtocol/barretenberg/issues/928): Reorganize
6
7
namespace
bb
{
8
template
<
typename
T>
9
concept
IsCheckable
=
bb::IsAnyOf<T, UltraCircuitBuilder, MegaCircuitBuilder>
;
10
15
class
CircuitChecker
{
16
public
:
17
template
<
typename
Builder>
static
bool
check
(
const
Builder
&
builder
)
18
{
19
static_assert
(
IsCheckable<Builder>
);
20
if
constexpr
(
IsUltraBuilder<Builder>
||
IsMegaBuilder<Builder>
) {
21
return
UltraCircuitChecker::check
(
builder
);
22
}
else
{
23
return
false
;
24
}
25
}
26
};
27
28
}
// namespace bb
bb::CircuitChecker
The unified interface for check circuit functionality implemented in the specialized CircuitChecker c...
Definition
circuit_checker.hpp:15
bb::CircuitChecker::check
static bool check(const Builder &builder)
Definition
circuit_checker.hpp:17
bb::ECCVMCircuitBuilder
Definition
eccvm_circuit_builder.hpp:24
bb::UltraCircuitChecker::check
static bool check(const Builder &builder_in)
Check the correctness of a circuit witness.
Definition
ultra_circuit_checker.cpp:46
IsMegaBuilder
Definition
circuit_builders.hpp:21
IsUltraBuilder
Definition
circuit_builders.hpp:19
bb::IsAnyOf
Definition
circuit_type.hpp:15
bb::IsCheckable
Definition
circuit_checker.hpp:9
builder
AluTraceBuilder builder
Definition
alu.test.cpp:123
bb
Entry point for Barretenberg command-line interface.
Definition
acir_format_getters.cpp:6
ultra_circuit_builder.hpp
ultra_circuit_checker.hpp
src
barretenberg
circuit_checker
circuit_checker.hpp
Generated by
1.9.8