diff --git a/crates/nargo/src/cli/build_cmd.rs b/crates/nargo/src/cli/build_cmd.rs index 337581787d7..dd340908e0c 100644 --- a/crates/nargo/src/cli/build_cmd.rs +++ b/crates/nargo/src/cli/build_cmd.rs @@ -6,8 +6,10 @@ use std::path::{Path, PathBuf}; use super::{add_std_lib, write_to_file, PROVER_INPUT_FILE, VERIFIER_INPUT_FILE}; pub(crate) fn run(args: ArgMatches) -> Result<(), CliError> { - let package_dir = std::env::current_dir().unwrap(); + let args = args.subcommand_matches("build").unwrap(); let allow_warnings = args.is_present("allow-warnings"); + + let package_dir = std::env::current_dir().unwrap(); build_from_path(package_dir, allow_warnings)?; println!("Constraint system successfully built!"); Ok(()) diff --git a/crates/nargo/src/cli/mod.rs b/crates/nargo/src/cli/mod.rs index 537f4c540bb..5310d4f0ea8 100644 --- a/crates/nargo/src/cli/mod.rs +++ b/crates/nargo/src/cli/mod.rs @@ -44,7 +44,9 @@ pub fn start_cli() { .about("Noir's package manager") .version("0.1") .author("Kevaundray Wedderburn ") - .subcommand(App::new("build").about("Builds the constraint system")) + .subcommand( + App::new("build").about("Builds the constraint system").arg(allow_warnings.clone()), + ) .subcommand(App::new("contract").about("Creates the smart contract code for circuit")) .subcommand( App::new("new") @@ -58,11 +60,7 @@ pub fn start_cli() { App::new("verify") .about("Given a proof and a program, verify whether the proof is valid") .arg(Arg::with_name("proof").help("The proof to verify").required(true)) - .arg( - Arg::with_name("allow-warnings") - .long("allow-warnings") - .help("Issue a warning for each unused variable instead of an error"), - ), + .arg(allow_warnings.clone()), ) .subcommand( App::new("prove") diff --git a/crates/nargo/src/cli/verify_cmd.rs b/crates/nargo/src/cli/verify_cmd.rs index aa861537cb8..1d0c57a2e1f 100644 --- a/crates/nargo/src/cli/verify_cmd.rs +++ b/crates/nargo/src/cli/verify_cmd.rs @@ -7,7 +7,9 @@ use noirc_abi::{input_parser::InputValue, Abi}; use std::{collections::BTreeMap, path::Path, path::PathBuf}; pub(crate) fn run(args: ArgMatches) -> Result<(), CliError> { - let proof_name = args.subcommand_matches("verify").unwrap().value_of("proof").unwrap(); + let args = args.subcommand_matches("verify").unwrap(); + + let proof_name = args.value_of("proof").unwrap(); let mut proof_path = std::path::PathBuf::new(); proof_path.push(Path::new(PROOFS_DIR)); @@ -15,6 +17,7 @@ pub(crate) fn run(args: ArgMatches) -> Result<(), CliError> { proof_path.set_extension(PROOF_EXT); let allow_warnings = args.is_present("allow-warnings"); + dbg!(args.clone()); let result = verify(proof_name, allow_warnings)?; println!("Proof verified : {}\n", result); Ok(()) diff --git a/crates/nargo/tests/build_tests_data/pass_dev_mode/unused/Nargo.toml b/crates/nargo/tests/build_tests_data/pass_dev_mode/unused/Nargo.toml new file mode 100644 index 00000000000..e0b467ce5da --- /dev/null +++ b/crates/nargo/tests/build_tests_data/pass_dev_mode/unused/Nargo.toml @@ -0,0 +1,5 @@ +[package] +authors = [""] +compiler_version = "0.1" + +[dependencies] \ No newline at end of file diff --git a/crates/nargo/tests/build_tests_data/pass_dev_mode/unused/Prover.toml b/crates/nargo/tests/build_tests_data/pass_dev_mode/unused/Prover.toml new file mode 100644 index 00000000000..8c12ebba6cf --- /dev/null +++ b/crates/nargo/tests/build_tests_data/pass_dev_mode/unused/Prover.toml @@ -0,0 +1,2 @@ +x = "1" +y = "2" diff --git a/crates/nargo/tests/build_tests_data/pass_dev_mode/unused/src/main.nr b/crates/nargo/tests/build_tests_data/pass_dev_mode/unused/src/main.nr new file mode 100644 index 00000000000..d0ffa8a0d91 --- /dev/null +++ b/crates/nargo/tests/build_tests_data/pass_dev_mode/unused/src/main.nr @@ -0,0 +1,3 @@ +fn main(x : Field, y : pub Field) { + +} \ No newline at end of file