From 1c30941ce43da217dee5019208a63c2507a27f27 Mon Sep 17 00:00:00 2001 From: "e.tatuzova" Date: Mon, 29 Apr 2024 06:38:22 +0400 Subject: [PATCH] Submodules updated, max-quotient-chunks parameter added to command-line arguments#83 --- .../include/nil/proof-generator/arg_parser.hpp | 3 ++- .../include/nil/proof-generator/prover.hpp | 16 +++++++++++----- bin/proof-generator/src/arg_parser.cpp | 1 + bin/proof-generator/src/main.cpp | 8 +------- libs/transpiler | 2 +- 5 files changed, 16 insertions(+), 14 deletions(-) diff --git a/bin/proof-generator/include/nil/proof-generator/arg_parser.hpp b/bin/proof-generator/include/nil/proof-generator/arg_parser.hpp index 902f657c..fe00a924 100644 --- a/bin/proof-generator/include/nil/proof-generator/arg_parser.hpp +++ b/bin/proof-generator/include/nil/proof-generator/arg_parser.hpp @@ -44,10 +44,11 @@ namespace nil { bool verification_only = false; CurvesVariant elliptic_curve_type = type_identity{}; HashesVariant hash_type = type_identity>{}; - ; + std::size_t lambda = 9; std::size_t grind = 69; std::size_t expand_factor = 2; + std::size_t max_quotient_chunks = 0; }; std::optional parse_args(int argc, char* argv[]); diff --git a/bin/proof-generator/include/nil/proof-generator/prover.hpp b/bin/proof-generator/include/nil/proof-generator/prover.hpp index 7095dbd6..cf683bf6 100644 --- a/bin/proof-generator/include/nil/proof-generator/prover.hpp +++ b/bin/proof-generator/include/nil/proof-generator/prover.hpp @@ -38,13 +38,15 @@ #include #include #include +/* clang-format off */ #include -#include #include #include #include #include #include +#include +/* clang-format on */ #include #include @@ -128,6 +130,7 @@ namespace nil { boost::filesystem::path json_file, std::size_t lambda, std::size_t expand_factor, + std::size_t max_q_chunks, std::size_t grind ) : circuit_file_(circuit_file_name) @@ -137,8 +140,8 @@ namespace nil { , json_file_(json_file) , lambda_(lambda) , expand_factor_(expand_factor) + , max_quotient_chunks_(max_q_chunks) , grind_(grind) { - std::cout << "Global constructor" << std::endl; } bool generate_to_file(bool skip_verification) { @@ -310,13 +313,14 @@ namespace nil { nil::crypto3::marshalling::types::make_assignment_table( *marshalled_table ); - table_description_ = table_description; + + public_inputs_ = assignment_table.public_inputs(); + table_description_.emplace(table_description); // Lambdas and grinding bits should be passed threw preprocessor directives std::size_t table_rows_log = std::ceil(std::log2(table_description_->rows_amount)); fri_params_.emplace(FriParams(1, table_rows_log, lambda_, expand_factor_)); - lpc_scheme_.emplace(*fri_params_); BOOST_LOG_TRIVIAL(info) << "Preprocessing public data"; @@ -326,7 +330,8 @@ namespace nil { *constraint_system_, assignment_table.move_public_table(), *table_description_, - *lpc_scheme_ + *lpc_scheme_, + max_quotient_chunks_ ) ); @@ -344,6 +349,7 @@ namespace nil { const boost::filesystem::path proof_file_; const boost::filesystem::path json_file_; const std::size_t expand_factor_; + const std::size_t max_quotient_chunks_; const std::size_t lambda_; const std::size_t grind_; diff --git a/bin/proof-generator/src/arg_parser.cpp b/bin/proof-generator/src/arg_parser.cpp index e351a276..06bf3b9f 100644 --- a/bin/proof-generator/src/arg_parser.cpp +++ b/bin/proof-generator/src/arg_parser.cpp @@ -83,6 +83,7 @@ namespace nil { ("lambda-param", make_defaulted_option(prover_options.lambda), "Lambda param (9)") ("grind-param", make_defaulted_option(prover_options.grind), "Grind param (69)") ("expand-factor,x", make_defaulted_option(prover_options.expand_factor), "Expand factor") + ("max-quotient-chunks,q", make_defaulted_option(prover_options.max_quotient_chunks), "Maximum quotient polynomial parts amount") ("skip-verification", po::bool_switch(&prover_options.skip_verification), "Skip generated proof verifying step") ("verification-only", po::bool_switch(&prover_options.verification_only), "Read proof for verification instead of writing to it"); // clang-format on diff --git a/bin/proof-generator/src/main.cpp b/bin/proof-generator/src/main.cpp index db342db6..15d37be3 100644 --- a/bin/proof-generator/src/main.cpp +++ b/bin/proof-generator/src/main.cpp @@ -40,6 +40,7 @@ int run_prover(const nil::proof_generator::ProverOptions& prover_options) { prover_options.json_file_path, prover_options.lambda, prover_options.expand_factor, + prover_options.max_quotient_chunks, prover_options.grind ); bool prover_result; @@ -64,7 +65,6 @@ int hash_wrapper(const ProverOptions& prover_options) { int ret; auto run_prover_wrapper_void = [&prover_options, &ret]() { using HashType = typename HashTypeIdentity::type; - std::cout << "run prover" << std::endl; ret = run_prover(prover_options); }; pass_variant_type_to_template_func(prover_options.hash_type, run_prover_wrapper_void); @@ -72,7 +72,6 @@ int hash_wrapper(const ProverOptions& prover_options) { } int curve_wrapper(const ProverOptions& prover_options) { - std::cout << "Curve wrapper" << std::endl; int ret; auto curves_wrapper_void = [&prover_options, &ret]() { using CurveType = typename CurveTypeIdentity::type; @@ -83,19 +82,14 @@ int curve_wrapper(const ProverOptions& prover_options) { } int initial_wrapper(const ProverOptions& prover_options) { - std::cout << "Initial wrapper" << std::endl; return curve_wrapper(prover_options); } int main(int argc, char* argv[]) { - std::cout << "Main" << std::endl; std::optional prover_options = nil::proof_generator::parse_args(argc, argv); - std::cout << "Parsed" << std::endl; if (!prover_options) { // Action has already taken a place (help, version, etc.) return 0; } - std::cout << "Prover done" << std::endl; - return initial_wrapper(*prover_options); } diff --git a/libs/transpiler b/libs/transpiler index 28c8d23b..76f254f4 160000 --- a/libs/transpiler +++ b/libs/transpiler @@ -1 +1 @@ -Subproject commit 28c8d23b10548c1d287c530a425bb8853d642877 +Subproject commit 76f254f4a5573316cddcf41b53affbd672f33b3b