Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
eccvm.test.cpp File Reference

Go to the source code of this file.

Classes

class  ECCVMTests
 

Typedefs

using FF = ECCVMFlavor::FF
 
using PK = ECCVMFlavor::ProvingKey
 
using Transcript = ECCVMFlavor::Transcript
 
using ECCVMVerifier = ECCVMVerifier_< ECCVMFlavor >
 
using PCS = IPA< ECCVMFlavor::Curve, CONST_ECCVM_LOG_N >
 

Functions

ECCVMFlavor::VerificationKey create_vk_from_proving_key (const std::shared_ptr< PK > &proving_key)
 
ECCVMFlavor::BF compute_eccvm_vk_hash ()
 
ECCVMCircuitBuilder generate_circuit (numeric::RNG *engine=nullptr)
 Adds operations in BN254 to the op_queue and then constructs and ECCVM circuit from the op_queue.
 
ECCVMCircuitBuilder generate_zero_circuit (numeric::RNG *engine=nullptr, bool zero_scalars=1)
 
void complete_proving_key_for_test (bb::RelationParameters< FF > &relation_parameters, std::shared_ptr< PK > &pk, std::vector< FF > &gate_challenges)
 
 TEST_F (ECCVMTests, ZeroesCoefficients)
 
 TEST_F (ECCVMTests, MissingHidingOpThrows)
 
 TEST_F (ECCVMTests, NullOpQUeue)
 
 TEST_F (ECCVMTests, PointAtInfinity)
 
 TEST_F (ECCVMTests, ScalarEdgeCase)
 
 TEST_F (ECCVMTests, ProofLengthCheck)
 Check that size of a ECCVM proof matches the corresponding constant.
 
 TEST_F (ECCVMTests, BaseCaseFixedSize)
 
 TEST_F (ECCVMTests, EqFailsFixedSize)
 
 TEST_F (ECCVMTests, CommittedSumcheck)
 
 TEST_F (ECCVMTests, FixedVK)
 Test that the fixed VK from the default constructor agrees with the one computed for an arbitrary circuit.
 

Typedef Documentation

◆ ECCVMVerifier

Definition at line 24 of file eccvm.test.cpp.

◆ FF

Definition at line 21 of file eccvm.test.cpp.

◆ PCS

using PCS = IPA<ECCVMFlavor::Curve, CONST_ECCVM_LOG_N>

Definition at line 25 of file eccvm.test.cpp.

◆ PK

Definition at line 22 of file eccvm.test.cpp.

◆ Transcript

Definition at line 23 of file eccvm.test.cpp.

Function Documentation

◆ complete_proving_key_for_test()

void complete_proving_key_for_test ( bb::RelationParameters< FF > &  relation_parameters,
std::shared_ptr< PK > &  pk,
std::vector< FF > &  gate_challenges 
)

Definition at line 128 of file eccvm.test.cpp.

◆ compute_eccvm_vk_hash()

ECCVMFlavor::BF compute_eccvm_vk_hash ( )

Definition at line 40 of file eccvm.test.cpp.

◆ create_vk_from_proving_key()

ECCVMFlavor::VerificationKey create_vk_from_proving_key ( const std::shared_ptr< PK > &  proving_key)

Definition at line 29 of file eccvm.test.cpp.

◆ generate_circuit()

ECCVMCircuitBuilder generate_circuit ( numeric::RNG engine = nullptr)

Adds operations in BN254 to the op_queue and then constructs and ECCVM circuit from the op_queue.

Parameters
engine
Returns
ECCVMCircuitBuilder

Definition at line 67 of file eccvm.test.cpp.

◆ generate_zero_circuit()

ECCVMCircuitBuilder generate_zero_circuit ( numeric::RNG engine = nullptr,
bool  zero_scalars = 1 
)

Definition at line 102 of file eccvm.test.cpp.

◆ TEST_F() [1/10]

TEST_F ( ECCVMTests  ,
BaseCaseFixedSize   
)

Definition at line 284 of file eccvm.test.cpp.

◆ TEST_F() [2/10]

TEST_F ( ECCVMTests  ,
CommittedSumcheck   
)

Definition at line 332 of file eccvm.test.cpp.

◆ TEST_F() [3/10]

TEST_F ( ECCVMTests  ,
EqFailsFixedSize   
)

Definition at line 306 of file eccvm.test.cpp.

◆ TEST_F() [4/10]

TEST_F ( ECCVMTests  ,
FixedVK   
)

Test that the fixed VK from the default constructor agrees with the one computed for an arbitrary circuit.

Note
If this test fails, it may be because the constant ECCVM_FIXED_SIZE has changed and the fixed VK commitments in ECCVMHardcodedVKAndHash must be updated accordingly. Their values can be taken right from the output of this test.

Definition at line 401 of file eccvm.test.cpp.

◆ TEST_F() [5/10]

TEST_F ( ECCVMTests  ,
MissingHidingOpThrows   
)

Definition at line 180 of file eccvm.test.cpp.

◆ TEST_F() [6/10]

TEST_F ( ECCVMTests  ,
NullOpQUeue   
)

Definition at line 189 of file eccvm.test.cpp.

◆ TEST_F() [7/10]

TEST_F ( ECCVMTests  ,
PointAtInfinity   
)

Definition at line 214 of file eccvm.test.cpp.

◆ TEST_F() [8/10]

TEST_F ( ECCVMTests  ,
ProofLengthCheck   
)

Check that size of a ECCVM proof matches the corresponding constant.

If this test FAILS, then the following (non-exhaustive) list should probably be updated as well:

Definition at line 274 of file eccvm.test.cpp.

◆ TEST_F() [9/10]

TEST_F ( ECCVMTests  ,
ScalarEdgeCase   
)

Definition at line 235 of file eccvm.test.cpp.

◆ TEST_F() [10/10]

TEST_F ( ECCVMTests  ,
ZeroesCoefficients   
)

Definition at line 156 of file eccvm.test.cpp.