From 0b247113795571da0b9d1252897757bf97da2d2b Mon Sep 17 00:00:00 2001 From: kevaundray Date: Tue, 5 Sep 2023 10:37:05 +0100 Subject: [PATCH] chore: acir tests are no longer base64 encoded (#1854) Please provide a paragraph or two giving a summary of the change, including relevant motivation and context. # Checklist: Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge. - [ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag. - [ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code. - [ ] Every change is related to the PR description. - [ ] I have [linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) this pull request to relevant issues (if any exist). --- acir_tests/flows/all_cmds.sh | 4 +--- acir_tests/flows/prove_and_verify.sh | 6 ++---- acir_tests/headless-test/src/index.ts | 12 ++++++------ acir_tests/run_acir_tests.sh | 6 +++--- cpp/bin-test/target/acir.gz | Bin 0 -> 1313 bytes cpp/bin-test/target/witness.gz | Bin 0 -> 8388 bytes cpp/src/barretenberg/bb/get_bytecode.hpp | 2 +- cpp/src/barretenberg/bb/main.cpp | 4 ++-- ts/bin-test/target/acir.gz | Bin 0 -> 1313 bytes ts/bin-test/target/witness.gz | Bin 0 -> 8388 bytes ts/src/main.ts | 19 +++++++++---------- 11 files changed, 24 insertions(+), 29 deletions(-) create mode 100644 cpp/bin-test/target/acir.gz create mode 100644 cpp/bin-test/target/witness.gz create mode 100644 ts/bin-test/target/acir.gz create mode 100644 ts/bin-test/target/witness.gz diff --git a/acir_tests/flows/all_cmds.sh b/acir_tests/flows/all_cmds.sh index 1055f712a4..dda4353fb6 100755 --- a/acir_tests/flows/all_cmds.sh +++ b/acir_tests/flows/all_cmds.sh @@ -1,15 +1,13 @@ #!/bin/sh set -eu -NAME=$(basename $PWD) - if [ -n "${VERBOSE:-}" ]; then VFLAG="-v" else VFLAG="" fi -BFLAG="-b ./target/${NAME}.bytecode" +BFLAG="-b ./target/acir.gz" FLAGS="-c $CRS_PATH $VFLAG" # Test we can perform the proof/verify flow. diff --git a/acir_tests/flows/prove_and_verify.sh b/acir_tests/flows/prove_and_verify.sh index 945b6194da..216c3742a6 100755 --- a/acir_tests/flows/prove_and_verify.sh +++ b/acir_tests/flows/prove_and_verify.sh @@ -1,10 +1,8 @@ #!/bin/sh set -eu -NAME=$(basename $PWD) - if [ -n "$VERBOSE" ]; then - $BIN prove_and_verify -v -c $CRS_PATH -b ./target/$NAME.bytecode + $BIN prove_and_verify -v -c $CRS_PATH -b ./target/acir.gz else - $BIN prove_and_verify -c $CRS_PATH -b ./target/$NAME.bytecode > /dev/null 2>&1 + $BIN prove_and_verify -c $CRS_PATH -b ./target/acir.gz > /dev/null 2>&1 fi \ No newline at end of file diff --git a/acir_tests/headless-test/src/index.ts b/acir_tests/headless-test/src/index.ts index 25ebf03324..5c91dc8fa1 100644 --- a/acir_tests/headless-test/src/index.ts +++ b/acir_tests/headless-test/src/index.ts @@ -38,8 +38,8 @@ function formatAndPrintLog(message: string): void { } const readBytecodeFile = (path: string): Uint8Array => { - const data = fs.readFileSync(path, "ascii"); - const buffer = gunzipSync(Buffer.from(data, "base64")); + const data = fs.readFileSync(path); + const buffer = gunzipSync(data); return buffer; }; @@ -60,13 +60,13 @@ program ) .option( "-b, --bytecode-path ", - "Specify the bytecode path", - "./target/main.bytecode" + "Specify the path to the gzip encoded ACIR bytecode", + "./target/acir.gz" ) .option( "-w, --witness-path ", - "Specify the witness path", - "./target/witness.tr" + "Specify the path to the gzip encoded ACIR witness", + "./target/witness.gz" ) .action(async ({ bytecodePath, witnessPath, recursive }) => { const acir = readBytecodeFile(bytecodePath); diff --git a/acir_tests/run_acir_tests.sh b/acir_tests/run_acir_tests.sh index ef0c71a034..7b97f28738 100755 --- a/acir_tests/run_acir_tests.sh +++ b/acir_tests/run_acir_tests.sh @@ -30,10 +30,10 @@ if [ ! -d acir_tests ]; then git clone -b $BRANCH --filter=blob:none --no-checkout https://github.com/noir-lang/noir.git cd noir git sparse-checkout init --cone - git sparse-checkout set crates/nargo_cli/tests/execution_success + git sparse-checkout set crates/nargo_cli/tests/acir_artifacts git checkout cd .. - mv noir/crates/nargo_cli/tests/execution_success acir_tests + mv noir/crates/nargo_cli/tests/acir_artifacts acir_tests rm -rf noir fi fi @@ -73,7 +73,7 @@ else continue fi - if [[ ! -f ./$TEST_NAME/target/$TEST_NAME.bytecode || ! -f ./$TEST_NAME/target/witness.tr ]]; then + if [[ ! -f ./$TEST_NAME/target/acir.gz || ! -f ./$TEST_NAME/target/witness.gz ]]; then echo -e "\033[33mSKIPPED\033[0m (uncompiled)" continue fi diff --git a/cpp/bin-test/target/acir.gz b/cpp/bin-test/target/acir.gz new file mode 100644 index 0000000000000000000000000000000000000000..d1fe5b039c4050ee4b3e8e427d15665965d95cfa GIT binary patch literal 1313 zcmcK1k5f{2003}JP|HM7MEr$IPgiZa^@}tX_G8wyR%4slb(CB0orwCrcw3ucl*>%Q zAJA)C+}T@Nx;V>I;URA*J?ZtIl$Xu*y!^EL%kh1i zN7rPmTq)#x<>D;OM+^q_bNc;3m{OIM#e|Y+&Lp-o**_wQQjM~9p^PCkeia&V6^$)K zna@#n3`(y@V-BEEHZ&m%FyUJG?B^=ui~?^`HX&kdD76CQ<8uZXWDhe(dqPwKHqTucTe$)v-2x>w+6kG#-_+k%^}@Qaox>9$C{## zHHXbNCCr(WP*h2TJs~{AkW_nk!i8WGP*g zz0RL!!~45}>mFQ>_Lf&kUWFX5?wH=t)BBs3Ht7obTi!UmuDrLy8~VHN&63Gcc^6Ny zE~EBH#@P^qe7B+QJwr{gK^bSL78n#%UB4kr2o4U`jDQi zvApwt?8L_N1}k1q+w|-2&4nEq?)#4H`7DuhfhaDN5c13~9LE&5u)m9@Ab~{x+ zgnWzLQg>cOim(B-{yB0C>lJp^BSNfSsJ9`dSf9JI3lU?3Zv7lmF1X3;tU?Y8ZZq}$ z$Txyps?IA&pR|m)q0J%&?YXnULaI$V9MG}G_;k(S!KjIfM8ZN zQ4hodtBN=efWt}<7eNWvs`OBOO(%wWkgv2I_OTaJo=~6q#N8e+seNUC^TOw;EXXVP z`uMZgJ3X+k`mMPXzX+loqoulW5at;1;5R^`W6Yy_OZst5G`x}w=bCA{J~Ej5NQpO- zEUrbVbCDG8!@c-VB!fG;S2sc~=Z*~HIx?O+HmsW^ml#dycr6)WG^gwClFN*b+VNI0 z)@W(hO_71dhhiKfnZ{AE&Oy?QBQJ3y$u^F?)cHt%sfmrBA?Z>xTQ^89l|E{~A1ru+ z5B?xtocI6YTtUvZ{G6@(a<+eO-m=HM4VbqcGH*YzUjEpdw2>EAl)SNLdSQ&yGm_V+ zEg&6yno0n6uN3CWM+8kc!!a z+5>=tjk`6OARTkKwPk>ZO)@o9utH#EYO}!_!DE#s1*{U-RoZ-zDVWIBT&B+^GI$F; zGt?~O3{{+ip9fKb(Olgq2o;Q2a6L#6j9GNAL8UybrlWbqn8L)`V`AJl#iyAf+Dx&) z#3W7Zgj0Q!nnvH95#y!B#pj3qEF7QBYzujxQIYLzY`Bx%aC38Gq(MGY($-3MeP%y6 KBwQQg=l2gwqm()T literal 0 HcmV?d00001 diff --git a/cpp/bin-test/target/witness.gz b/cpp/bin-test/target/witness.gz new file mode 100644 index 0000000000000000000000000000000000000000..b250bdfe7bcba64748c742805a950877e2a6b4fe GIT binary patch literal 8388 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 aVXU{mFxER<80&Et#`*`PB6RwQXaE4t>{CJj literal 0 HcmV?d00001 diff --git a/cpp/src/barretenberg/bb/get_bytecode.hpp b/cpp/src/barretenberg/bb/get_bytecode.hpp index 2b59e9b4f5..2c7af46cfc 100644 --- a/cpp/src/barretenberg/bb/get_bytecode.hpp +++ b/cpp/src/barretenberg/bb/get_bytecode.hpp @@ -6,6 +6,6 @@ */ inline std::vector get_bytecode(const std::string& bytecodePath) { - std::string command = "cat " + bytecodePath + " | base64 -d | gunzip"; + std::string command = "gunzip -c \"" + bytecodePath + "\""; return exec_pipe(command); } \ No newline at end of file diff --git a/cpp/src/barretenberg/bb/main.cpp b/cpp/src/barretenberg/bb/main.cpp index 3ca8df8ba0..3b527b5dbc 100644 --- a/cpp/src/barretenberg/bb/main.cpp +++ b/cpp/src/barretenberg/bb/main.cpp @@ -293,8 +293,8 @@ int main(int argc, char* argv[]) std::string command = args[0]; - std::string bytecode_path = getOption(args, "-b", "./target/main.bytecode"); - std::string witness_path = getOption(args, "-w", "./target/witness.tr"); + std::string bytecode_path = getOption(args, "-b", "./target/acir.gz"); + std::string witness_path = getOption(args, "-w", "./target/witness.gz"); std::string proof_path = getOption(args, "-p", "./proofs/proof"); std::string vk_path = getOption(args, "-k", "./target/vk"); CRS_PATH = getOption(args, "-c", "./crs"); diff --git a/ts/bin-test/target/acir.gz b/ts/bin-test/target/acir.gz new file mode 100644 index 0000000000000000000000000000000000000000..d1fe5b039c4050ee4b3e8e427d15665965d95cfa GIT binary patch literal 1313 zcmcK1k5f{2003}JP|HM7MEr$IPgiZa^@}tX_G8wyR%4slb(CB0orwCrcw3ucl*>%Q zAJA)C+}T@Nx;V>I;URA*J?ZtIl$Xu*y!^EL%kh1i zN7rPmTq)#x<>D;OM+^q_bNc;3m{OIM#e|Y+&Lp-o**_wQQjM~9p^PCkeia&V6^$)K zna@#n3`(y@V-BEEHZ&m%FyUJG?B^=ui~?^`HX&kdD76CQ<8uZXWDhe(dqPwKHqTucTe$)v-2x>w+6kG#-_+k%^}@Qaox>9$C{## zHHXbNCCr(WP*h2TJs~{AkW_nk!i8WGP*g zz0RL!!~45}>mFQ>_Lf&kUWFX5?wH=t)BBs3Ht7obTi!UmuDrLy8~VHN&63Gcc^6Ny zE~EBH#@P^qe7B+QJwr{gK^bSL78n#%UB4kr2o4U`jDQi zvApwt?8L_N1}k1q+w|-2&4nEq?)#4H`7DuhfhaDN5c13~9LE&5u)m9@Ab~{x+ zgnWzLQg>cOim(B-{yB0C>lJp^BSNfSsJ9`dSf9JI3lU?3Zv7lmF1X3;tU?Y8ZZq}$ z$Txyps?IA&pR|m)q0J%&?YXnULaI$V9MG}G_;k(S!KjIfM8ZN zQ4hodtBN=efWt}<7eNWvs`OBOO(%wWkgv2I_OTaJo=~6q#N8e+seNUC^TOw;EXXVP z`uMZgJ3X+k`mMPXzX+loqoulW5at;1;5R^`W6Yy_OZst5G`x}w=bCA{J~Ej5NQpO- zEUrbVbCDG8!@c-VB!fG;S2sc~=Z*~HIx?O+HmsW^ml#dycr6)WG^gwClFN*b+VNI0 z)@W(hO_71dhhiKfnZ{AE&Oy?QBQJ3y$u^F?)cHt%sfmrBA?Z>xTQ^89l|E{~A1ru+ z5B?xtocI6YTtUvZ{G6@(a<+eO-m=HM4VbqcGH*YzUjEpdw2>EAl)SNLdSQ&yGm_V+ zEg&6yno0n6uN3CWM+8kc!!a z+5>=tjk`6OARTkKwPk>ZO)@o9utH#EYO}!_!DE#s1*{U-RoZ-zDVWIBT&B+^GI$F; zGt?~O3{{+ip9fKb(Olgq2o;Q2a6L#6j9GNAL8UybrlWbqn8L)`V`AJl#iyAf+Dx&) z#3W7Zgj0Q!nnvH95#y!B#pj3qEF7QBYzujxQIYLzY`Bx%aC38Gq(MGY($-3MeP%y6 KBwQQg=l2gwqm()T literal 0 HcmV?d00001 diff --git a/ts/bin-test/target/witness.gz b/ts/bin-test/target/witness.gz new file mode 100644 index 0000000000000000000000000000000000000000..b250bdfe7bcba64748c742805a950877e2a6b4fe GIT binary patch literal 8388 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 aVXU{mFxER<80&Et#`*`PB6RwQXaE4t>{CJj literal 0 HcmV?d00001 diff --git a/ts/src/main.ts b/ts/src/main.ts index 664ae5ca06..187813af56 100755 --- a/ts/src/main.ts +++ b/ts/src/main.ts @@ -17,9 +17,8 @@ const debug = createDebug('bb.js'); const MAX_CIRCUIT_SIZE = 2 ** 19; function getBytecode(bytecodePath: string) { - const encodedCircuit = readFileSync(bytecodePath, 'utf-8'); - const buffer = Buffer.from(encodedCircuit, 'base64'); - const decompressed = gunzipSync(buffer); + const encodedCircuit = readFileSync(bytecodePath); + const decompressed = gunzipSync(encodedCircuit); return decompressed; } @@ -250,8 +249,8 @@ function handleGlobalOptions() { program .command('prove_and_verify') .description('Generate a proof and verify it. Process exits with success or failure code.') - .option('-b, --bytecode-path ', 'Specify the bytecode path', './target/main.bytecode') - .option('-w, --witness-path ', 'Specify the witness path', './target/witness.tr') + .option('-b, --bytecode-path ', 'Specify the bytecode path', './target/acir.gz') + .option('-w, --witness-path ', 'Specify the witness path', './target/witness.gz') .option('-r, --recursive', 'prove and verify using recursive prover and verifier', false) .action(async ({ bytecodePath, witnessPath, recursive, crsPath }) => { handleGlobalOptions(); @@ -262,8 +261,8 @@ program program .command('prove') .description('Generate a proof and write it to a file.') - .option('-b, --bytecode-path ', 'Specify the bytecode path', './target/main.bytecode') - .option('-w, --witness-path ', 'Specify the witness path', './target/witness.tr') + .option('-b, --bytecode-path ', 'Specify the bytecode path', './target/acir.gz') + .option('-w, --witness-path ', 'Specify the witness path', './target/witness.gz') .option('-r, --recursive', 'prove using recursive prover', false) .option('-o, --output-path ', 'Specify the proof output path', './proofs/proof') .action(async ({ bytecodePath, witnessPath, recursive, outputPath, crsPath }) => { @@ -274,7 +273,7 @@ program program .command('gates') .description('Print gate count to standard output.') - .option('-b, --bytecode-path ', 'Specify the bytecode path', './target/main.bytecode') + .option('-b, --bytecode-path ', 'Specify the bytecode path', './target/acir.gz') .action(async ({ bytecodePath: bytecodePath }) => { handleGlobalOptions(); await gateCount(bytecodePath); @@ -295,7 +294,7 @@ program program .command('contract') .description('Output solidity verification key contract.') - .option('-b, --bytecode-path ', 'Specify the bytecode path', './target/main.bytecode') + .option('-b, --bytecode-path ', 'Specify the bytecode path', './target/acir.gz') .option('-o, --output-path ', 'Specify the path to write the contract', './target/contract.sol') .requiredOption('-k, --vk-path ', 'Path to a verification key. avoids recomputation.') .action(async ({ outputPath, vkPath }) => { @@ -306,7 +305,7 @@ program program .command('write_vk') .description('Output verification key.') - .option('-b, --bytecode-path ', 'Specify the bytecode path', './target/main.bytecode') + .option('-b, --bytecode-path ', 'Specify the bytecode path', './target/acir.gz') .requiredOption('-o, --output-path ', 'Specify the path to write the key') .action(async ({ bytecodePath, outputPath, crsPath }) => { handleGlobalOptions();