From c6648981c62f0a710bc5d52596729c7def18d558 Mon Sep 17 00:00:00 2001 From: maramihali Date: Mon, 3 Feb 2025 12:13:32 +0000 Subject: [PATCH 1/3] bye standard functionality --- .../proof_system/verification_key/sol_gen.hpp | 4 --- .../circuits/add_2_circuit.hpp | 3 +- .../circuits/blake_circuit.hpp | 3 +- .../circuits/ecdsa_circuit.hpp | 4 +-- .../circuits/recursive_circuit.hpp | 21 ++++------- .../solidity_helpers/honk_key_gen.cpp | 5 ++- .../solidity_helpers/honk_proof_gen.cpp | 4 +-- .../barretenberg/solidity_helpers/key_gen.cpp | 35 ++++++++----------- .../solidity_helpers/proof_gen.cpp | 20 +++++------ barretenberg/sol/scripts/init.sh | 10 +++--- 10 files changed, 45 insertions(+), 64 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/sol_gen.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/sol_gen.hpp index e270a46fe755..21f3c7d3b641 100644 --- a/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/sol_gen.hpp +++ b/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/sol_gen.hpp @@ -145,10 +145,6 @@ inline void output_vk_sol(std::ostream& os, std::shared_ptr(key->circuit_type); switch (circuit_type) { - case CircuitType::STANDARD: { - return output_vk_sol_standard(os, key, class_name); - break; - } case CircuitType::ULTRA: { return output_vk_sol_ultra(os, key, class_name); break; diff --git a/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/add_2_circuit.hpp b/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/add_2_circuit.hpp index ca28307849e1..822623d5dc95 100644 --- a/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/add_2_circuit.hpp +++ b/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/add_2_circuit.hpp @@ -2,8 +2,9 @@ #include "barretenberg/stdlib/primitives/field/field.hpp" #include "barretenberg/stdlib/primitives/witness/witness.hpp" -template class Add2Circuit { +class Add2Circuit { public: + using Builder = bb::UltraCircuitBuilder; using public_witness_ct = bb::stdlib::public_witness_t; using field_ct = bb::stdlib::field_t; diff --git a/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/blake_circuit.hpp b/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/blake_circuit.hpp index ff31d816301d..9646c8bbcf48 100644 --- a/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/blake_circuit.hpp +++ b/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/blake_circuit.hpp @@ -3,8 +3,9 @@ #include "barretenberg/stdlib/primitives/field/field.hpp" #include "barretenberg/stdlib/primitives/witness/witness.hpp" -template class BlakeCircuit { +class BlakeCircuit { public: + using Builder = bb::UltraCircuitBuilder; using field_ct = bb::stdlib::field_t; using public_witness_ct = bb::stdlib::public_witness_t; using byte_array_ct = bb::stdlib::byte_array; diff --git a/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/ecdsa_circuit.hpp b/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/ecdsa_circuit.hpp index 18e5eaac1dfc..1c24902107af 100644 --- a/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/ecdsa_circuit.hpp +++ b/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/ecdsa_circuit.hpp @@ -13,9 +13,9 @@ #include "barretenberg/stdlib/primitives/witness/witness.hpp" namespace bb { - -template class EcdsaCircuit { +class EcdsaCircuit { public: + using Builder = bb::UltraCircuitBuilder; using field_ct = stdlib::field_t; using bool_ct = stdlib::bool_t; using public_witness_ct = stdlib::public_witness_t; diff --git a/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/recursive_circuit.hpp b/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/recursive_circuit.hpp index 66a429be92f0..5b690e8af3f2 100644 --- a/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/recursive_circuit.hpp +++ b/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/recursive_circuit.hpp @@ -14,9 +14,10 @@ using namespace bb::plonk; using namespace stdlib; using numeric::uint256_t; -template class RecursiveCircuit { +class RecursiveCircuit { using InnerComposer = UltraComposer; - using InnerBuilder = typename InnerComposer::CircuitBuilder; + using InnerBuilder = UltraCircuitBuilder; + using OuterBuilder = UltraCircuitBuilder; using inner_curve = bn254; using outer_curve = bn254; @@ -65,11 +66,7 @@ template class RecursiveCircuit { { ProverOfInnerCircuit prover; InnerComposer inner_composer; - if constexpr (is_ultra_to_ultra) { - prover = inner_composer.create_prover(inner_circuit); - } else { - prover = inner_composer.create_ultra_to_standard_prover(inner_circuit); - } + prover = inner_composer.create_prover(inner_circuit); const auto verification_key_native = inner_composer.compute_verification_key(inner_circuit); // Convert the verification key's elements into _circuit_ types, using the OUTER composer. @@ -82,14 +79,10 @@ template class RecursiveCircuit { // Native check is mainly for comparison vs circuit version of the verifier. VerifierOfInnerProof native_verifier; - if constexpr (is_ultra_to_ultra) { - native_verifier = inner_composer.create_verifier(inner_circuit); - } else { - native_verifier = inner_composer.create_ultra_to_standard_verifier(inner_circuit); - } + native_verifier = inner_composer.create_verifier(inner_circuit); - auto native_result = native_verifier.verify_proof(proof_to_recursively_verify); - if (native_result == false) { + bool native_result = native_verifier.verify_proof(proof_to_recursively_verify); + if (!native_result) { throw_or_abort("Native verification failed"); } } diff --git a/barretenberg/cpp/src/barretenberg/solidity_helpers/honk_key_gen.cpp b/barretenberg/cpp/src/barretenberg/solidity_helpers/honk_key_gen.cpp index 4555240febe4..a04e876e9bcb 100644 --- a/barretenberg/cpp/src/barretenberg/solidity_helpers/honk_key_gen.cpp +++ b/barretenberg/cpp/src/barretenberg/solidity_helpers/honk_key_gen.cpp @@ -16,11 +16,10 @@ using namespace bb; using DeciderProvingKey = DeciderProvingKey_; using VerificationKey = UltraKeccakFlavor::VerificationKey; -template