From 990ac0aef6120281d5e4a3c3dc9a6f549d27af7b Mon Sep 17 00:00:00 2001 From: Tom French <15848336+TomAFrench@users.noreply.github.com> Date: Mon, 27 Nov 2023 09:33:55 +0000 Subject: [PATCH 01/18] chore: add dependency on noir_js from docs package (#3559) --- .github/workflows/docs-pr.yml | 25 +++++-------------------- docs/package.json | 1 + tooling/noir_js_types/package.json | 3 ++- yarn.lock | 1 + 4 files changed, 9 insertions(+), 21 deletions(-) diff --git a/.github/workflows/docs-pr.yml b/.github/workflows/docs-pr.yml index 02044c82224..2b304b72b6f 100644 --- a/.github/workflows/docs-pr.yml +++ b/.github/workflows/docs-pr.yml @@ -55,7 +55,7 @@ jobs: if: needs.add_label.outputs.has_label == 'true' steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v2 @@ -71,24 +71,8 @@ jobs: run: | npm i wasm-opt -g - - name: Install dependencies - run: yarn - - - name: Build acvm_js - run: yarn workspace @noir-lang/acvm_js build - - - name: Build noirc_abi - run: yarn workspace @noir-lang/noirc_abi build - - - name: Build noir_js_types - run: yarn workspace @noir-lang/types build - - - name: Build barretenberg wrapper - run: yarn workspace @noir-lang/backend_barretenberg build - - - name: Run noir_js - run: | - yarn workspace @noir-lang/noir_js build + - name: Install Yarn dependencies + uses: ./.github/actions/setup - name: Remove pre-releases working-directory: docs @@ -97,8 +81,9 @@ jobs: run: yarn setStable - name: Build docs + working-directory: docs run: - yarn workspace docs build + yarn workspaces foreach -Rt run build - name: Deploy to Netlify uses: nwtgck/actions-netlify@v2.1 diff --git a/docs/package.json b/docs/package.json index 09f8d718b56..db0efbe7543 100644 --- a/docs/package.json +++ b/docs/package.json @@ -13,6 +13,7 @@ "@docusaurus/preset-classic": "^2.4.0", "@easyops-cn/docusaurus-search-local": "^0.35.0", "@mdx-js/react": "^1.6.22", + "@noir-lang/noir_js": "workspace:*", "axios": "^1.4.0", "clsx": "^1.2.1", "docusaurus-plugin-typedoc": "1.0.0-next.18", diff --git a/tooling/noir_js_types/package.json b/tooling/noir_js_types/package.json index 57bb2f050b7..4232358ddff 100644 --- a/tooling/noir_js_types/package.json +++ b/tooling/noir_js_types/package.json @@ -19,7 +19,8 @@ "build": "yarn run build:cjs && yarn run build:esm", "nightly:version": "jq --arg new_version \"-$(git rev-parse --short HEAD)$1\" '.version = .version + $new_version' package.json > package-tmp.json && mv package-tmp.json package.json", "publish": "echo 📡 publishing `$npm_package_name` && yarn npm publish", - "lint": "NODE_NO_WARNINGS=1 eslint . --ext .ts --ignore-path ./.eslintignore --max-warnings 0" + "lint": "NODE_NO_WARNINGS=1 eslint . --ext .ts --ignore-path ./.eslintignore --max-warnings 0", + "clean": "rm -rf ./lib" }, "exports": { ".": { diff --git a/yarn.lock b/yarn.lock index 9c6a447d718..6ae655f8ce2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8290,6 +8290,7 @@ __metadata: "@docusaurus/preset-classic": ^2.4.0 "@easyops-cn/docusaurus-search-local": ^0.35.0 "@mdx-js/react": ^1.6.22 + "@noir-lang/noir_js": "workspace:*" axios: ^1.4.0 clsx: ^1.2.1 docusaurus-plugin-typedoc: 1.0.0-next.18 From 290c463622a93a34293f73b5bf2aea7ade30a11c Mon Sep 17 00:00:00 2001 From: Tom French <15848336+TomAFrench@users.noreply.github.com> Date: Mon, 27 Nov 2023 09:34:11 +0000 Subject: [PATCH 02/18] feat: codegen typed interfaces for functions in `noir_codegen` (#3533) --- .github/workflows/test-noir_codegen.yml | 97 +++++++++ tooling/noir_codegen/.gitignore | 1 + tooling/noir_codegen/package.json | 4 +- tooling/noir_codegen/src/index.ts | 43 +++- tooling/noir_codegen/src/noir_types.ts | 185 ++++++++++++++++++ .../noir_codegen/test/assert_lt/src/main.nr | 11 +- .../test/assert_lt/target/assert_lt.json | 2 +- tooling/noir_codegen/test/index.test.ts | 13 +- tooling/noir_js/src/index.ts | 1 + tooling/noirc_abi_wasm/src/lib.rs | 2 +- 10 files changed, 343 insertions(+), 16 deletions(-) create mode 100644 .github/workflows/test-noir_codegen.yml create mode 100644 tooling/noir_codegen/src/noir_types.ts diff --git a/.github/workflows/test-noir_codegen.yml b/.github/workflows/test-noir_codegen.yml new file mode 100644 index 00000000000..d5a04a9dcd0 --- /dev/null +++ b/.github/workflows/test-noir_codegen.yml @@ -0,0 +1,97 @@ +name: noir_codegen + +on: + pull_request: + merge_group: + push: + branches: + - master + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.ref || github.run_id }} + cancel-in-progress: true + +jobs: + build-nargo: + runs-on: ubuntu-22.04 + strategy: + matrix: + target: [x86_64-unknown-linux-gnu] + + steps: + - name: Checkout Noir repo + uses: actions/checkout@v4 + + - name: Setup toolchain + uses: dtolnay/rust-toolchain@1.71.1 + + - uses: Swatinem/rust-cache@v2 + with: + key: ${{ matrix.target }} + cache-on-failure: true + save-if: ${{ github.event_name != 'merge_group' }} + + - name: Build Nargo + run: cargo build --package nargo_cli --release + + - name: Package artifacts + run: | + mkdir dist + cp ./target/release/nargo ./dist/nargo + 7z a -ttar -so -an ./dist/* | 7z a -si ./nargo-x86_64-unknown-linux-gnu.tar.gz + + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: nargo + path: ./dist/* + retention-days: 3 + + test: + needs: [build-nargo] + name: Test noir_codegen + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Yarn dependencies + uses: ./.github/actions/setup + + - name: Setup toolchain + uses: dtolnay/rust-toolchain@1.71.1 + with: + targets: wasm32-unknown-unknown + + - uses: Swatinem/rust-cache@v2 + with: + key: wasm32-unknown-unknown-noir-js + cache-on-failure: true + save-if: ${{ github.event_name != 'merge_group' }} + + - name: Install jq + run: sudo apt-get install jq + + - name: Install wasm-bindgen-cli + uses: taiki-e/install-action@v2 + with: + tool: wasm-bindgen-cli@0.2.86 + + - name: Install wasm-opt + run: | + npm i wasm-opt -g + + - name: Build acvm_js + run: yarn workspace @noir-lang/acvm_js build + + - name: Build noirc_abi + run: yarn workspace @noir-lang/noirc_abi build + + - name: Build noir_js_types + run: yarn workspace @noir-lang/types build + + - name: Build noir_js + run: yarn workspace @noir-lang/noir_js build + + - name: Run noir_codegen tests + run: yarn workspace @noir-lang/noir_codegen test diff --git a/tooling/noir_codegen/.gitignore b/tooling/noir_codegen/.gitignore index 721d05448d6..15ea344d453 100644 --- a/tooling/noir_codegen/.gitignore +++ b/tooling/noir_codegen/.gitignore @@ -2,3 +2,4 @@ crs lib !test/*/target +test/codegen diff --git a/tooling/noir_codegen/package.json b/tooling/noir_codegen/package.json index 14f9bad6df6..f2523654aab 100644 --- a/tooling/noir_codegen/package.json +++ b/tooling/noir_codegen/package.json @@ -26,8 +26,10 @@ "scripts": { "dev": "tsc-multi --watch", "build": "tsc", - "test": "ts-node --esm src/main.ts ./test/assert_lt/target/** --out-dir ./test/codegen && yarn test:node && rm -rf ./test/codegen", + "test": "yarn test:codegen && yarn test:node && yarn test:clean", + "test:codegen": "ts-node --esm src/main.ts ./test/assert_lt/target/** --out-dir ./test/codegen", "test:node": "mocha --timeout 25000 --exit --config ./.mocharc.json", + "test:clean": "rm -rf ./test/codegen", "prettier": "prettier 'src/**/*.ts'", "prettier:fix": "prettier --write 'src/**/*.ts' 'test/**/*.ts'", "lint": "NODE_NO_WARNINGS=1 eslint . --ext .ts --ignore-path ./.eslintignore --max-warnings 0", diff --git a/tooling/noir_codegen/src/index.ts b/tooling/noir_codegen/src/index.ts index 1f8d2d183d4..53ea99c2eb2 100644 --- a/tooling/noir_codegen/src/index.ts +++ b/tooling/noir_codegen/src/index.ts @@ -1,24 +1,53 @@ import { CompiledCircuit } from '@noir-lang/types'; +import { PrimitiveTypesUsed, generateTsInterface } from './noir_types.js'; -const codegenImports = `import { InputMap, InputValue } from "@noir-lang/noirc_abi" -import { Noir } from "@noir-lang/noir_js"`; +// TODO: reenable this. See `abiTypeToTs` for reasoning. +// export type FixedLengthArray = L extends 0 ? never[]: T[] & { length: L }; + +const codegenPrelude = `/* Autogenerated file, do not edit! */ + +/* eslint-disable */ + +import { Noir, InputMap } from "@noir-lang/noir_js" +`; const codegenFunction = ( name: string, compiled_program: CompiledCircuit, -) => `export async function ${name}(args: InputMap): Promise { + function_signature: { inputs: [string, string][]; returnValue: string | null }, +) => { + const args = function_signature.inputs.map(([name]) => `${name}`).join(', '); + const args_with_types = function_signature.inputs.map(([name, type]) => `${name}: ${type}`).join(', '); + + return `export async function ${name}(${args_with_types}): Promise<${function_signature.returnValue}> { const program = new Noir(${JSON.stringify(compiled_program)}); + const args: InputMap = { ${args} }; const { returnValue } = await program.execute(args); - return returnValue; + return returnValue as ${function_signature.returnValue}; }`; +}; export const codegen = (programs: [string, CompiledCircuit][]): string => { - const results = [codegenImports]; + let results = [codegenPrelude]; + const primitiveTypeMap = new Map(); + + const functions: string[] = []; for (const [name, program] of programs) { - results.push(codegenFunction(name, stripUnwantedFields(program))); + const [types_string, function_sig] = generateTsInterface(program.abi, primitiveTypeMap); + functions.push(types_string); + functions.push('\n'); + functions.push(codegenFunction(name, stripUnwantedFields(program), function_sig)); + } + + // Add the primitive Noir types that do not have a 1-1 mapping to TypeScript. + const primitiveTypeAliases: string[] = []; + for (const value of primitiveTypeMap.values()) { + primitiveTypeAliases.push(`export type ${value.aliasName} = ${value.tsType};`); } - return results.join('\n\n'); + results = results.concat(...primitiveTypeAliases, ...functions); + + return results.filter((val) => val !== '').join('\n'); }; // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/tooling/noir_codegen/src/noir_types.ts b/tooling/noir_codegen/src/noir_types.ts new file mode 100644 index 00000000000..e894c831aea --- /dev/null +++ b/tooling/noir_codegen/src/noir_types.ts @@ -0,0 +1,185 @@ +import { AbiType, Abi } from '@noir-lang/noirc_abi'; + +/** + * Keep track off all of the Noir primitive types that were used. + * Most of these will not have a 1-1 definition in TypeScript, + * so we will need to generate type aliases for them. + * + * We want to generate type aliases + * for specific types that are used in the ABI. + * + * For example: + * - If `Field` is used we want to alias that + * with `number`. + * - If `u32` is used we want to alias that with `number` too. + */ +export type PrimitiveTypesUsed = { + /** + * The name of the type alias that we will generate. + */ + aliasName: string; + /** + * The TypeScript type that we will alias to. + */ + tsType: string; +}; + +/** + * Typescript does not allow us to check for equality of non-primitive types + * easily, so we create a addIfUnique function that will only add an item + * to the map if it is not already there by using JSON.stringify. + * @param item - The item to add to the map. + */ +function addIfUnique(primitiveTypeMap: Map, item: PrimitiveTypesUsed) { + const key = JSON.stringify(item); + if (!primitiveTypeMap.has(key)) { + primitiveTypeMap.set(key, item); + } +} + +/** + * Converts an ABI type to a TypeScript type. + * @param type - The ABI type to convert. + * @returns The typescript code to define the type. + */ +function abiTypeToTs(type: AbiType, primitiveTypeMap: Map): string { + switch (type.kind) { + case 'field': + addIfUnique(primitiveTypeMap, { aliasName: 'Field', tsType: 'string' }); + return 'Field'; + case 'integer': { + const typeName = type.sign === 'signed' ? `i${type.width}` : `u${type.width}`; + // Javascript cannot safely represent the full range of Noir's integer types as numbers. + // `Number.MAX_SAFE_INTEGER == 2**53 - 1` so we disallow passing numbers to types which may exceed this. + // 52 has been chosen as the cutoff rather than 53 for safety. + const tsType = type.width <= 52 ? `string | number` : `string`; + + addIfUnique(primitiveTypeMap, { aliasName: typeName, tsType }); + return typeName; + } + case 'boolean': + return `boolean`; + case 'array': + // We can't force the usage of fixed length arrays as this currently throws errors in TS. + // The array would need to be `as const` to support this whereas that's unlikely to happen in user code. + // return `FixedLengthArray<${abiTypeToTs(type.type, primitiveTypeMap)}, ${type.length}>`; + return `${abiTypeToTs(type.type, primitiveTypeMap)}[]`; + case 'string': + // We could enforce that literals are the correct length but not generally. + // This would run into similar problems to above. + return `string`; + case 'struct': + return getLastComponentOfPath(type.path); + default: + throw new Error(`Unknown ABI type ${JSON.stringify(type)}`); + } +} + +/** + * Returns the last component of a path, e.g. "foo::bar::baz" -\> "baz" + * Note: that if we have a path such as "Baz", we will return "Baz". + * + * Since these paths corresponds to structs, we can assume that we + * cannot have "foo::bar::". + * + * We also make the assumption that since these paths are coming from + * Noir, then we will not have two paths that look like this: + * - foo::bar::Baz + * - cat::dog::Baz + * ie the last component of the path (struct name) is enough to uniquely identify + * the whole path. + * + * TODO: We should double check this assumption when we use type aliases, + * I expect that `foo::bar::Baz as Dog` would effectively give `foo::bar::Dog` + * @param str - The path to get the last component of. + * @returns The last component of the path. + */ +function getLastComponentOfPath(str: string): string { + const parts = str.split('::'); + const lastPart = parts[parts.length - 1]; + return lastPart; +} + +/** + * Generates TypeScript interfaces for the structs used in the ABI. + * @param type - The ABI type to generate the interface for. + * @param output - The set of structs that we have already generated bindings for. + * @returns The TypeScript code to define the struct. + */ +function generateStructInterfaces( + type: AbiType, + output: Set, + primitiveTypeMap: Map, +): string { + let result = ''; + + // Edge case to handle the array of structs case. + if (type.kind === 'array' && type.type.kind === 'struct' && !output.has(getLastComponentOfPath(type.type.path))) { + result += generateStructInterfaces(type.type, output, primitiveTypeMap); + } + if (type.kind !== 'struct') return result; + + // List of structs encountered while viewing this type that we need to generate + // bindings for. + const typesEncountered = new Set(); + + // Codegen the struct and then its fields, so that the structs fields + // are defined before the struct itself. + let codeGeneratedStruct = ''; + let codeGeneratedStructFields = ''; + + const structName = getLastComponentOfPath(type.path); + if (!output.has(structName)) { + codeGeneratedStruct += `export type ${structName} = {\n`; + for (const field of type.fields) { + codeGeneratedStruct += ` ${field.name}: ${abiTypeToTs(field.type, primitiveTypeMap)};\n`; + typesEncountered.add(field.type); + } + codeGeneratedStruct += `};`; + output.add(structName); + + // Generate code for the encountered structs in the field above + for (const type of typesEncountered) { + codeGeneratedStructFields += generateStructInterfaces(type, output, primitiveTypeMap); + } + } + + return codeGeneratedStructFields + '\n' + codeGeneratedStruct; +} + +/** + * Generates a TypeScript interface for the ABI. + * @param abiObj - The ABI to generate the interface for. + * @returns The TypeScript code to define the interface. + */ +export function generateTsInterface( + abiObj: Abi, + primitiveTypeMap: Map, +): [string, { inputs: [string, string][]; returnValue: string | null }] { + let result = ``; + const outputStructs = new Set(); + + // Define structs for composite types + for (const param of abiObj.parameters) { + result += generateStructInterfaces(param.type, outputStructs, primitiveTypeMap); + } + + // Generating Return type, if it exists + if (abiObj.return_type != null) { + result += generateStructInterfaces(abiObj.return_type, outputStructs, primitiveTypeMap); + } + + return [result, getTsFunctionSignature(abiObj, primitiveTypeMap)]; +} + +function getTsFunctionSignature( + abi: Abi, + primitiveTypeMap: Map, +): { inputs: [string, string][]; returnValue: string | null } { + const inputs: [string, string][] = abi.parameters.map((param) => [ + param.name, + abiTypeToTs(param.type, primitiveTypeMap), + ]); + const returnValue = abi.return_type ? abiTypeToTs(abi.return_type, primitiveTypeMap) : null; + return { inputs, returnValue }; +} diff --git a/tooling/noir_codegen/test/assert_lt/src/main.nr b/tooling/noir_codegen/test/assert_lt/src/main.nr index 0698cbce4a8..9795fb6effb 100644 --- a/tooling/noir_codegen/test/assert_lt/src/main.nr +++ b/tooling/noir_codegen/test/assert_lt/src/main.nr @@ -1,4 +1,13 @@ -fn main(x: u64, y: pub u64) -> pub u64 { +struct MyStruct { + foo: bool, + bar: [str<5>; 3], +} + +fn main(x: u64, y: pub u64, array: [u8; 5], my_struct: MyStruct, string: str<5>) -> pub u64 { + assert(array.len() == 5); + assert(my_struct.foo); + assert(string == "12345"); + assert(x < y); x + y } diff --git a/tooling/noir_codegen/test/assert_lt/target/assert_lt.json b/tooling/noir_codegen/test/assert_lt/target/assert_lt.json index 3b2b1b2c5a1..2556278eff3 100644 --- a/tooling/noir_codegen/test/assert_lt/target/assert_lt.json +++ b/tooling/noir_codegen/test/assert_lt/target/assert_lt.json @@ -1 +1 @@ -{"hash":13834844072603749544,"backend":"acvm-backend-barretenberg","abi":{"parameters":[{"name":"x","type":{"kind":"integer","sign":"unsigned","width":64},"visibility":"private"},{"name":"y","type":{"kind":"integer","sign":"unsigned","width":64},"visibility":"public"}],"param_witnesses":{"x":[1],"y":[2]},"return_type":{"kind":"integer","sign":"unsigned","width":64},"return_witnesses":[12]},"bytecode":"H4sIAAAAAAAA/+1WUW6DMAx1QksZoGr72jUcAiX8VbvJ0Oj9j7ChJpKbtXw0NpvUWkImUXixn53w3gDgHc6mfh7t/ZGMtR9TU96HeYuHtp36ZjLWfGIzjK7DthsPzjjTue6rcdZOrnX9MA49Dqa1kzl1gz3h2bL7sTDCMhmJbylmTDOT8WEhjXfjH/DcB8u8zwVygWifmL/9lTnWzSWKsxHA3QJf00vlveWvERJIUU4x0eb86aEJppljVox9oO+Py8QTV1Jnw6a85t7vSL8pwvN89j7gd88o8q79Gr2wRt3AeSFz4XvRSyokl5MAtSfgGO2ZCewdsDibLRVrDzIXTMxfqiLIGXPeMdY1gb/Fg8+tznJY50eSGmfB2DNrqciCD+tCRc4X5FNFJmIWnkhu3BL+t4qc8y75aySqIkvGOP9CRWKaGQ0ydUrsgUUVWXlfw4OpyAouVWQN66pITDPDqSJfQaZxuVVkxZhzzVgLTv5uHbDwXhN+vwGywklHPBQAAA=="} \ No newline at end of file +{"noir_version":"0.19.2+87bb3f0d789765f2d65a1e7b7554742994da2680","hash":12941906747567599524,"backend":"acvm-backend-barretenberg","abi":{"parameters":[{"name":"x","type":{"kind":"integer","sign":"unsigned","width":64},"visibility":"private"},{"name":"y","type":{"kind":"integer","sign":"unsigned","width":64},"visibility":"public"},{"name":"array","type":{"kind":"array","length":5,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"private"},{"name":"my_struct","type":{"kind":"struct","path":"MyStruct","fields":[{"name":"foo","type":{"kind":"boolean"}},{"name":"bar","type":{"kind":"array","length":3,"type":{"kind":"string","length":5}}}]},"visibility":"private"},{"name":"string","type":{"kind":"string","length":5},"visibility":"private"}],"param_witnesses":{"array":[{"start":3,"end":8}],"my_struct":[{"start":8,"end":24}],"string":[{"start":24,"end":29}],"x":[{"start":1,"end":2}],"y":[{"start":2,"end":3}]},"return_type":{"kind":"integer","sign":"unsigned","width":64},"return_witnesses":[31]},"bytecode":"H4sIAAAAAAAA/82X206DQBCGF+qh9VDP2gO0eKlXuwVauGt8k7Ys0URTY4h9fTvprm4HJVFmEych8FE6/Ay7zP63jLF7tglnvblqPzXYRdxYb02DdxDvIt5DvK9Y35Op/BC8XoimcS8zb8jHUSQnIylCMeOjdJ7EPIrn40QkIk7ibJSEoUyiZJLO0wlPRRRKkcdpmKvETTqNXNehhepygPgQ8RHiY8RtxCeITxGfIT5HfIH4EvEV4mvEN4g7iLuIe4j7iD32NW502Bg/U6IxY1Nnh0CnzCEyqzq7ZDoXuU2dPTqd0qbOPp3OzKZOj07nAvqNy8rhEmt2GN3cd/+uS+AT3zw6WW6zrr7aD9imh+txoa+BPv/AymPGMY5ddY1bcY3zQ56WcU7/v238XvfhS8Uwb06V01eFpF6A+HQaPxcgAyOnjgZxPWxNqrq5AsJ6VtXvlzo50il8wmceEL7XGvWr/MD953lT9Z55vdiaJ7xeCMp5MmT03x2ds2+8c6gnNBhoPGAYtUmEpgDGCMwQGCAwPdAUwNyAoQETA8YFzAoYFDAlYETAfMAiGRagPXUvj203Kn08ZNtN5k7tPbWfFYV8eS2CYhnMsixYPRWPwfJdvuXPy9UHoDK8FUEPAAA="} \ No newline at end of file diff --git a/tooling/noir_codegen/test/index.test.ts b/tooling/noir_codegen/test/index.test.ts index 702ba1f9cbb..e81add02566 100644 --- a/tooling/noir_codegen/test/index.test.ts +++ b/tooling/noir_codegen/test/index.test.ts @@ -1,11 +1,14 @@ import { expect } from 'chai'; -import { assert_lt } from './codegen/index.js'; +import { assert_lt, u64 } from './codegen/index.js'; it('codegens a callable function', async () => { - const result = await assert_lt({ - x: '2', - y: '3', - }); + const result: u64 = await assert_lt( + '2', + '3', + [0, 0, 0, 0, 0], + { foo: true, bar: ['12345', '12345', '12345'] }, + '12345', + ); expect(result).to.be.eq('0x05'); }); diff --git a/tooling/noir_js/src/index.ts b/tooling/noir_js/src/index.ts index 5e700a5b583..bacb391a464 100644 --- a/tooling/noir_js/src/index.ts +++ b/tooling/noir_js/src/index.ts @@ -12,6 +12,7 @@ export { and, } from '@noir-lang/acvm_js'; +export { InputMap } from '@noir-lang/noirc_abi'; export { WitnessMap, ForeignCallHandler, ForeignCallInput, ForeignCallOutput } from '@noir-lang/acvm_js'; export { Noir } from './program.js'; diff --git a/tooling/noirc_abi_wasm/src/lib.rs b/tooling/noirc_abi_wasm/src/lib.rs index 734ca1ff40e..a3d829dd40f 100644 --- a/tooling/noirc_abi_wasm/src/lib.rs +++ b/tooling/noirc_abi_wasm/src/lib.rs @@ -56,7 +56,7 @@ export type AbiType = { kind: "integer", sign: Sign, width: number } | { kind: "array", length: number, type: AbiType } | { kind: "tuple", fields: AbiType[] } | - { kind: "struct", path: string, fields: [string, AbiType][] }; + { kind: "struct", path: string, fields: { name: string, type: AbiType }[] }; export type AbiParameter = { name: string, From 9bb853b2afa84f9ed7a85be1679574bd608df220 Mon Sep 17 00:00:00 2001 From: kek kek kek Date: Mon, 27 Nov 2023 02:13:02 -0800 Subject: [PATCH 03/18] chore: nargo fmt (#3587) --- .../tests/execution_success/array_dynamic/src/main.nr | 8 +++++++- .../execution_success/brillig_scalar_mul/src/main.nr | 7 ++++++- .../tests/execution_success/brillig_schnorr/src/main.nr | 6 +++++- .../nargo_cli/tests/execution_success/schnorr/src/main.nr | 6 +++++- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/tooling/nargo_cli/tests/execution_success/array_dynamic/src/main.nr b/tooling/nargo_cli/tests/execution_success/array_dynamic/src/main.nr index 76e7f70f5d4..dde7bacc455 100644 --- a/tooling/nargo_cli/tests/execution_success/array_dynamic/src/main.nr +++ b/tooling/nargo_cli/tests/execution_success/array_dynamic/src/main.nr @@ -1,5 +1,11 @@ fn main( - x: [u32; 5], mut z: u32, t: u32, index: [Field;5], index2: [Field;5], offset: Field, sublen: Field + x: [u32; 5], + mut z: u32, + t: u32, + index: [Field;5], + index2: [Field;5], + offset: Field, + sublen: Field ) { let idx = (z - 5 * t - 5) as Field; //dynamic array test diff --git a/tooling/nargo_cli/tests/execution_success/brillig_scalar_mul/src/main.nr b/tooling/nargo_cli/tests/execution_success/brillig_scalar_mul/src/main.nr index 850800f44d7..ab2f79eb815 100644 --- a/tooling/nargo_cli/tests/execution_success/brillig_scalar_mul/src/main.nr +++ b/tooling/nargo_cli/tests/execution_success/brillig_scalar_mul/src/main.nr @@ -1,7 +1,12 @@ use dep::std; unconstrained fn main( - a: Field, a_pub_x: pub Field, a_pub_y: pub Field, b: Field, b_pub_x: pub Field, b_pub_y: pub Field + a: Field, + a_pub_x: pub Field, + a_pub_y: pub Field, + b: Field, + b_pub_x: pub Field, + b_pub_y: pub Field ) { let mut priv_key = a; let mut pub_x: Field = a_pub_x; diff --git a/tooling/nargo_cli/tests/execution_success/brillig_schnorr/src/main.nr b/tooling/nargo_cli/tests/execution_success/brillig_schnorr/src/main.nr index 8acdb792007..4cc79ae7e07 100644 --- a/tooling/nargo_cli/tests/execution_success/brillig_schnorr/src/main.nr +++ b/tooling/nargo_cli/tests/execution_success/brillig_schnorr/src/main.nr @@ -2,7 +2,11 @@ use dep::std; // Note: If main has any unsized types, then the verifier will never be able // to figure out the circuit instance unconstrained fn main( - message: [u8; 10], message_field: Field, pub_key_x: Field, pub_key_y: Field, signature: [u8; 64] + message: [u8; 10], + message_field: Field, + pub_key_x: Field, + pub_key_y: Field, + signature: [u8; 64] ) { // Regression for issue #2421 // We want to make sure that we can accurately verify a signature whose message is a slice vs. an array diff --git a/tooling/nargo_cli/tests/execution_success/schnorr/src/main.nr b/tooling/nargo_cli/tests/execution_success/schnorr/src/main.nr index 299bbdc07e2..107af152625 100644 --- a/tooling/nargo_cli/tests/execution_success/schnorr/src/main.nr +++ b/tooling/nargo_cli/tests/execution_success/schnorr/src/main.nr @@ -2,7 +2,11 @@ use dep::std; // Note: If main has any unsized types, then the verifier will never be able // to figure out the circuit instance fn main( - message: [u8; 10], message_field: Field, pub_key_x: Field, pub_key_y: Field, signature: [u8; 64] + message: [u8; 10], + message_field: Field, + pub_key_x: Field, + pub_key_y: Field, + signature: [u8; 64] ) { // Regression for issue #2421 // We want to make sure that we can accurately verify a signature whose message is a slice vs. an array From a0eab0c8520d8cd4e033b1736f5b7ae830fc76da Mon Sep 17 00:00:00 2001 From: kevaundray Date: Mon, 27 Nov 2023 10:38:24 +0000 Subject: [PATCH 04/18] chore: Rename error2 variable (#3584) --- compiler/noirc_frontend/src/hir/def_collector/dc_mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/noirc_frontend/src/hir/def_collector/dc_mod.rs b/compiler/noirc_frontend/src/hir/def_collector/dc_mod.rs index 17aa5e9951f..2f79333620e 100644 --- a/compiler/noirc_frontend/src/hir/def_collector/dc_mod.rs +++ b/compiler/noirc_frontend/src/hir/def_collector/dc_mod.rs @@ -528,11 +528,11 @@ impl<'a> ModCollector<'a> { }; errors.push((error.into(), location.file)); - let error2 = DefCollectorErrorKind::ModuleOriginallyDefined { + let error = DefCollectorErrorKind::ModuleOriginallyDefined { mod_name: mod_name.clone(), span: old_location.span, }; - errors.push((error2.into(), old_location.file)); + errors.push((error.into(), old_location.file)); return errors; } From 127b6aa1ec8893275fdfa7795db7c52c4fc1d4dd Mon Sep 17 00:00:00 2001 From: grasshopper47 <49437873+grasshopper47@users.noreply.github.com> Date: Mon, 27 Nov 2023 15:10:39 +0100 Subject: [PATCH 05/18] fix: Remove quotes from println output (#3574) Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com> --- compiler/noirc_printable_type/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/noirc_printable_type/src/lib.rs b/compiler/noirc_printable_type/src/lib.rs index 348f5ef3274..1c4f597add2 100644 --- a/compiler/noirc_printable_type/src/lib.rs +++ b/compiler/noirc_printable_type/src/lib.rs @@ -197,7 +197,7 @@ fn to_string(value: &PrintableValue, typ: &PrintableType) -> Option { } (PrintableValue::String(s), PrintableType::String { .. }) => { - output.push_str(&format!(r#""{s}""#)); + output.push_str(s); } (PrintableValue::Struct(map), PrintableType::Struct { name, fields, .. }) => { From 9b9ed890e68b6c7f0671b05919bdc86f593c5df5 Mon Sep 17 00:00:00 2001 From: jfecher Date: Mon, 27 Nov 2023 08:19:04 -0600 Subject: [PATCH 06/18] fix: Somewhat reduce mem2reg memory usage (#3572) --- .../src/ssa/opt/mem2reg/block.rs | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/compiler/noirc_evaluator/src/ssa/opt/mem2reg/block.rs b/compiler/noirc_evaluator/src/ssa/opt/mem2reg/block.rs index 22c5705b723..532785d2928 100644 --- a/compiler/noirc_evaluator/src/ssa/opt/mem2reg/block.rs +++ b/compiler/noirc_evaluator/src/ssa/opt/mem2reg/block.rs @@ -1,4 +1,4 @@ -use std::{borrow::Cow, collections::BTreeMap}; +use std::borrow::Cow; use crate::ssa::ir::{ function::Function, @@ -19,27 +19,27 @@ pub(super) struct Block { /// Maps a ValueId to the Expression it represents. /// Multiple ValueIds can map to the same Expression, e.g. /// dereferences to the same allocation. - pub(super) expressions: BTreeMap, + pub(super) expressions: im::OrdMap, /// Each expression is tracked as to how many aliases it /// may have. If there is only 1, we can attempt to optimize /// out any known loads to that alias. Note that "alias" here /// includes the original reference as well. - pub(super) aliases: BTreeMap, + pub(super) aliases: im::OrdMap, /// Each allocate instruction result (and some reference block parameters) /// will map to a Reference value which tracks whether the last value stored /// to the reference is known. - pub(super) references: BTreeMap, + pub(super) references: im::OrdMap, /// The last instance of a `Store` instruction to each address in this block - pub(super) last_stores: BTreeMap, + pub(super) last_stores: im::OrdMap, } /// An `Expression` here is used to represent a canonical key /// into the aliases map since otherwise two dereferences of the /// same address will be given different ValueIds. -#[derive(Debug, Clone, PartialOrd, Ord, PartialEq, Eq)] +#[derive(Debug, Clone, PartialOrd, Ord, PartialEq, Eq, Hash)] pub(super) enum Expression { Dereference(Box), ArrayElement(Box), @@ -111,10 +111,7 @@ impl Block { } fn invalidate_all_references(&mut self) { - for reference_value in self.references.values_mut() { - *reference_value = ReferenceValue::Unknown; - } - + self.references.clear(); self.last_stores.clear(); } @@ -137,7 +134,7 @@ impl Block { } // Keep only the references present in both maps. - let mut intersection = BTreeMap::new(); + let mut intersection = im::OrdMap::new(); for (value_id, reference) in &other.references { if let Some(existing) = self.references.get(value_id) { intersection.insert(*value_id, existing.unify(*reference)); From 2ca9b059317f0513ea21153ebdb468c4f6633de5 Mon Sep 17 00:00:00 2001 From: guipublic <47281315+guipublic@users.noreply.github.com> Date: Mon, 27 Nov 2023 15:56:50 +0100 Subject: [PATCH 07/18] fix: use 128 bits for constant bit shift (#3586) --- .../src/ssa/function_builder/mod.rs | 54 ++++++++++--------- .../bit_shifts_comptime/src/main.nr | 2 + 2 files changed, 30 insertions(+), 26 deletions(-) diff --git a/compiler/noirc_evaluator/src/ssa/function_builder/mod.rs b/compiler/noirc_evaluator/src/ssa/function_builder/mod.rs index 732664bf757..47423841a3b 100644 --- a/compiler/noirc_evaluator/src/ssa/function_builder/mod.rs +++ b/compiler/noirc_evaluator/src/ssa/function_builder/mod.rs @@ -282,32 +282,34 @@ impl FunctionBuilder { ) -> ValueId { let base = self.field_constant(FieldElement::from(2_u128)); let typ = self.current_function.dfg.type_of_value(lhs); - let (max_bit, pow) = if let Some(rhs_constant) = - self.current_function.dfg.get_numeric_constant(rhs) - { - // Happy case is that we know precisely by how many bits the the integer will - // increase: lhs_bit_size + rhs - let (rhs_bit_size_pow_2, overflows) = - 2_u32.overflowing_pow(rhs_constant.to_u128() as u32); - if overflows { - let zero = self.numeric_constant(FieldElement::zero(), typ); - return InsertInstructionResult::SimplifiedTo(zero).first(); - } - let pow = self.numeric_constant(FieldElement::from(rhs_bit_size_pow_2 as u128), typ); - (bit_size + (rhs_constant.to_u128() as u32), pow) - } else { - // we use a predicate to nullify the result in case of overflow - let bit_size_var = - self.numeric_constant(FieldElement::from(bit_size as u128), typ.clone()); - let overflow = self.insert_binary(rhs, BinaryOp::Lt, bit_size_var); - let one = self.numeric_constant(FieldElement::one(), Type::unsigned(1)); - let predicate = self.insert_binary(overflow, BinaryOp::Eq, one); - let predicate = self.insert_cast(predicate, typ.clone()); - - let pow = self.pow(base, rhs); - let pow = self.insert_cast(pow, typ); - (FieldElement::max_num_bits(), self.insert_binary(predicate, BinaryOp::Mul, pow)) - }; + let (max_bit, pow) = + if let Some(rhs_constant) = self.current_function.dfg.get_numeric_constant(rhs) { + // Happy case is that we know precisely by how many bits the the integer will + // increase: lhs_bit_size + rhs + let (rhs_bit_size_pow_2, overflows) = + 2_u128.overflowing_pow(rhs_constant.to_u128() as u32); + if overflows { + assert!(bit_size < 128, "ICE - shift left with big integers are not supported"); + if bit_size < 128 { + let zero = self.numeric_constant(FieldElement::zero(), typ); + return InsertInstructionResult::SimplifiedTo(zero).first(); + } + } + let pow = self.numeric_constant(FieldElement::from(rhs_bit_size_pow_2), typ); + (bit_size + (rhs_constant.to_u128() as u32), pow) + } else { + // we use a predicate to nullify the result in case of overflow + let bit_size_var = + self.numeric_constant(FieldElement::from(bit_size as u128), typ.clone()); + let overflow = self.insert_binary(rhs, BinaryOp::Lt, bit_size_var); + let one = self.numeric_constant(FieldElement::one(), Type::unsigned(1)); + let predicate = self.insert_binary(overflow, BinaryOp::Eq, one); + let predicate = self.insert_cast(predicate, typ.clone()); + + let pow = self.pow(base, rhs); + let pow = self.insert_cast(pow, typ); + (FieldElement::max_num_bits(), self.insert_binary(predicate, BinaryOp::Mul, pow)) + }; let instruction = Instruction::Binary(Binary { lhs, rhs: pow, operator: BinaryOp::Mul }); if max_bit <= bit_size { diff --git a/tooling/nargo_cli/tests/execution_success/bit_shifts_comptime/src/main.nr b/tooling/nargo_cli/tests/execution_success/bit_shifts_comptime/src/main.nr index a03376d062a..9bb1028173d 100644 --- a/tooling/nargo_cli/tests/execution_success/bit_shifts_comptime/src/main.nr +++ b/tooling/nargo_cli/tests/execution_success/bit_shifts_comptime/src/main.nr @@ -13,6 +13,8 @@ fn main(x: u64) { //regression for 3481 assert(x << 63 == 0); + + assert_eq((1 as u56) << (32 as u56), 0x0100000000); } fn regression_2250() { From e06c67500da11518caffe0e98bdb9cd7f5f89049 Mon Sep 17 00:00:00 2001 From: Tom French <15848336+TomAFrench@users.noreply.github.com> Date: Mon, 27 Nov 2023 15:22:51 +0000 Subject: [PATCH 08/18] feat: export `CompiledCircuit` from codegened TS (#3589) --- tooling/noir_codegen/src/index.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tooling/noir_codegen/src/index.ts b/tooling/noir_codegen/src/index.ts index 53ea99c2eb2..8d45b76bd7d 100644 --- a/tooling/noir_codegen/src/index.ts +++ b/tooling/noir_codegen/src/index.ts @@ -8,7 +8,7 @@ const codegenPrelude = `/* Autogenerated file, do not edit! */ /* eslint-disable */ -import { Noir, InputMap } from "@noir-lang/noir_js" +import { Noir, InputMap, CompiledCircuit } from "@noir-lang/noir_js" `; const codegenFunction = ( @@ -19,8 +19,11 @@ const codegenFunction = ( const args = function_signature.inputs.map(([name]) => `${name}`).join(', '); const args_with_types = function_signature.inputs.map(([name, type]) => `${name}: ${type}`).join(', '); - return `export async function ${name}(${args_with_types}): Promise<${function_signature.returnValue}> { - const program = new Noir(${JSON.stringify(compiled_program)}); + return ` +export const ${name}_circuit: CompiledCircuit = ${JSON.stringify(compiled_program)}; + +export async function ${name}(${args_with_types}): Promise<${function_signature.returnValue}> { + const program = new Noir(${name}_circuit); const args: InputMap = { ${args} }; const { returnValue } = await program.execute(args); return returnValue as ${function_signature.returnValue}; From 90a63042d5b5eb2edf03378dff46ce75c9cb33ba Mon Sep 17 00:00:00 2001 From: kevaundray Date: Mon, 27 Nov 2023 15:33:14 +0000 Subject: [PATCH 09/18] chore: Update ACIR artifacts (#3591) Co-authored-by: github-merge-queue[bot] --- .../bit_shifts_comptime/target/acir.gz | Bin 325 -> 430 bytes .../bit_shifts_comptime/target/witness.gz | Bin 69 -> 82 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tooling/nargo_cli/tests/acir_artifacts/bit_shifts_comptime/target/acir.gz b/tooling/nargo_cli/tests/acir_artifacts/bit_shifts_comptime/target/acir.gz index 27e71fce0a75087200561361d4bc3cb0c97e4ee3..d6c006fd10206a3f1c4f894002cafc9c9861d3b3 100644 GIT binary patch literal 430 zcmV;f0a5-RiwFP!00000|Ls@XZi6rkHMdeg+VegmA)$nqt=*pt6~3dNKBAd5O+%}J z!&a%5B6HKhKCzGD0svm&+k#<*==Z~l@ZPon{T@AAW@SK!#T?*IKh2UaN+!!DCorBjbt;RKPlWQ zkfkSuEzpTVM#t}J;|FETj&Qv+TaLbf=lC%jGe;t+$B&#Y#-H({0RQ7h26Up56Y^Pr Yp9ZC_C(1YjD@K=n0cYJ2#t{|(02wgSmH+?% literal 325 zcmV-L0lNMliwFP!00000|Ls;$Zo?o9H31s!XS)gx(7?~s?k0;$?tg?O8mN@gO>3NJ zmHH%PlAwqEFi&X#;0?aPrqRTBmPW7)ikYnmU{up2xtm0Vu4?@Non5+mQ7inD=p!{xkM?Trb27f|D;>ipoWGIrQI zbZDJDbx!NxjO+d2d*#vSfTQ(#ROf>t%2B05p`M&j&y7q4 zDRZu*yNaoZ7$rPSKTfg5`SQoqW Date: Mon, 27 Nov 2023 17:34:28 +0000 Subject: [PATCH 10/18] chore: Remove concept of storage slot from the compiler (#3582) --- .../src/hir/def_collector/dc_crate.rs | 3 +-- compiler/noirc_frontend/src/hir/mod.rs | 19 ------------------- compiler/noirc_frontend/src/node_interner.rs | 15 ++------------- 3 files changed, 3 insertions(+), 34 deletions(-) diff --git a/compiler/noirc_frontend/src/hir/def_collector/dc_crate.rs b/compiler/noirc_frontend/src/hir/def_collector/dc_crate.rs index ce1cf675a07..f798dcb64e7 100644 --- a/compiler/noirc_frontend/src/hir/def_collector/dc_crate.rs +++ b/compiler/noirc_frontend/src/hir/def_collector/dc_crate.rs @@ -646,7 +646,6 @@ fn resolve_globals( let globals = vecmap(globals, |global| { let module_id = ModuleId { local_id: global.module_id, krate: crate_id }; let path_resolver = StandardPathResolver::new(module_id); - let storage_slot = context.next_storage_slot(module_id); let mut resolver = Resolver::new( &mut context.def_interner, @@ -662,7 +661,7 @@ fn resolve_globals( context.def_interner.update_global(global.stmt_id, hir_stmt); - context.def_interner.push_global(global.stmt_id, name, global.module_id, storage_slot); + context.def_interner.push_global(global.stmt_id, name, global.module_id); (global.file_id, global.stmt_id) }); diff --git a/compiler/noirc_frontend/src/hir/mod.rs b/compiler/noirc_frontend/src/hir/mod.rs index 5a28d7b779a..789a59e276f 100644 --- a/compiler/noirc_frontend/src/hir/mod.rs +++ b/compiler/noirc_frontend/src/hir/mod.rs @@ -29,10 +29,6 @@ pub struct Context { /// A map of each file that already has been visited from a prior `mod foo;` declaration. /// This is used to issue an error if a second `mod foo;` is declared to the same file. pub visited_files: BTreeMap, - - /// Maps a given (contract) module id to the next available storage slot - /// for that contract. - pub storage_slots: BTreeMap, } #[derive(Debug, Copy, Clone)] @@ -42,8 +38,6 @@ pub enum FunctionNameMatch<'a> { Contains(&'a str), } -pub type StorageSlot = u32; - impl Context { pub fn new(file_manager: FileManager, crate_graph: CrateGraph) -> Context { Context { @@ -52,7 +46,6 @@ impl Context { visited_files: BTreeMap::new(), crate_graph, file_manager, - storage_slots: BTreeMap::new(), } } @@ -200,16 +193,4 @@ impl Context { fn module(&self, module_id: def_map::ModuleId) -> &def_map::ModuleData { module_id.module(&self.def_maps) } - - /// Returns the next available storage slot in the given module. - /// Returns None if the given module is not a contract module. - fn next_storage_slot(&mut self, module_id: def_map::ModuleId) -> Option { - let module = self.module(module_id); - - module.is_contract.then(|| { - let next_slot = self.storage_slots.entry(module_id).or_insert(0); - *next_slot += 1; - *next_slot - }) - } } diff --git a/compiler/noirc_frontend/src/node_interner.rs b/compiler/noirc_frontend/src/node_interner.rs index 300a95f819c..e66a6d57605 100644 --- a/compiler/noirc_frontend/src/node_interner.rs +++ b/compiler/noirc_frontend/src/node_interner.rs @@ -9,7 +9,6 @@ use crate::ast::Ident; use crate::graph::CrateId; use crate::hir::def_collector::dc_crate::{UnresolvedStruct, UnresolvedTrait, UnresolvedTypeAlias}; use crate::hir::def_map::{LocalModuleId, ModuleId}; -use crate::hir::StorageSlot; use crate::hir_def::stmt::HirLetStatement; use crate::hir_def::traits::TraitImpl; use crate::hir_def::traits::{Trait, TraitConstraint}; @@ -399,10 +398,6 @@ impl DefinitionKind { pub struct GlobalInfo { pub ident: Ident, pub local_id: LocalModuleId, - - /// Global definitions have an associated storage slot if they are defined within - /// a contract. If they're defined elsewhere, this value is None. - pub storage_slot: Option, } impl Default for NodeInterner { @@ -578,14 +573,8 @@ impl NodeInterner { self.id_to_type.insert(definition_id.into(), typ); } - pub fn push_global( - &mut self, - stmt_id: StmtId, - ident: Ident, - local_id: LocalModuleId, - storage_slot: Option, - ) { - self.globals.insert(stmt_id, GlobalInfo { ident, local_id, storage_slot }); + pub fn push_global(&mut self, stmt_id: StmtId, ident: Ident, local_id: LocalModuleId) { + self.globals.insert(stmt_id, GlobalInfo { ident, local_id }); } /// Intern an empty global stmt. Used for collecting globals From 346d75f9dd9261996d4d7bb80eb7e4118e8f8ce2 Mon Sep 17 00:00:00 2001 From: Tom French <15848336+TomAFrench@users.noreply.github.com> Date: Mon, 27 Nov 2023 17:50:05 +0000 Subject: [PATCH 11/18] feat: add support for tuple values in `noir_codegen` (#3592) --- tooling/noir_codegen/src/noir_types.ts | 4 ++++ tooling/noir_codegen/test/assert_lt/src/main.nr | 10 ++++++++-- .../noir_codegen/test/assert_lt/target/assert_lt.json | 2 +- tooling/noir_codegen/test/index.test.ts | 8 +++++--- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/tooling/noir_codegen/src/noir_types.ts b/tooling/noir_codegen/src/noir_types.ts index e894c831aea..d1a22a3e2da 100644 --- a/tooling/noir_codegen/src/noir_types.ts +++ b/tooling/noir_codegen/src/noir_types.ts @@ -70,6 +70,10 @@ function abiTypeToTs(type: AbiType, primitiveTypeMap: Map abiTypeToTs(field, primitiveTypeMap)); + return `[${field_types.join(', ')}]`; + } default: throw new Error(`Unknown ABI type ${JSON.stringify(type)}`); } diff --git a/tooling/noir_codegen/test/assert_lt/src/main.nr b/tooling/noir_codegen/test/assert_lt/src/main.nr index 9795fb6effb..3b3e04ddece 100644 --- a/tooling/noir_codegen/test/assert_lt/src/main.nr +++ b/tooling/noir_codegen/test/assert_lt/src/main.nr @@ -3,11 +3,17 @@ struct MyStruct { bar: [str<5>; 3], } -fn main(x: u64, y: pub u64, array: [u8; 5], my_struct: MyStruct, string: str<5>) -> pub u64 { +fn main( + x: u64, + y: pub u64, + array: [u8; 5], + my_struct: MyStruct, + string: str<5> +) -> pub (u64, u64, MyStruct) { assert(array.len() == 5); assert(my_struct.foo); assert(string == "12345"); assert(x < y); - x + y + (x + y, 3, my_struct) } diff --git a/tooling/noir_codegen/test/assert_lt/target/assert_lt.json b/tooling/noir_codegen/test/assert_lt/target/assert_lt.json index 2556278eff3..6d928a26d43 100644 --- a/tooling/noir_codegen/test/assert_lt/target/assert_lt.json +++ b/tooling/noir_codegen/test/assert_lt/target/assert_lt.json @@ -1 +1 @@ -{"noir_version":"0.19.2+87bb3f0d789765f2d65a1e7b7554742994da2680","hash":12941906747567599524,"backend":"acvm-backend-barretenberg","abi":{"parameters":[{"name":"x","type":{"kind":"integer","sign":"unsigned","width":64},"visibility":"private"},{"name":"y","type":{"kind":"integer","sign":"unsigned","width":64},"visibility":"public"},{"name":"array","type":{"kind":"array","length":5,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"private"},{"name":"my_struct","type":{"kind":"struct","path":"MyStruct","fields":[{"name":"foo","type":{"kind":"boolean"}},{"name":"bar","type":{"kind":"array","length":3,"type":{"kind":"string","length":5}}}]},"visibility":"private"},{"name":"string","type":{"kind":"string","length":5},"visibility":"private"}],"param_witnesses":{"array":[{"start":3,"end":8}],"my_struct":[{"start":8,"end":24}],"string":[{"start":24,"end":29}],"x":[{"start":1,"end":2}],"y":[{"start":2,"end":3}]},"return_type":{"kind":"integer","sign":"unsigned","width":64},"return_witnesses":[31]},"bytecode":"H4sIAAAAAAAA/82X206DQBCGF+qh9VDP2gO0eKlXuwVauGt8k7Ys0URTY4h9fTvprm4HJVFmEych8FE6/Ay7zP63jLF7tglnvblqPzXYRdxYb02DdxDvIt5DvK9Y35Op/BC8XoimcS8zb8jHUSQnIylCMeOjdJ7EPIrn40QkIk7ibJSEoUyiZJLO0wlPRRRKkcdpmKvETTqNXNehhepygPgQ8RHiY8RtxCeITxGfIT5HfIH4EvEV4mvEN4g7iLuIe4j7iD32NW502Bg/U6IxY1Nnh0CnzCEyqzq7ZDoXuU2dPTqd0qbOPp3OzKZOj07nAvqNy8rhEmt2GN3cd/+uS+AT3zw6WW6zrr7aD9imh+txoa+BPv/AymPGMY5ddY1bcY3zQ56WcU7/v238XvfhS8Uwb06V01eFpF6A+HQaPxcgAyOnjgZxPWxNqrq5AsJ6VtXvlzo50il8wmceEL7XGvWr/MD953lT9Z55vdiaJ7xeCMp5MmT03x2ds2+8c6gnNBhoPGAYtUmEpgDGCMwQGCAwPdAUwNyAoQETA8YFzAoYFDAlYETAfMAiGRagPXUvj203Kn08ZNtN5k7tPbWfFYV8eS2CYhnMsixYPRWPwfJdvuXPy9UHoDK8FUEPAAA="} \ No newline at end of file +{"noir_version":"0.19.3+e9322d14070fa444d77ee5c43c905dd86a67c6e3","hash":9449934793688855780,"backend":"acvm-backend-barretenberg","abi":{"parameters":[{"name":"x","type":{"kind":"integer","sign":"unsigned","width":64},"visibility":"private"},{"name":"y","type":{"kind":"integer","sign":"unsigned","width":64},"visibility":"public"},{"name":"array","type":{"kind":"array","length":5,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"private"},{"name":"my_struct","type":{"kind":"struct","path":"MyStruct","fields":[{"name":"foo","type":{"kind":"boolean"}},{"name":"bar","type":{"kind":"array","length":3,"type":{"kind":"string","length":5}}}]},"visibility":"private"},{"name":"string","type":{"kind":"string","length":5},"visibility":"private"}],"param_witnesses":{"array":[{"start":3,"end":8}],"my_struct":[{"start":8,"end":24}],"string":[{"start":24,"end":29}],"x":[{"start":1,"end":2}],"y":[{"start":2,"end":3}]},"return_type":{"kind":"tuple","fields":[{"kind":"integer","sign":"unsigned","width":64},{"kind":"integer","sign":"unsigned","width":64},{"kind":"struct","path":"MyStruct","fields":[{"name":"foo","type":{"kind":"boolean"}},{"name":"bar","type":{"kind":"array","length":3,"type":{"kind":"string","length":5}}}]}]},"return_witnesses":[31,32,33,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]},"bytecode":"H4sIAAAAAAAA/81XbU/CMBDu5hv4gopvvGw49JOJH1q2wfaN+E+AddFEgzGL/H250Go5dInumnhJ0z2jXJ9er7s+t4yxe7YyZ9lc1Y8N7CK8tWw1A28jvIPwLsJ7Cus5mfIPxquZqBlzmX5DPowiORpIEYoJH6TTJOZRPB0mIhFxEmeDJAxlEiWjdJqOeCqiUIo8TsNcOa7RceQ6DnUUl32EDxA+RPgI4QbCxwifIHyKcBPhM4TPEb5A+BLhK4RbCLcR7iDcRdhjX3mjzUb+jIlyxibPFgFPmYNlVnm2yXjOcps8O3Q8pU2eXTqemU2eHh3PGdQbl22aS8zZYXRn3/07L4FffLN0Mt9mXH3V99iqhuu80GOgzj+wzZxxjGdXjXFLxjg/+Kkb7/T/G8bvVRe/EQxzciqfvgok9QXEp+P4eQHpGT61bRHHw9ahqurrhjCeZfH7JU+OeAqfcM09wn2tEL/SD9x/Pjdl+8yr2do54dVMUJ6Ta0b/3TF92tr3gI53aJNnn3DfuwZHyE8o2FDIQYBr0Q1FFoQmiEsQlCAiociCWASBCKIQhCCIPxB8IPJA2IGYA9EBF3q4LMNcHlsv/E31XGUOyI1g2fpsvfDfqd5T/aQo5MtrERTzYJJlweKpeAzm7/Itf54vPgBYg2KL1RAAAA=="} \ No newline at end of file diff --git a/tooling/noir_codegen/test/index.test.ts b/tooling/noir_codegen/test/index.test.ts index e81add02566..48199c13a67 100644 --- a/tooling/noir_codegen/test/index.test.ts +++ b/tooling/noir_codegen/test/index.test.ts @@ -1,8 +1,8 @@ import { expect } from 'chai'; -import { assert_lt, u64 } from './codegen/index.js'; +import { assert_lt, MyStruct, u64 } from './codegen/index.js'; it('codegens a callable function', async () => { - const result: u64 = await assert_lt( + const [sum, constant, struct]: [u64, u64, MyStruct] = await assert_lt( '2', '3', [0, 0, 0, 0, 0], @@ -10,5 +10,7 @@ it('codegens a callable function', async () => { '12345', ); - expect(result).to.be.eq('0x05'); + expect(sum).to.be.eq('0x05'); + expect(constant).to.be.eq('0x03'); + expect(struct).to.be.deep.eq({ foo: true, bar: ['12345', '12345', '12345'] }); }); From c25cac322a9ae91e12fe5d7fd6dbab81e7e2878b Mon Sep 17 00:00:00 2001 From: kek kek kek Date: Mon, 27 Nov 2023 09:58:51 -0800 Subject: [PATCH 12/18] chore: fix wrapping issue for constraints (#3590) --- tooling/nargo_fmt/src/visitor/stmt.rs | 30 +++++++++++++++++------ tooling/nargo_fmt/tests/expected/call.nr | 12 +++++---- tooling/nargo_fmt/tests/expected/infix.nr | 6 +++-- 3 files changed, 33 insertions(+), 15 deletions(-) diff --git a/tooling/nargo_fmt/src/visitor/stmt.rs b/tooling/nargo_fmt/src/visitor/stmt.rs index c27b7911d03..eabdb1a150a 100644 --- a/tooling/nargo_fmt/src/visitor/stmt.rs +++ b/tooling/nargo_fmt/src/visitor/stmt.rs @@ -4,7 +4,7 @@ use noirc_frontend::{ ConstrainKind, ConstrainStatement, ExpressionKind, ForRange, Statement, StatementKind, }; -use crate::rewrite; +use crate::{rewrite, visitor::expr::wrap_exprs}; use super::ExpressionType; @@ -33,30 +33,44 @@ impl super::FmtVisitor<'_> { self.push_rewrite(format!("{let_str} {expr_str};"), span); } StatementKind::Constrain(ConstrainStatement(expr, message, kind)) => { + let mut nested_shape = self.shape(); + let shape = nested_shape; + + nested_shape.indent.block_indent(self.config); + let message = message.map_or(String::new(), |message| format!(", \"{message}\"")); - let constrain = match kind { + + let (callee, args) = match kind { ConstrainKind::Assert => { - let assertion = rewrite::sub_expr(self, self.shape(), expr); + let assertion = rewrite::sub_expr(self, nested_shape, expr); + let args = format!("{assertion}{message}"); - format!("assert({assertion}{message});") + ("assert", args) } ConstrainKind::AssertEq => { if let ExpressionKind::Infix(infix) = expr.kind { - let lhs = rewrite::sub_expr(self, self.shape(), infix.lhs); - let rhs = rewrite::sub_expr(self, self.shape(), infix.rhs); + let lhs = rewrite::sub_expr(self, nested_shape, infix.lhs); + let rhs = rewrite::sub_expr(self, nested_shape, infix.rhs); - format!("assert_eq({lhs}, {rhs}{message});") + let args = format!("{lhs}, {rhs}{message}"); + + ("assert_eq", args) } else { unreachable!() } } ConstrainKind::Constrain => { let expr = rewrite::sub_expr(self, self.shape(), expr); - format!("constrain {expr};") + let constrain = format!("constrain {expr};"); + self.push_rewrite(constrain, span); + return; } }; + let args = wrap_exprs("(", ")", args, nested_shape, shape, true); + let constrain = format!("{callee}{args};"); + self.push_rewrite(constrain, span); } StatementKind::For(for_stmt) => { diff --git a/tooling/nargo_fmt/tests/expected/call.nr b/tooling/nargo_fmt/tests/expected/call.nr index 7824ba37089..de78d7c4edb 100644 --- a/tooling/nargo_fmt/tests/expected/call.nr +++ b/tooling/nargo_fmt/tests/expected/call.nr @@ -39,10 +39,12 @@ fn foo() { assert(x == y); - assert(p4_affine.eq( - Gaffine::new( - 6890855772600357754907169075114257697580319025794532037257385534741338397365, - 4338620300185947561074059802482547481416142213883829469920100239455078257889 + assert( + p4_affine.eq( + Gaffine::new( + 6890855772600357754907169075114257697580319025794532037257385534741338397365, + 4338620300185947561074059802482547481416142213883829469920100239455078257889 + ) ) - )); + ); } diff --git a/tooling/nargo_fmt/tests/expected/infix.nr b/tooling/nargo_fmt/tests/expected/infix.nr index cbc73045fe3..228dfdf68c4 100644 --- a/tooling/nargo_fmt/tests/expected/infix.nr +++ b/tooling/nargo_fmt/tests/expected/infix.nr @@ -9,10 +9,12 @@ fn foo() { } fn big() { - assert(bjj_affine.contains(bjj_affine.gen) + assert( + bjj_affine.contains(bjj_affine.gen) & bjj_affine.contains(p1_affine) & bjj_affine.contains(p2_affine) & bjj_affine.contains(p3_affine) & bjj_affine.contains(p4_affine) - & bjj_affine.contains(p5_affine)); + & bjj_affine.contains(p5_affine) + ); } From 70ee787662cf52bfaada85b7d2e434f8e3893575 Mon Sep 17 00:00:00 2001 From: Tom French <15848336+TomAFrench@users.noreply.github.com> Date: Mon, 27 Nov 2023 18:47:59 +0000 Subject: [PATCH 13/18] chore: clippy fix (#3561) --- tooling/debugger/src/context.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tooling/debugger/src/context.rs b/tooling/debugger/src/context.rs index 35cfba497f0..4c429ca2a67 100644 --- a/tooling/debugger/src/context.rs +++ b/tooling/debugger/src/context.rs @@ -522,7 +522,7 @@ fn test_break_brillig_block_while_stepping_acir_opcodes() { // set breakpoint let breakpoint_location = OpcodeLocation::Brillig { acir_index: 0, brillig_index: 1 }; - assert!(context.add_breakpoint(breakpoint_location.clone())); + assert!(context.add_breakpoint(breakpoint_location)); // execute the first ACIR opcode (Brillig block) -> should reach the breakpoint instead let result = context.step_acir_opcode(); From 8225b2b379ddf145f9418f8517478704f9aac350 Mon Sep 17 00:00:00 2001 From: Tom French <15848336+TomAFrench@users.noreply.github.com> Date: Mon, 27 Nov 2023 23:45:19 +0000 Subject: [PATCH 14/18] feat: remove type arrays for flat slices (#3466) --- .../noirc_evaluator/src/ssa/acir_gen/mod.rs | 99 ++++++++++++------- compiler/noirc_evaluator/src/ssa/ir/types.rs | 6 +- 2 files changed, 66 insertions(+), 39 deletions(-) diff --git a/compiler/noirc_evaluator/src/ssa/acir_gen/mod.rs b/compiler/noirc_evaluator/src/ssa/acir_gen/mod.rs index 2f58957c73d..59c8fec083e 100644 --- a/compiler/noirc_evaluator/src/ssa/acir_gen/mod.rs +++ b/compiler/noirc_evaluator/src/ssa/acir_gen/mod.rs @@ -101,14 +101,16 @@ pub(crate) struct AcirDynamicArray { len: usize, /// Identification for the ACIR dynamic array /// inner element type sizes array - element_type_sizes: BlockId, + element_type_sizes: Option, } impl Debug for AcirDynamicArray { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!( f, "id: {}, len: {}, element_type_sizes: {:?}", - self.block_id.0, self.len, self.element_type_sizes.0 + self.block_id.0, + self.len, + self.element_type_sizes.map(|block_id| block_id.0) ) } } @@ -921,7 +923,7 @@ impl Context { // Read the value from the array at the specified index let read = self.acir_context.read_from_memory(block_id, var_index)?; - // Incremement the var_index in case of a nested array + // Increment the var_index in case of a nested array *var_index = self.acir_context.add_var(*var_index, one)?; let typ = AcirType::NumericType(numeric_type); @@ -1036,8 +1038,11 @@ impl Context { } } - let element_type_sizes = - self.init_element_type_sizes_array(&array_typ, array_id, None, dfg)?; + let element_type_sizes = if !can_omit_element_sizes_array(&array_typ) { + Some(self.init_element_type_sizes_array(&array_typ, array_id, None, dfg)?) + } else { + None + }; let result_value = AcirValue::DynamicArray(AcirDynamicArray { block_id: result_block_id, len: array_len, @@ -1162,27 +1167,29 @@ impl Context { element_type_sizes: inner_elem_type_sizes, .. }) => { - if self.initialized_arrays.contains(&inner_elem_type_sizes) { - let type_sizes_array_len = self.internal_mem_block_lengths.get(&inner_elem_type_sizes).copied().ok_or_else(|| - InternalError::General { - message: format!("Array {array_id}'s inner element type sizes array does not have a tracked length"), + if let Some(inner_elem_type_sizes) = inner_elem_type_sizes { + if self.initialized_arrays.contains(&inner_elem_type_sizes) { + let type_sizes_array_len = self.internal_mem_block_lengths.get(&inner_elem_type_sizes).copied().ok_or_else(|| + InternalError::General { + message: format!("Array {array_id}'s inner element type sizes array does not have a tracked length"), + call_stack: self.acir_context.get_call_stack(), + } + )?; + self.copy_dynamic_array( + inner_elem_type_sizes, + element_type_sizes, + type_sizes_array_len, + )?; + self.internal_mem_block_lengths + .insert(element_type_sizes, type_sizes_array_len); + return Ok(element_type_sizes); + } else { + return Err(InternalError::General { + message: format!("Array {array_id}'s inner element type sizes array should be initialized"), call_stack: self.acir_context.get_call_stack(), } - )?; - self.copy_dynamic_array( - inner_elem_type_sizes, - element_type_sizes, - type_sizes_array_len, - )?; - self.internal_mem_block_lengths - .insert(element_type_sizes, type_sizes_array_len); - return Ok(element_type_sizes); - } else { - return Err(InternalError::General { - message: format!("Array {array_id}'s inner element type sizes array should be initialized"), - call_stack: self.acir_context.get_call_stack(), + .into()); } - .into()); } } AcirValue::Array(values) => { @@ -1298,15 +1305,19 @@ impl Context { var_index: AcirVar, dfg: &DataFlowGraph, ) -> Result { - let element_type_sizes = - self.init_element_type_sizes_array(array_typ, array_id, None, dfg)?; + if !can_omit_element_sizes_array(array_typ) { + let element_type_sizes = + self.init_element_type_sizes_array(array_typ, array_id, None, dfg)?; - let predicate_index = - self.acir_context.mul_var(var_index, self.current_side_effects_enabled_var)?; - let flat_element_size_var = - self.acir_context.read_from_memory(element_type_sizes, &predicate_index)?; + let predicate_index = + self.acir_context.mul_var(var_index, self.current_side_effects_enabled_var)?; - Ok(flat_element_size_var) + self.acir_context + .read_from_memory(element_type_sizes, &predicate_index) + .map_err(RuntimeError::from) + } else { + Ok(var_index) + } } fn flattened_slice_size(&mut self, array_id: ValueId, dfg: &DataFlowGraph) -> usize { @@ -1781,15 +1792,20 @@ impl Context { let mut var_index = slice_length; self.array_set_value(element, result_block_id, &mut var_index)?; - let result = AcirValue::DynamicArray(AcirDynamicArray { - block_id: result_block_id, - len: len + new_elem_size, - element_type_sizes: self.init_element_type_sizes_array( + let element_type_sizes = if !can_omit_element_sizes_array(&array_typ) { + Some(self.init_element_type_sizes_array( &array_typ, array_id, Some(new_slice_val), dfg, - )?, + )?) + } else { + None + }; + let result = AcirValue::DynamicArray(AcirDynamicArray { + block_id: result_block_id, + len: len + new_elem_size, + element_type_sizes, }); Ok(vec![AcirValue::Var(new_slice_length, AcirType::field()), result]) } @@ -2041,3 +2057,16 @@ impl Context { } } } + +// We can omit the element size array for arrays which have elements of size 1 and do not contain slices. +// TODO: remove restriction on size 1 elements. +fn can_omit_element_sizes_array(array_typ: &Type) -> bool { + if array_typ.contains_slice_element() { + return false; + } + let Type::Array(types, _) = array_typ else { + panic!("ICE: expected array type"); + }; + + types.len() == 1 && types[0].flattened_size() == 1 +} diff --git a/compiler/noirc_evaluator/src/ssa/ir/types.rs b/compiler/noirc_evaluator/src/ssa/ir/types.rs index 7fe0713e748..7eda93acf82 100644 --- a/compiler/noirc_evaluator/src/ssa/ir/types.rs +++ b/compiler/noirc_evaluator/src/ssa/ir/types.rs @@ -93,17 +93,15 @@ impl Type { /// Returns the flattened size of a Type pub(crate) fn flattened_size(&self) -> usize { - let mut size = 0; match self { Type::Array(elements, len) => { - size = elements.iter().fold(size, |sum, elem| sum + (elem.flattened_size() * len)); + elements.iter().fold(0, |sum, elem| sum + (elem.flattened_size() * len)) } Type::Slice(_) => { unimplemented!("ICE: cannot fetch flattened slice size"); } - _ => size += 1, + _ => 1, } - size } } From a7bdc67ef3ec2037bffc4f1f472907cad786c319 Mon Sep 17 00:00:00 2001 From: Tom French <15848336+TomAFrench@users.noreply.github.com> Date: Mon, 27 Nov 2023 23:47:53 +0000 Subject: [PATCH 15/18] feat: send and receive unflattened public inputs to backend (#3543) --- .../test/node/smart_contract_verifier.test.ts | 4 +- .../noir_js_backend_barretenberg/src/index.ts | 30 ++----- .../src/public_inputs.ts | 87 +++++++++++++++++++ tooling/noir_js_types/src/types.ts | 6 +- 4 files changed, 99 insertions(+), 28 deletions(-) create mode 100644 tooling/noir_js_backend_barretenberg/src/public_inputs.ts diff --git a/compiler/integration-tests/test/node/smart_contract_verifier.test.ts b/compiler/integration-tests/test/node/smart_contract_verifier.test.ts index 738bc2df8dd..a57f2dcbfb6 100644 --- a/compiler/integration-tests/test/node/smart_contract_verifier.test.ts +++ b/compiler/integration-tests/test/node/smart_contract_verifier.test.ts @@ -7,7 +7,7 @@ import toml from 'toml'; import { compile, init_log_level as compilerLogLevel } from '@noir-lang/noir_wasm'; import { Noir } from '@noir-lang/noir_js'; -import { BarretenbergBackend } from '@noir-lang/backend_barretenberg'; +import { BarretenbergBackend, flattenPublicInputs } from '@noir-lang/backend_barretenberg'; compilerLogLevel('INFO'); @@ -59,7 +59,7 @@ test_cases.forEach((testInfo) => { const contract = await ethers.deployContract(testInfo.compiled, [], {}); - const result = await contract.verify(proofData.proof, proofData.publicInputs); + const result = await contract.verify(proofData.proof, flattenPublicInputs(proofData.publicInputs)); expect(result).to.be.true; }); diff --git a/tooling/noir_js_backend_barretenberg/src/index.ts b/tooling/noir_js_backend_barretenberg/src/index.ts index 820cda93c83..100418debd0 100644 --- a/tooling/noir_js_backend_barretenberg/src/index.ts +++ b/tooling/noir_js_backend_barretenberg/src/index.ts @@ -3,6 +3,9 @@ import { decompressSync as gunzip } from 'fflate'; import { acirToUint8Array } from './serialize.js'; import { Backend, CompiledCircuit, ProofData } from '@noir-lang/types'; import { BackendOptions } from './types.js'; +import { deflattenPublicInputs, flattenPublicInputsAsArray } from './public_inputs.js'; + +export { flattenPublicInputs } from './public_inputs.js'; // This is the number of bytes in a UltraPlonk proof // minus the public inputs. @@ -18,7 +21,7 @@ export class BarretenbergBackend implements Backend { private acirUncompressedBytecode: Uint8Array; constructor( - acirCircuit: CompiledCircuit, + private acirCircuit: CompiledCircuit, private options: BackendOptions = { threads: 1 }, ) { const acirBytecodeBase64 = acirCircuit.bytecode; @@ -91,16 +94,8 @@ export class BarretenbergBackend implements Backend { const splitIndex = proofWithPublicInputs.length - numBytesInProofWithoutPublicInputs; const publicInputsConcatenated = proofWithPublicInputs.slice(0, splitIndex); - - const publicInputSize = 32; - const publicInputs: Uint8Array[] = []; - - for (let i = 0; i < publicInputsConcatenated.length; i += publicInputSize) { - const publicInput = publicInputsConcatenated.slice(i, i + publicInputSize); - publicInputs.push(publicInput); - } - const proof = proofWithPublicInputs.slice(splitIndex); + const publicInputs = deflattenPublicInputs(publicInputsConcatenated, this.acirCircuit.abi); return { proof, publicInputs }; } @@ -185,7 +180,7 @@ export class BarretenbergBackend implements Backend { function reconstructProofWithPublicInputs(proofData: ProofData): Uint8Array { // Flatten publicInputs - const publicInputsConcatenated = flattenUint8Arrays(proofData.publicInputs); + const publicInputsConcatenated = flattenPublicInputsAsArray(proofData.publicInputs); // Concatenate publicInputs and proof const proofWithPublicInputs = Uint8Array.from([...publicInputsConcatenated, ...proofData.proof]); @@ -193,18 +188,5 @@ function reconstructProofWithPublicInputs(proofData: ProofData): Uint8Array { return proofWithPublicInputs; } -function flattenUint8Arrays(arrays: Uint8Array[]): Uint8Array { - const totalLength = arrays.reduce((acc, val) => acc + val.length, 0); - const result = new Uint8Array(totalLength); - - let offset = 0; - for (const arr of arrays) { - result.set(arr, offset); - offset += arr.length; - } - - return result; -} - // typedoc exports export { Backend, BackendOptions, CompiledCircuit, ProofData }; diff --git a/tooling/noir_js_backend_barretenberg/src/public_inputs.ts b/tooling/noir_js_backend_barretenberg/src/public_inputs.ts new file mode 100644 index 00000000000..fb7fee59beb --- /dev/null +++ b/tooling/noir_js_backend_barretenberg/src/public_inputs.ts @@ -0,0 +1,87 @@ +import { Abi, WitnessMap } from '@noir-lang/types'; + +export function flattenPublicInputs(publicInputs: WitnessMap): string[] { + const publicInputIndices = [...publicInputs.keys()].sort(); + const flattenedPublicInputs = publicInputIndices.map((index) => publicInputs.get(index) as string); + return flattenedPublicInputs; +} + +export function flattenPublicInputsAsArray(publicInputs: WitnessMap): Uint8Array { + const flatPublicInputs = flattenPublicInputs(publicInputs); + const flattenedPublicInputs = flatPublicInputs.map(hexToUint8Array); + return flattenUint8Arrays(flattenedPublicInputs); +} + +export function deflattenPublicInputs(flattenedPublicInputs: Uint8Array, abi: Abi): WitnessMap { + const publicInputSize = 32; + const chunkedFlattenedPublicInputs: Uint8Array[] = []; + + for (let i = 0; i < flattenedPublicInputs.length; i += publicInputSize) { + const publicInput = flattenedPublicInputs.slice(i, i + publicInputSize); + chunkedFlattenedPublicInputs.push(publicInput); + } + + const return_value_witnesses = abi.return_witnesses; + const public_parameters = abi.parameters.filter((param) => param.visibility === 'public'); + const public_parameter_witnesses: number[] = public_parameters.flatMap((param) => + abi.param_witnesses[param.name].flatMap((witness_range) => + Array.from({ length: witness_range.end - witness_range.start }, (_, i) => witness_range.start + i), + ), + ); + + // We now have an array of witness indices which have been deduplicated and sorted in ascending order. + // The elements of this array should correspond to the elements of `flattenedPublicInputs` so that we can build up a `WitnessMap`. + const public_input_witnesses = [...new Set(public_parameter_witnesses.concat(return_value_witnesses))].sort(); + + const publicInputs: WitnessMap = new Map(); + public_input_witnesses.forEach((witness_index, index) => { + const witness_value = uint8ArrayToHex(chunkedFlattenedPublicInputs[index]); + publicInputs.set(witness_index, witness_value); + }); + + return publicInputs; +} + +function flattenUint8Arrays(arrays: Uint8Array[]): Uint8Array { + const totalLength = arrays.reduce((acc, val) => acc + val.length, 0); + const result = new Uint8Array(totalLength); + + let offset = 0; + for (const arr of arrays) { + result.set(arr, offset); + offset += arr.length; + } + + return result; +} + +function uint8ArrayToHex(buffer: Uint8Array): string { + const hex: string[] = []; + + buffer.forEach(function (i) { + let h = i.toString(16); + if (h.length % 2) { + h = '0' + h; + } + hex.push(h); + }); + + return '0x' + hex.join(''); +} + +function hexToUint8Array(hex: string): Uint8Array { + const sanitised_hex = BigInt(hex).toString(16).padStart(64, '0'); + + const len = sanitised_hex.length / 2; + const u8 = new Uint8Array(len); + + let i = 0; + let j = 0; + while (i < len) { + u8[i] = parseInt(sanitised_hex.slice(j, j + 2), 16); + i += 1; + j += 2; + } + + return u8; +} diff --git a/tooling/noir_js_types/src/types.ts b/tooling/noir_js_types/src/types.ts index 5ed6b1721e9..b997d92425d 100644 --- a/tooling/noir_js_types/src/types.ts +++ b/tooling/noir_js_types/src/types.ts @@ -1,4 +1,6 @@ -import { Abi } from '@noir-lang/noirc_abi'; +import { Abi, WitnessMap } from '@noir-lang/noirc_abi'; + +export { Abi, WitnessMap } from '@noir-lang/noirc_abi'; export interface Backend { /** @@ -43,7 +45,7 @@ export interface Backend { * */ export type ProofData = { /** @description Public inputs of a proof */ - publicInputs: Uint8Array[]; + publicInputs: WitnessMap; /** @description An byte array representing the proof */ proof: Uint8Array; }; From c6fc6f79cd269c9fffc7116bc1c0b7b284ef4a97 Mon Sep 17 00:00:00 2001 From: Tom French <15848336+TomAFrench@users.noreply.github.com> Date: Tue, 28 Nov 2023 00:05:11 +0000 Subject: [PATCH 16/18] chore: move suite of test programs up to repository root (#3485) --- .github/workflows/auto-pr-rebuild-script.yml | 8 ++++---- .github/workflows/gates_report.yml | 8 +++----- .gitignore | 5 +++-- compiler/integration-tests/circuits/main/Nargo.toml | 5 ----- .../integration-tests/scripts/codegen-verifiers.sh | 10 +++++----- .../test/browser/compile_prove_verify.test.ts | 4 ++-- .../test/browser/recursion.test.ts | 2 +- .../test/node/smart_contract_verifier.test.ts | 6 +++--- release-tests/test/6_array.test.js | 12 ++++++------ .../nargo_cli/tests => test_programs}/README.md | 0 .../1327_concrete_in_generic/target/acir.gz | Bin .../1327_concrete_in_generic/target/witness.gz | Bin .../acir_artifacts/1_mul/target/acir.gz | Bin .../acir_artifacts/1_mul/target/witness.gz | Bin .../acir_artifacts/2_div/target/acir.gz | Bin .../acir_artifacts/2_div/target/witness.gz | Bin .../acir_artifacts/3_add/target/acir.gz | Bin .../acir_artifacts/3_add/target/witness.gz | Bin .../acir_artifacts/4_sub/target/acir.gz | Bin .../acir_artifacts/4_sub/target/witness.gz | Bin .../acir_artifacts/5_over/target/acir.gz | Bin .../acir_artifacts/5_over/target/witness.gz | Bin .../acir_artifacts/6/target/acir.gz | Bin .../acir_artifacts/6/target/witness.gz | Bin .../acir_artifacts/6_array/target/acir.gz | Bin .../acir_artifacts/6_array/target/witness.gz | Bin .../acir_artifacts/7/target/acir.gz | Bin .../acir_artifacts/7/target/witness.gz | Bin .../acir_artifacts/7_function/target/acir.gz | Bin .../acir_artifacts/7_function/target/witness.gz | Bin .../arithmetic_binary_operations/target/acir.gz | Bin .../arithmetic_binary_operations/target/witness.gz | Bin .../acir_artifacts/array_dynamic/target/acir.gz | Bin .../acir_artifacts/array_dynamic/target/witness.gz | Bin .../acir_artifacts/array_eq/target/acir.gz | Bin .../acir_artifacts/array_eq/target/witness.gz | Bin .../acir_artifacts/array_len/target/acir.gz | Bin .../acir_artifacts/array_len/target/witness.gz | Bin .../acir_artifacts/array_neq/target/acir.gz | Bin .../acir_artifacts/array_neq/target/witness.gz | Bin .../acir_artifacts/array_sort/target/acir.gz | Bin .../acir_artifacts/array_sort/target/witness.gz | Bin .../acir_artifacts/assert/target/acir.gz | Bin .../acir_artifacts/assert/target/witness.gz | Bin .../acir_artifacts/assert_statement/target/acir.gz | Bin .../assert_statement/target/witness.gz | Bin .../acir_artifacts/assign_ex/target/acir.gz | Bin .../acir_artifacts/assign_ex/target/witness.gz | Bin .../acir_artifacts/bit_and/target/acir.gz | Bin .../acir_artifacts/bit_and/target/witness.gz | Bin .../bit_shifts_comptime/target/acir.gz | Bin .../bit_shifts_comptime/target/witness.gz | Bin .../bit_shifts_runtime/target/acir.gz | Bin .../bit_shifts_runtime/target/witness.gz | Bin .../acir_artifacts/bool_not/target/acir.gz | Bin .../acir_artifacts/bool_not/target/witness.gz | Bin .../acir_artifacts/bool_or/target/acir.gz | Bin .../acir_artifacts/bool_or/target/witness.gz | Bin .../brillig_acir_as_brillig/target/acir.gz | Bin .../brillig_acir_as_brillig/target/witness.gz | Bin .../acir_artifacts/brillig_arrays/target/acir.gz | Bin .../acir_artifacts/brillig_arrays/target/witness.gz | Bin .../acir_artifacts/brillig_assert/target/acir.gz | Bin .../acir_artifacts/brillig_assert/target/witness.gz | Bin .../acir_artifacts/brillig_blake2s/target/acir.gz | Bin .../brillig_blake2s/target/witness.gz | Bin .../acir_artifacts/brillig_calls/target/acir.gz | Bin .../acir_artifacts/brillig_calls/target/witness.gz | Bin .../brillig_calls_array/target/acir.gz | Bin .../brillig_calls_array/target/witness.gz | Bin .../brillig_calls_conditionals/target/acir.gz | Bin .../brillig_calls_conditionals/target/witness.gz | Bin .../brillig_conditional/target/acir.gz | Bin .../brillig_conditional/target/witness.gz | Bin .../acir_artifacts/brillig_ecdsa/target/acir.gz | Bin .../acir_artifacts/brillig_ecdsa/target/witness.gz | Bin .../brillig_fns_as_values/target/acir.gz | Bin .../brillig_fns_as_values/target/witness.gz | Bin .../brillig_hash_to_field/target/acir.gz | Bin .../brillig_hash_to_field/target/witness.gz | Bin .../brillig_identity_function/target/acir.gz | Bin .../brillig_identity_function/target/witness.gz | Bin .../acir_artifacts/brillig_keccak/target/acir.gz | Bin .../acir_artifacts/brillig_keccak/target/witness.gz | Bin .../acir_artifacts/brillig_loop/target/acir.gz | Bin .../acir_artifacts/brillig_loop/target/witness.gz | Bin .../brillig_nested_arrays/target/acir.gz | Bin .../brillig_nested_arrays/target/witness.gz | Bin .../brillig_nested_slices/target/acir.gz | Bin .../brillig_nested_slices/target/witness.gz | Bin .../acir_artifacts/brillig_not/target/acir.gz | Bin .../acir_artifacts/brillig_not/target/witness.gz | Bin .../acir_artifacts/brillig_oracle/target/acir.gz | Bin .../acir_artifacts/brillig_oracle/target/witness.gz | Bin .../acir_artifacts/brillig_pedersen/target/acir.gz | Bin .../brillig_pedersen/target/witness.gz | Bin .../acir_artifacts/brillig_recursion/target/acir.gz | Bin .../brillig_recursion/target/witness.gz | Bin .../brillig_references/target/acir.gz | Bin .../brillig_references/target/witness.gz | Bin .../brillig_scalar_mul/target/acir.gz | Bin .../brillig_scalar_mul/target/witness.gz | Bin .../acir_artifacts/brillig_schnorr/target/acir.gz | Bin .../brillig_schnorr/target/witness.gz | Bin .../acir_artifacts/brillig_sha256/target/acir.gz | Bin .../acir_artifacts/brillig_sha256/target/witness.gz | Bin .../acir_artifacts/brillig_slices/target/acir.gz | Bin .../acir_artifacts/brillig_slices/target/witness.gz | Bin .../brillig_to_be_bytes/target/acir.gz | Bin .../brillig_to_be_bytes/target/witness.gz | Bin .../brillig_to_bytes_integration/target/acir.gz | Bin .../brillig_to_bytes_integration/target/witness.gz | Bin .../brillig_to_le_bytes/target/acir.gz | Bin .../brillig_to_le_bytes/target/witness.gz | Bin .../acir_artifacts/brillig_top_level/target/acir.gz | Bin .../brillig_top_level/target/witness.gz | Bin .../brillig_unitialised_arrays/target/acir.gz | Bin .../brillig_unitialised_arrays/target/witness.gz | Bin .../acir_artifacts/cast_bool/target/acir.gz | Bin .../acir_artifacts/cast_bool/target/witness.gz | Bin .../acir_artifacts/closures_mut_ref/target/acir.gz | Bin .../closures_mut_ref/target/witness.gz | Bin .../acir_artifacts/conditional_1/target/acir.gz | Bin .../acir_artifacts/conditional_1/target/witness.gz | Bin .../acir_artifacts/conditional_2/target/acir.gz | Bin .../acir_artifacts/conditional_2/target/witness.gz | Bin .../conditional_regression_421/target/acir.gz | Bin .../conditional_regression_421/target/witness.gz | Bin .../conditional_regression_661/target/acir.gz | Bin .../conditional_regression_661/target/witness.gz | Bin .../target/acir.gz | Bin .../target/witness.gz | Bin .../conditional_regression_underflow/target/acir.gz | Bin .../target/witness.gz | Bin .../acir_artifacts/custom_entry/target/acir.gz | Bin .../acir_artifacts/custom_entry/target/witness.gz | Bin .../acir_artifacts/debug_logs/target/acir.gz | Bin .../acir_artifacts/debug_logs/target/witness.gz | Bin .../acir_artifacts/diamond_deps_0/target/acir.gz | Bin .../acir_artifacts/diamond_deps_0/target/witness.gz | Bin .../acir_artifacts/distinct_keyword/target/acir.gz | Bin .../distinct_keyword/target/witness.gz | Bin .../double_verify_proof/target/acir.gz | Bin .../double_verify_proof/target/witness.gz | Bin .../acir_artifacts/ecdsa_secp256k1/target/acir.gz | Bin .../ecdsa_secp256k1/target/witness.gz | Bin .../acir_artifacts/ecdsa_secp256r1/target/acir.gz | Bin .../ecdsa_secp256r1/target/witness.gz | Bin .../acir_artifacts/eddsa/target/acir.gz | Bin .../acir_artifacts/eddsa/target/witness.gz | Bin .../acir_artifacts/field_attribute/target/acir.gz | Bin .../field_attribute/target/witness.gz | Bin .../acir_artifacts/generics/target/acir.gz | Bin .../acir_artifacts/generics/target/witness.gz | Bin .../acir_artifacts/global_consts/target/acir.gz | Bin .../acir_artifacts/global_consts/target/witness.gz | Bin .../acir_artifacts/hash_to_field/target/acir.gz | Bin .../acir_artifacts/hash_to_field/target/witness.gz | Bin .../higher_order_functions/target/acir.gz | Bin .../higher_order_functions/target/witness.gz | Bin .../acir_artifacts/if_else_chain/target/acir.gz | Bin .../acir_artifacts/if_else_chain/target/witness.gz | Bin .../acir_artifacts/import/target/acir.gz | Bin .../acir_artifacts/import/target/witness.gz | Bin .../integer_array_indexing/target/acir.gz | Bin .../integer_array_indexing/target/witness.gz | Bin .../acir_artifacts/keccak256/target/acir.gz | Bin .../acir_artifacts/keccak256/target/witness.gz | Bin .../acir_artifacts/main_bool_arg/target/acir.gz | Bin .../acir_artifacts/main_bool_arg/target/witness.gz | Bin .../acir_artifacts/merkle_insert/target/acir.gz | Bin .../acir_artifacts/merkle_insert/target/witness.gz | Bin .../acir_artifacts/mock_oracle/target/acir.gz | Bin .../acir_artifacts/mock_oracle/target/witness.gz | Bin .../acir_artifacts/modules/target/acir.gz | Bin .../acir_artifacts/modules/target/witness.gz | Bin .../acir_artifacts/modules_more/target/acir.gz | Bin .../acir_artifacts/modules_more/target/witness.gz | Bin .../acir_artifacts/modulus/target/acir.gz | Bin .../acir_artifacts/modulus/target/witness.gz | Bin .../nested_array_dynamic/target/acir.gz | Bin .../nested_array_dynamic/target/witness.gz | Bin .../nested_arrays_from_brillig/target/acir.gz | Bin .../nested_arrays_from_brillig/target/witness.gz | Bin .../nested_slice_dynamic/target/acir.gz | Bin .../nested_slice_dynamic/target/witness.gz | Bin .../acir_artifacts/pedersen_check/target/acir.gz | Bin .../acir_artifacts/pedersen_check/target/witness.gz | Bin .../poseidon_bn254_hash/target/acir.gz | Bin .../poseidon_bn254_hash/target/witness.gz | Bin .../poseidonsponge_x5_254/target/acir.gz | Bin .../poseidonsponge_x5_254/target/witness.gz | Bin .../acir_artifacts/pred_eq/target/acir.gz | Bin .../acir_artifacts/pred_eq/target/witness.gz | Bin .../acir_artifacts/references/target/acir.gz | Bin .../acir_artifacts/references/target/witness.gz | Bin .../acir_artifacts/regression/target/acir.gz | Bin .../acir_artifacts/regression/target/witness.gz | Bin .../acir_artifacts/regression_2854/target/acir.gz | Bin .../regression_2854/target/witness.gz | Bin .../regression_mem_op_predicate/target/acir.gz | Bin .../regression_mem_op_predicate/target/witness.gz | Bin .../target/acir.gz | Bin .../target/witness.gz | Bin .../acir_artifacts/scalar_mul/target/acir.gz | Bin .../acir_artifacts/scalar_mul/target/witness.gz | Bin .../acir_artifacts/schnorr/target/acir.gz | Bin .../acir_artifacts/schnorr/target/witness.gz | Bin .../acir_artifacts/sha256/target/acir.gz | Bin .../acir_artifacts/sha256/target/witness.gz | Bin .../acir_artifacts/sha2_byte/target/acir.gz | Bin .../acir_artifacts/sha2_byte/target/witness.gz | Bin .../acir_artifacts/signed_arithmetic/target/acir.gz | Bin .../signed_arithmetic/target/witness.gz | Bin .../acir_artifacts/signed_division/target/acir.gz | Bin .../signed_division/target/witness.gz | Bin .../acir_artifacts/simple_2d_array/target/acir.gz | Bin .../simple_2d_array/target/witness.gz | Bin .../simple_add_and_ret_arr/target/acir.gz | Bin .../simple_add_and_ret_arr/target/witness.gz | Bin .../acir_artifacts/simple_bitwise/target/acir.gz | Bin .../acir_artifacts/simple_bitwise/target/witness.gz | Bin .../acir_artifacts/simple_comparison/target/acir.gz | Bin .../simple_comparison/target/witness.gz | Bin .../acir_artifacts/simple_mut/target/acir.gz | Bin .../acir_artifacts/simple_mut/target/witness.gz | Bin .../acir_artifacts/simple_not/target/acir.gz | Bin .../acir_artifacts/simple_not/target/witness.gz | Bin .../acir_artifacts/simple_print/target/acir.gz | Bin .../acir_artifacts/simple_print/target/witness.gz | Bin .../simple_program_addition/target/acir.gz | Bin .../simple_program_addition/target/witness.gz | Bin .../acir_artifacts/simple_radix/target/acir.gz | Bin .../acir_artifacts/simple_radix/target/witness.gz | Bin .../acir_artifacts/simple_shield/target/acir.gz | Bin .../acir_artifacts/simple_shield/target/witness.gz | Bin .../simple_shift_left_right/target/acir.gz | Bin .../simple_shift_left_right/target/witness.gz | Bin .../slice_dynamic_index/target/acir.gz | Bin .../slice_dynamic_index/target/witness.gz | Bin .../slice_struct_field/target/acir.gz | Bin .../slice_struct_field/target/witness.gz | Bin .../acir_artifacts/slices/target/acir.gz | Bin .../acir_artifacts/slices/target/witness.gz | Bin .../acir_artifacts/strings/target/acir.gz | Bin .../acir_artifacts/strings/target/witness.gz | Bin .../acir_artifacts/struct/target/acir.gz | Bin .../acir_artifacts/struct/target/witness.gz | Bin .../struct_array_inputs/target/acir.gz | Bin .../struct_array_inputs/target/witness.gz | Bin .../struct_fields_ordering/target/acir.gz | Bin .../struct_fields_ordering/target/witness.gz | Bin .../acir_artifacts/struct_inputs/target/acir.gz | Bin .../acir_artifacts/struct_inputs/target/witness.gz | Bin .../acir_artifacts/submodules/target/acir.gz | Bin .../acir_artifacts/submodules/target/witness.gz | Bin .../acir_artifacts/to_be_bytes/target/acir.gz | Bin .../acir_artifacts/to_be_bytes/target/witness.gz | Bin .../to_bytes_consistent/target/acir.gz | Bin .../to_bytes_consistent/target/witness.gz | Bin .../to_bytes_integration/target/acir.gz | Bin .../to_bytes_integration/target/witness.gz | Bin .../acir_artifacts/to_le_bytes/target/acir.gz | Bin .../acir_artifacts/to_le_bytes/target/witness.gz | Bin .../trait_as_return_type/target/acir.gz | Bin .../trait_as_return_type/target/witness.gz | Bin .../trait_impl_base_type/target/acir.gz | Bin .../trait_impl_base_type/target/witness.gz | Bin .../traits_in_crates_1/target/acir.gz | Bin .../traits_in_crates_1/target/witness.gz | Bin .../traits_in_crates_2/target/acir.gz | Bin .../traits_in_crates_2/target/witness.gz | Bin .../acir_artifacts/tuple_inputs/target/acir.gz | Bin .../acir_artifacts/tuple_inputs/target/witness.gz | Bin .../acir_artifacts/tuples/target/acir.gz | Bin .../acir_artifacts/tuples/target/witness.gz | Bin .../acir_artifacts/type_aliases/target/acir.gz | Bin .../acir_artifacts/type_aliases/target/witness.gz | Bin .../acir_artifacts/xor/target/acir.gz | Bin .../acir_artifacts/xor/target/witness.gz | Bin .../compile_failure/assert_constant_fail/Nargo.toml | 0 .../assert_constant_fail/src/main.nr | 0 .../compile_failure/assert_eq_struct/Nargo.toml | 0 .../compile_failure/assert_eq_struct/src/main.nr | 0 .../compile_failure/brillig_assert_fail/Nargo.toml | 0 .../compile_failure/brillig_assert_fail/Prover.toml | 0 .../compile_failure/brillig_assert_fail/src/main.nr | 0 .../compile_failure/constrain_typo/Nargo.toml | 0 .../compile_failure/constrain_typo/src/main.nr | 0 .../custom_entry_not_found/Nargo.toml | 0 .../custom_entry_not_found/Prover.toml | 0 .../custom_entry_not_found/src/main.nr | 0 .../compile_failure/dep_impl_primitive/Nargo.toml | 0 .../compile_failure/dep_impl_primitive/Prover.toml | 0 .../compile_failure/dep_impl_primitive/src/main.nr | 0 .../compile_failure/depend_on_bin/Nargo.toml | 0 .../compile_failure/depend_on_bin/Prover.toml | 0 .../compile_failure/depend_on_bin/src/main.nr | 0 .../div_by_zero_constants/Nargo.toml | 0 .../div_by_zero_constants/Prover.toml | 0 .../div_by_zero_constants/src/main.nr | 0 .../compile_failure/div_by_zero_modulo/Nargo.toml | 0 .../compile_failure/div_by_zero_modulo/Prover.toml | 0 .../compile_failure/div_by_zero_modulo/src/main.nr | 0 .../div_by_zero_numerator_witness/Nargo.toml | 0 .../div_by_zero_numerator_witness/Prover.toml | 0 .../div_by_zero_numerator_witness/src/main.nr | 0 .../compile_failure/div_by_zero_witness/Nargo.toml | 0 .../compile_failure/div_by_zero_witness/Prover.toml | 0 .../compile_failure/div_by_zero_witness/src/main.nr | 0 .../dup_trait_implementation_4/Nargo.toml | 0 .../dup_trait_implementation_4/Prover.toml | 0 .../dup_trait_implementation_4/src/main.nr | 0 .../dup_trait_implementation_4/src/module1.nr | 0 .../dup_trait_implementation_4/src/module2.nr | 0 .../dup_trait_implementation_4/src/module3.nr | 0 .../dup_trait_implementation_5/Nargo.toml | 0 .../dup_trait_implementation_5/Prover.toml | 0 .../dup_trait_implementation_5/src/main.nr | 0 .../dup_trait_implementation_5/src/module1.nr | 0 .../dup_trait_implementation_5/src/module2.nr | 0 .../dup_trait_implementation_5/src/module3.nr | 0 .../dup_trait_implementation_5/src/module4.nr | 0 .../compile_failure/dup_trait_items_1/Nargo.toml | 0 .../compile_failure/dup_trait_items_1/Prover.toml | 0 .../compile_failure/dup_trait_items_1/src/main.nr | 0 .../compile_failure/dup_trait_items_2/Nargo.toml | 0 .../compile_failure/dup_trait_items_2/Prover.toml | 0 .../compile_failure/dup_trait_items_2/src/main.nr | 0 .../compile_failure/dup_trait_items_3/Nargo.toml | 0 .../compile_failure/dup_trait_items_3/Prover.toml | 0 .../compile_failure/dup_trait_items_3/src/main.nr | 0 .../compile_failure/dup_trait_items_4/Nargo.toml | 0 .../compile_failure/dup_trait_items_4/Prover.toml | 0 .../compile_failure/dup_trait_items_4/src/main.nr | 0 .../compile_failure/dup_trait_items_5/Nargo.toml | 0 .../compile_failure/dup_trait_items_5/Prover.toml | 0 .../compile_failure/dup_trait_items_5/src/main.nr | 0 .../compile_failure/dup_trait_items_6/Nargo.toml | 0 .../compile_failure/dup_trait_items_6/Prover.toml | 0 .../compile_failure/dup_trait_items_6/src/main.nr | 0 .../duplicate_declaration/Nargo.toml | 0 .../duplicate_declaration/src/main.nr | 0 .../dyn_index_fail_nested_array/Nargo.toml | 0 .../dyn_index_fail_nested_array/Prover.toml | 0 .../dyn_index_fail_nested_array/src/main.nr | 0 .../dynamic_index_failure/Nargo.toml | 0 .../dynamic_index_failure/Prover.toml | 0 .../dynamic_index_failure/src/main.nr | 0 .../compile_failure/field_modulo/Nargo.toml | 0 .../compile_failure/field_modulo/src/main.nr | 0 .../integer_literal_overflow/Nargo.toml | 0 .../integer_literal_overflow/src/main.nr | 0 .../invalid_dependency_name/Nargo.toml | 0 .../invalid_dependency_name/src/main.nr | 0 .../compile_failure/multiple_contracts/Nargo.toml | 0 .../compile_failure/multiple_contracts/src/main.nr | 0 .../multiple_primary_attributes_fail/Nargo.toml | 0 .../multiple_primary_attributes_fail/src/main.nr | 0 .../mutability_regression_2911/Nargo.toml | 0 .../mutability_regression_2911/src/main.nr | 0 .../no_impl_from_function/Nargo.toml | 0 .../no_impl_from_function/src/main.nr | 0 .../compile_failure/no_nested_impl/Nargo.toml | 0 .../compile_failure/no_nested_impl/src/main.nr | 0 .../compile_failure/orphaned_trait_impl/Nargo.toml | 0 .../orphaned_trait_impl}/Prover.toml | 0 .../orphaned_trait_impl/crate1/Nargo.toml | 0 .../orphaned_trait_impl/crate1/src/lib.nr | 0 .../orphaned_trait_impl/crate2/Nargo.toml | 0 .../orphaned_trait_impl/crate2/src/lib.nr | 0 .../compile_failure/orphaned_trait_impl/src/main.nr | 0 .../overflowing_assignment/Nargo.toml | 0 .../overflowing_assignment/src/main.nr | 0 .../overlapping_generic_impls/Nargo.toml | 0 .../overlapping_generic_impls/src/main.nr | 0 .../compile_failure/package_name_empty/Nargo.toml | 0 .../compile_failure/package_name_empty/src/main.nr | 0 .../compile_failure/package_name_hyphen/Nargo.toml | 0 .../compile_failure/package_name_hyphen/src/main.nr | 0 .../primary_attribute_struct/Nargo.toml | 0 .../primary_attribute_struct/src/main.nr | 0 .../radix_non_constant_length/Nargo.toml | 0 .../radix_non_constant_length/Prover.toml | 0 .../radix_non_constant_length/src/main.nr | 0 .../compile_failure/slice_access_failure/Nargo.toml | 0 .../slice_access_failure/Prover.toml | 0 .../slice_access_failure/src/main.nr | 0 .../compile_failure/slice_insert_failure/Nargo.toml | 0 .../slice_insert_failure/Prover.toml | 0 .../slice_insert_failure/src/main.nr | 0 .../compile_failure/slice_remove_failure/Nargo.toml | 0 .../slice_remove_failure/Prover.toml | 0 .../slice_remove_failure/src/main.nr | 0 .../trait_incorrect_generic_count/Nargo.toml | 0 .../trait_incorrect_generic_count/src/main.nr | 0 .../compile_failure/workspace_fail/Nargo.toml | 0 .../workspace_fail/crates/a/Nargo.toml | 0 .../workspace_fail/crates/a/Prover.toml | 0 .../workspace_fail/crates/a/src/main.nr | 0 .../workspace_fail/crates/b/Nargo.toml | 0 .../workspace_fail/crates/b/Prover.toml | 0 .../workspace_fail/crates/b}/src/main.nr | 0 .../workspace_missing_toml/Nargo.toml | 0 .../workspace_missing_toml/crates/a/Prover.toml | 0 .../workspace_missing_toml}/crates/a/src/main.nr | 0 .../workspace_missing_toml/crates/b/Nargo.toml | 0 .../workspace_missing_toml/crates/b/Prover.toml | 0 .../workspace_missing_toml}/crates/b/src/main.nr | 0 .../contract_with_impl/Nargo.toml | 0 .../contract_with_impl/src/main.nr | 0 .../non_entry_point_method/Nargo.toml | 0 .../non_entry_point_method/src/main.nr | 0 .../simple_contract/Nargo.toml | 0 .../simple_contract/src/main.nr | 0 .../attributes_multiple/Nargo.toml | 0 .../attributes_multiple/src/main.nr | 0 .../attributes_struct/Nargo.toml | 0 .../attributes_struct/src/main.nr | 0 .../compile_success_empty/auto_deref/Nargo.toml | 0 .../compile_success_empty/auto_deref/src/main.nr | 0 .../compile_success_empty/brillig_cast/Nargo.toml | 0 .../compile_success_empty/brillig_cast/src/main.nr | 0 .../brillig_field_binary_operations/Nargo.toml | 0 .../brillig_field_binary_operations/Prover.toml | 0 .../brillig_field_binary_operations/src/main.nr | 0 .../brillig_integer_binary_operations/Nargo.toml | 0 .../brillig_integer_binary_operations/Prover.toml | 0 .../brillig_integer_binary_operations/src/main.nr | 0 .../compile_success_empty/brillig_modulo/Nargo.toml | 0 .../brillig_modulo/Prover.toml | 0 .../brillig_modulo/src/main.nr | 0 .../brillig_to_bits/Nargo.toml | 0 .../brillig_to_bits/src/main.nr | 0 .../closure_explicit_types/Nargo.toml | 0 .../closure_explicit_types/src/main.nr | 0 .../comptime_recursion_regression/Nargo.toml | 0 .../comptime_recursion_regression/Prover.toml | 0 .../comptime_recursion_regression/src/main.nr | 0 .../compile_success_empty/comptime_sort/Nargo.toml | 0 .../compile_success_empty/comptime_sort/src/main.nr | 0 .../conditional_regression_547/Nargo.toml | 0 .../conditional_regression_547/Prover.toml | 0 .../conditional_regression_547/src/main.nr | 0 .../conditional_regression_579/Nargo.toml | 0 .../conditional_regression_579/Prover.toml | 0 .../conditional_regression_579/src/main.nr | 0 .../conditional_regression_to_bits/Nargo.toml | 0 .../conditional_regression_to_bits/Prover.toml | 0 .../conditional_regression_to_bits/src/main.nr | 0 .../compile_success_empty/ec_baby_jubjub/Nargo.toml | 0 .../ec_baby_jubjub/src/main.nr | 0 .../compile_success_empty/generators/Nargo.toml | 0 .../compile_success_empty/generators/src/main.nr | 0 .../higher_order_fn_selector/Nargo.toml | 0 .../higher_order_fn_selector/src/main.nr | 0 .../impl_with_where_clause/Nargo.toml | 0 .../impl_with_where_clause/src/main.nr | 0 .../compile_success_empty/inner_outer_cl/Nargo.toml | 0 .../inner_outer_cl/src/main.nr | 0 .../instruction_deduplication/Nargo.toml | 0 .../instruction_deduplication/Prover.toml | 0 .../instruction_deduplication/src/main.nr | 0 .../compile_success_empty/intrinsic_die/Nargo.toml | 0 .../compile_success_empty/intrinsic_die/src/main.nr | 0 .../compile_success_empty/let_stmt/Nargo.toml | 0 .../compile_success_empty/let_stmt/Prover.toml | 0 .../compile_success_empty/let_stmt/src/main.nr | 0 .../compile_success_empty/main_return/Nargo.toml | 0 .../compile_success_empty/main_return/Prover.toml | 0 .../compile_success_empty/main_return/src/main.nr | 0 .../numeric_generics/Nargo.toml | 0 .../numeric_generics/Prover.toml | 0 .../numeric_generics/src/main.nr | 0 .../compile_success_empty/option/Nargo.toml | 0 .../compile_success_empty/option/src/main.nr | 0 .../references_aliasing/Nargo.toml | 0 .../references_aliasing/Prover.toml | 0 .../references_aliasing/src/main.nr | 0 .../regression_2099/Nargo.toml | 0 .../regression_2099/src/main.nr | 0 .../compile_success_empty/ret_fn_ret_cl/Nargo.toml | 0 .../compile_success_empty/ret_fn_ret_cl/Prover.toml | 0 .../compile_success_empty/ret_fn_ret_cl/src/main.nr | 0 .../simple_array_param/Nargo.toml | 0 .../simple_array_param/Prover.toml | 0 .../simple_array_param/src/main.nr | 0 .../simple_program_no_body/Nargo.toml | 0 .../simple_program_no_body/Prover.toml | 0 .../simple_program_no_body/src/main.nr | 0 .../compile_success_empty/simple_range/Nargo.toml | 0 .../compile_success_empty/simple_range/Prover.toml | 0 .../compile_success_empty/simple_range/src/main.nr | 0 .../compile_success_empty/specialization/Nargo.toml | 0 .../specialization/src/main.nr | 0 .../compile_success_empty/str_as_bytes/Nargo.toml | 0 .../compile_success_empty/str_as_bytes/src/main.nr | 0 .../compile_success_empty/to_bits/Nargo.toml | 0 .../compile_success_empty/to_bits/src/main.nr | 0 .../trait_allowed_item_name_matches/Nargo.toml | 0 .../trait_allowed_item_name_matches/Prover.toml | 0 .../trait_allowed_item_name_matches/src/main.nr | 0 .../Nargo.toml | 0 .../Prover.toml | 0 .../src/main.nr | 0 .../trait_default_implementation/Nargo.toml | 0 .../trait_default_implementation/Prover.toml | 0 .../trait_default_implementation/src/main.nr | 0 .../trait_function_calls/Nargo.toml | 0 .../trait_function_calls/Prover.toml | 0 .../trait_function_calls/src/main.nr | 0 .../compile_success_empty/trait_generics/Nargo.toml | 0 .../trait_generics/src/main.nr | 0 .../trait_multi_module_test/Nargo.toml | 0 .../trait_multi_module_test/Prover.toml | 0 .../trait_multi_module_test/src/main.nr | 0 .../trait_multi_module_test/src/module1.nr | 0 .../trait_multi_module_test/src/module2.nr | 0 .../trait_multi_module_test/src/module3.nr | 0 .../trait_multi_module_test/src/module4.nr | 0 .../trait_multi_module_test/src/module5.nr | 0 .../trait_multi_module_test/src/module6.nr | 0 .../trait_override_implementation/Nargo.toml | 0 .../trait_override_implementation/Prover.toml | 0 .../trait_override_implementation/src/main.nr | 0 .../trait_static_methods/Nargo.toml | 0 .../trait_static_methods/src/main.nr | 0 .../trait_where_clause/Nargo.toml | 0 .../trait_where_clause/src/main.nr | 0 .../trait_where_clause/src/the_trait.nr | 0 .../compile_success_empty/traits/Nargo.toml | 0 .../compile_success_empty/traits/Prover.toml | 0 .../compile_success_empty/traits/src/main.nr | 0 .../unary_operators/Nargo.toml | 0 .../unary_operators/src/main.nr | 0 .../unconstrained_empty/Nargo.toml | 0 .../unconstrained_empty/src/main.nr | 0 .../compile_success_empty/unit/Nargo.toml | 0 .../compile_success_empty/unit/src/main.nr | 0 .../unused_variables/Nargo.toml | 0 .../unused_variables/src/main.nr | 0 .../compile_success_empty/vectors/Nargo.toml | 0 .../compile_success_empty/vectors/Prover.toml | 0 .../compile_success_empty/vectors/src/main.nr | 0 .../workspace_reexport_bug/Nargo.toml | 0 .../workspace_reexport_bug/binary/Nargo.toml | 0 .../workspace_reexport_bug/binary/src/main.nr | 0 .../workspace_reexport_bug/library/Nargo.toml | 0 .../workspace_reexport_bug/library/src/lib.nr | 0 .../workspace_reexport_bug/library2/Nargo.toml | 0 .../workspace_reexport_bug/library2/src/lib.nr | 0 .../1327_concrete_in_generic/Nargo.toml | 0 .../1327_concrete_in_generic/Prover.toml | 0 .../1327_concrete_in_generic/src/main.nr | 0 .../execution_success/1_mul/Nargo.toml | 0 .../execution_success/1_mul/Prover.toml | 0 .../execution_success/1_mul/src/main.nr | 0 .../execution_success/2_div/Nargo.toml | 0 .../execution_success/2_div/Prover.toml | 0 .../execution_success/2_div/src/main.nr | 0 .../execution_success/3_add/Nargo.toml | 0 .../execution_success/3_add/Prover.toml | 0 .../execution_success/3_add/src/main.nr | 0 .../execution_success/4_sub/Nargo.toml | 0 .../execution_success/4_sub/Prover.toml | 0 .../execution_success/4_sub/src/main.nr | 0 .../execution_success/5_over/Nargo.toml | 0 .../execution_success/5_over/Prover.toml | 0 .../execution_success/5_over/src/main.nr | 0 .../execution_success/6/Nargo.toml | 0 .../execution_success/6/Prover.toml | 0 .../execution_success/6/src/main.nr | 0 .../execution_success/6_array/Nargo.toml | 0 .../execution_success/6_array/Prover.toml | 0 .../execution_success/6_array/src/main.nr | 0 .../execution_success/7/Nargo.toml | 0 .../execution_success/7/Prover.toml | 0 .../execution_success/7/src/main.nr | 0 .../execution_success/7_function/Nargo.toml | 0 .../execution_success/7_function/Prover.toml | 0 .../execution_success/7_function/src/main.nr | 0 .../arithmetic_binary_operations/Nargo.toml | 0 .../arithmetic_binary_operations/Prover.toml | 0 .../arithmetic_binary_operations/src/main.nr | 0 .../execution_success/array_dynamic/Nargo.toml | 0 .../execution_success/array_dynamic/Prover.toml | 0 .../execution_success/array_dynamic/src/main.nr | 0 .../execution_success/array_eq/Nargo.toml | 0 .../execution_success/array_eq/Prover.toml | 0 .../execution_success/array_eq/src/main.nr | 0 .../execution_success/array_len/Nargo.toml | 0 .../execution_success/array_len/Prover.toml | 0 .../execution_success/array_len/src/main.nr | 0 .../execution_success/array_neq/Nargo.toml | 0 .../execution_success/array_neq/Prover.toml | 0 .../execution_success/array_neq/src/main.nr | 0 .../execution_success/array_sort/Nargo.toml | 0 .../execution_success/array_sort/Prover.toml | 0 .../execution_success/array_sort/src/main.nr | 0 .../execution_success/assert/Nargo.toml | 0 .../execution_success/assert/Prover.toml | 0 .../execution_success/assert/src/main.nr | 0 .../execution_success/assert_statement/Nargo.toml | 0 .../execution_success/assert_statement/Prover.toml | 0 .../execution_success/assert_statement/src/main.nr | 0 .../execution_success/assign_ex/Nargo.toml | 0 .../execution_success/assign_ex/Prover.toml | 0 .../execution_success/assign_ex/src/main.nr | 0 .../execution_success/bit_and/Nargo.toml | 0 .../execution_success/bit_and/Prover.toml | 0 .../execution_success/bit_and/src/main.nr | 0 .../bit_shifts_comptime/Nargo.toml | 0 .../bit_shifts_comptime/Prover.toml | 0 .../bit_shifts_comptime/src/main.nr | 0 .../execution_success/bit_shifts_runtime/Nargo.toml | 0 .../bit_shifts_runtime/Prover.toml | 0 .../bit_shifts_runtime/src/main.nr | 0 .../execution_success/bool_not/Nargo.toml | 0 .../execution_success/bool_not/Prover.toml | 0 .../execution_success/bool_not/src/main.nr | 0 .../execution_success/bool_or/Nargo.toml | 0 .../execution_success/bool_or/Prover.toml | 0 .../execution_success/bool_or/src/main.nr | 0 .../brillig_acir_as_brillig/Nargo.toml | 0 .../brillig_acir_as_brillig/Prover.toml | 0 .../brillig_acir_as_brillig/src/main.nr | 0 .../execution_success/brillig_arrays/Nargo.toml | 0 .../execution_success/brillig_arrays/Prover.toml | 0 .../execution_success/brillig_arrays/src/main.nr | 0 .../execution_success/brillig_assert/Nargo.toml | 0 .../execution_success/brillig_assert/Prover.toml | 0 .../execution_success/brillig_assert/src/main.nr | 0 .../execution_success/brillig_blake2s/Nargo.toml | 0 .../execution_success/brillig_blake2s/Prover.toml | 0 .../execution_success/brillig_blake2s/src/main.nr | 0 .../execution_success/brillig_calls/Nargo.toml | 0 .../execution_success/brillig_calls/Prover.toml | 0 .../execution_success/brillig_calls/src/main.nr | 0 .../brillig_calls_array/Nargo.toml | 0 .../brillig_calls_array/Prover.toml | 0 .../brillig_calls_array/src/main.nr | 0 .../brillig_calls_conditionals/Nargo.toml | 0 .../brillig_calls_conditionals/Prover.toml | 0 .../brillig_calls_conditionals/src/main.nr | 0 .../brillig_conditional/Nargo.toml | 0 .../brillig_conditional/Prover.toml | 0 .../brillig_conditional/src/main.nr | 0 .../execution_success/brillig_ecdsa/Nargo.toml | 0 .../execution_success/brillig_ecdsa/Prover.toml | 0 .../execution_success/brillig_ecdsa/src/main.nr | 0 .../brillig_fns_as_values/Nargo.toml | 0 .../brillig_fns_as_values/Prover.toml | 0 .../brillig_fns_as_values/src/main.nr | 0 .../brillig_hash_to_field/Nargo.toml | 0 .../brillig_hash_to_field/Prover.toml | 0 .../brillig_hash_to_field/src/main.nr | 0 .../brillig_identity_function/Nargo.toml | 0 .../brillig_identity_function/Prover.toml | 0 .../brillig_identity_function/src/main.nr | 0 .../execution_success/brillig_keccak/Nargo.toml | 0 .../execution_success/brillig_keccak/Prover.toml | 0 .../execution_success/brillig_keccak/src/main.nr | 0 .../execution_success/brillig_loop/Nargo.toml | 0 .../execution_success/brillig_loop/Prover.toml | 0 .../execution_success/brillig_loop/src/main.nr | 0 .../brillig_nested_arrays/Nargo.toml | 0 .../brillig_nested_arrays/Prover.toml | 0 .../brillig_nested_arrays/src/main.nr | 0 .../brillig_nested_slices/Nargo.toml | 0 .../brillig_nested_slices/Prover.toml | 0 .../brillig_nested_slices/src/main.nr | 0 .../execution_success/brillig_not/Nargo.toml | 0 .../execution_success/brillig_not/Prover.toml | 0 .../execution_success/brillig_not/src/main.nr | 0 .../execution_success/brillig_oracle/Nargo.toml | 0 .../execution_success/brillig_oracle/Prover.toml | 0 .../execution_success/brillig_oracle/src/main.nr | 0 .../execution_success/brillig_pedersen/Nargo.toml | 0 .../execution_success/brillig_pedersen/Prover.toml | 0 .../execution_success/brillig_pedersen/src/main.nr | 0 .../execution_success/brillig_recursion/Nargo.toml | 0 .../execution_success/brillig_recursion/Prover.toml | 0 .../execution_success/brillig_recursion/src/main.nr | 0 .../execution_success/brillig_references/Nargo.toml | 0 .../brillig_references/Prover.toml | 0 .../brillig_references/src/main.nr | 0 .../execution_success/brillig_scalar_mul/Nargo.toml | 0 .../brillig_scalar_mul/Prover.toml | 0 .../brillig_scalar_mul/src/main.nr | 0 .../execution_success/brillig_schnorr/Nargo.toml | 0 .../execution_success/brillig_schnorr/Prover.toml | 0 .../execution_success/brillig_schnorr/src/main.nr | 0 .../execution_success/brillig_sha256/Nargo.toml | 0 .../execution_success/brillig_sha256/Prover.toml | 0 .../execution_success/brillig_sha256/src/main.nr | 0 .../execution_success/brillig_slices/Nargo.toml | 0 .../execution_success/brillig_slices/Prover.toml | 0 .../execution_success/brillig_slices/src/main.nr | 0 .../brillig_to_be_bytes/Nargo.toml | 0 .../brillig_to_be_bytes/Prover.toml | 0 .../brillig_to_be_bytes/src/main.nr | 0 .../brillig_to_bytes_integration/Nargo.toml | 0 .../brillig_to_bytes_integration/Prover.toml | 0 .../brillig_to_bytes_integration/src/main.nr | 0 .../brillig_to_le_bytes/Nargo.toml | 0 .../brillig_to_le_bytes/Prover.toml | 0 .../brillig_to_le_bytes/src/main.nr | 0 .../execution_success/brillig_top_level/Nargo.toml | 0 .../execution_success/brillig_top_level/Prover.toml | 0 .../execution_success/brillig_top_level/src/main.nr | 0 .../brillig_unitialised_arrays/Nargo.toml | 0 .../brillig_unitialised_arrays/Prover.toml | 0 .../brillig_unitialised_arrays/src/main.nr | 0 .../execution_success/cast_bool/Nargo.toml | 0 .../execution_success/cast_bool/Prover.toml | 0 .../execution_success/cast_bool/src/main.nr | 0 .../execution_success/closures_mut_ref/Nargo.toml | 0 .../execution_success/closures_mut_ref/Prover.toml | 0 .../execution_success/closures_mut_ref/src/main.nr | 0 .../execution_success/conditional_1/Nargo.toml | 0 .../execution_success/conditional_1/Prover.toml | 0 .../execution_success/conditional_1/src/main.nr | 0 .../execution_success/conditional_2/Nargo.toml | 0 .../execution_success/conditional_2/Prover.toml | 0 .../execution_success/conditional_2/src/main.nr | 0 .../conditional_regression_421/Nargo.toml | 0 .../conditional_regression_421/Prover.toml | 0 .../conditional_regression_421/src/main.nr | 0 .../conditional_regression_661/Nargo.toml | 0 .../conditional_regression_661/Prover.toml | 0 .../conditional_regression_661/src/main.nr | 0 .../conditional_regression_short_circuit/Nargo.toml | 0 .../Prover.toml | 0 .../src/main.nr | 0 .../conditional_regression_underflow/Nargo.toml | 0 .../conditional_regression_underflow/Prover.toml | 0 .../conditional_regression_underflow/src/main.nr | 0 .../execution_success/custom_entry/Nargo.toml | 0 .../execution_success/custom_entry/Prover.toml | 0 .../execution_success/custom_entry/src/foobarbaz.nr | 0 .../execution_success/debug_logs/Nargo.toml | 0 .../execution_success/debug_logs/Prover.toml | 0 .../execution_success/debug_logs/src/main.nr | 0 .../execution_success/diamond_deps_0/Nargo.toml | 0 .../execution_success/diamond_deps_0/Prover.toml | 0 .../execution_success/diamond_deps_0/src/main.nr | 0 .../execution_success/distinct_keyword/Nargo.toml | 0 .../execution_success/distinct_keyword/Prover.toml | 0 .../execution_success/distinct_keyword/src/main.nr | 0 .../double_verify_proof/Nargo.toml | 0 .../double_verify_proof/Prover.toml | 0 .../double_verify_proof/src/main.nr | 0 .../execution_success/ecdsa_secp256k1/Nargo.toml | 0 .../execution_success/ecdsa_secp256k1/Prover.toml | 0 .../execution_success/ecdsa_secp256k1/src/main.nr | 0 .../execution_success/ecdsa_secp256r1/Nargo.toml | 0 .../execution_success/ecdsa_secp256r1/Prover.toml | 0 .../execution_success/ecdsa_secp256r1/src/main.nr | 0 .../execution_success/eddsa/Nargo.toml | 0 .../execution_success/eddsa/Prover.toml | 0 .../execution_success/eddsa/src/main.nr | 0 .../execution_success/field_attribute/Nargo.toml | 0 .../execution_success/field_attribute/Prover.toml | 0 .../execution_success/field_attribute/src/main.nr | 0 .../execution_success/generics/Nargo.toml | 0 .../execution_success/generics/Prover.toml | 0 .../execution_success/generics/src/main.nr | 0 .../execution_success/global_consts/Nargo.toml | 0 .../execution_success/global_consts/Prover.toml | 0 .../execution_success/global_consts/src/baz.nr | 0 .../execution_success/global_consts/src/foo.nr | 0 .../execution_success/global_consts/src/foo/bar.nr | 0 .../execution_success/global_consts/src/main.nr | 0 .../execution_success/hash_to_field/Nargo.toml | 0 .../execution_success/hash_to_field/Prover.toml | 0 .../execution_success/hash_to_field/src/main.nr | 0 .../higher_order_functions/Nargo.toml | 0 .../higher_order_functions/Prover.toml | 0 .../higher_order_functions/src/main.nr | 0 .../execution_success/if_else_chain/Nargo.toml | 0 .../execution_success/if_else_chain/Prover.toml | 0 .../execution_success/if_else_chain/src/main.nr | 0 .../execution_success/import/Nargo.toml | 0 .../execution_success/import/Prover.toml | 0 .../execution_success/import/src/import.nr | 0 .../execution_success/import/src/main.nr | 0 .../integer_array_indexing/Nargo.toml | 0 .../integer_array_indexing/Prover.toml | 0 .../integer_array_indexing/src/main.nr | 0 .../execution_success/keccak256/Nargo.toml | 0 .../execution_success/keccak256/Prover.toml | 0 .../execution_success/keccak256/src/main.nr | 0 .../execution_success/main_bool_arg/Nargo.toml | 0 .../execution_success/main_bool_arg/Prover.toml | 0 .../execution_success/main_bool_arg/src/main.nr | 0 .../execution_success/merkle_insert/Nargo.toml | 0 .../execution_success/merkle_insert/Prover.toml | 0 .../execution_success/merkle_insert/src/main.nr | 0 .../execution_success/mock_oracle/Nargo.toml | 0 .../execution_success/mock_oracle/Prover.toml | 0 .../execution_success/mock_oracle/src/main.nr | 0 .../execution_success/modules/Nargo.toml | 0 .../execution_success/modules/Prover.toml | 0 .../execution_success/modules/src/foo.nr | 0 .../execution_success/modules/src/main.nr | 0 .../execution_success/modules_more/Nargo.toml | 0 .../execution_success/modules_more/Prover.toml | 0 .../execution_success/modules_more/src/foo.nr | 0 .../execution_success/modules_more/src/foo/bar.nr | 0 .../execution_success/modules_more/src/main.nr | 0 .../execution_success/modulus/Nargo.toml | 0 .../execution_success/modulus/Prover.toml | 0 .../execution_success/modulus/src/main.nr | 0 .../nested_array_dynamic/Nargo.toml | 0 .../nested_array_dynamic/Prover.toml | 0 .../nested_array_dynamic/src/main.nr | 0 .../nested_arrays_from_brillig/Nargo.toml | 0 .../nested_arrays_from_brillig/Prover.toml | 0 .../nested_arrays_from_brillig/src/main.nr | 0 .../nested_slice_dynamic/Nargo.toml | 0 .../nested_slice_dynamic/Prover.toml | 0 .../nested_slice_dynamic/src/main.nr | 0 .../execution_success/pedersen_check/Nargo.toml | 0 .../execution_success/pedersen_check/Prover.toml | 0 .../execution_success/pedersen_check/src/main.nr | 0 .../poseidon_bn254_hash/Nargo.toml | 0 .../poseidon_bn254_hash/Prover.toml | 0 .../poseidon_bn254_hash/src/main.nr | 0 .../poseidonsponge_x5_254/Nargo.toml | 0 .../poseidonsponge_x5_254/Prover.toml | 0 .../poseidonsponge_x5_254/src/main.nr | 0 .../execution_success/pred_eq/Nargo.toml | 0 .../execution_success/pred_eq/Prover.toml | 0 .../execution_success/pred_eq/src/main.nr | 0 .../execution_success/references/Nargo.toml | 0 .../execution_success/references/Prover.toml | 0 .../execution_success/references/src/main.nr | 0 .../execution_success/regression/Nargo.toml | 0 .../execution_success/regression/Prover.toml | 0 .../execution_success/regression/src/main.nr | 0 .../execution_success/regression_2854/Nargo.toml | 0 .../execution_success/regression_2854/Prover.toml | 0 .../execution_success/regression_2854/src/main.nr | 0 .../regression_mem_op_predicate/Nargo.toml | 0 .../regression_mem_op_predicate/Prover.toml | 0 .../regression_mem_op_predicate/src/main.nr | 0 .../regression_method_cannot_be_found/Nargo.toml | 0 .../regression_method_cannot_be_found/Prover.toml | 0 .../regression_method_cannot_be_found/src/main.nr | 0 .../execution_success/scalar_mul/Nargo.toml | 0 .../execution_success/scalar_mul/Prover.toml | 0 .../execution_success/scalar_mul/src/main.nr | 0 .../execution_success/schnorr/Nargo.toml | 0 .../execution_success/schnorr/Prover.toml | 0 .../execution_success/schnorr/src/main.nr | 0 .../execution_success/sha256/Nargo.toml | 0 .../execution_success/sha256/Prover.toml | 0 .../execution_success/sha256/src/main.nr | 0 .../execution_success/sha2_byte/Nargo.toml | 0 .../execution_success/sha2_byte/Prover.toml | 0 .../execution_success/sha2_byte/src/main.nr | 0 .../execution_success/signed_arithmetic/Nargo.toml | 0 .../execution_success/signed_arithmetic/Prover.toml | 0 .../execution_success/signed_arithmetic/src/main.nr | 0 .../execution_success/signed_division/Nargo.toml | 0 .../execution_success/signed_division/Prover.toml | 0 .../execution_success/signed_division/src/main.nr | 0 .../execution_success/simple_2d_array/Nargo.toml | 0 .../execution_success/simple_2d_array/Prover.toml | 0 .../execution_success/simple_2d_array/src/main.nr | 0 .../simple_add_and_ret_arr/Nargo.toml | 0 .../simple_add_and_ret_arr/Prover.toml | 0 .../simple_add_and_ret_arr/src/main.nr | 0 .../execution_success/simple_bitwise/Nargo.toml | 0 .../execution_success/simple_bitwise/Prover.toml | 0 .../execution_success/simple_bitwise/src/main.nr | 0 .../execution_success/simple_comparison/Nargo.toml | 0 .../execution_success/simple_comparison/Prover.toml | 0 .../execution_success/simple_comparison/src/main.nr | 0 .../execution_success/simple_mut/Nargo.toml | 0 .../execution_success/simple_mut/Prover.toml | 0 .../execution_success/simple_mut/src/main.nr | 0 .../execution_success/simple_not/Nargo.toml | 0 .../execution_success/simple_not/Prover.toml | 0 .../execution_success/simple_not/src/main.nr | 0 .../execution_success/simple_print/Nargo.toml | 0 .../execution_success/simple_print}/Prover.toml | 0 .../execution_success/simple_print/src/main.nr | 0 .../simple_program_addition/Nargo.toml | 0 .../simple_program_addition/Prover.toml | 0 .../simple_program_addition/src/main.nr | 0 .../execution_success/simple_radix/Nargo.toml | 0 .../execution_success/simple_radix/Prover.toml | 0 .../execution_success/simple_radix/src/main.nr | 0 .../execution_success/simple_shield/Nargo.toml | 0 .../execution_success/simple_shield/Prover.toml | 0 .../execution_success/simple_shield/src/main.nr | 0 .../simple_shift_left_right/Nargo.toml | 0 .../simple_shift_left_right/Prover.toml | 0 .../simple_shift_left_right/src/main.nr | 0 .../slice_dynamic_index/Nargo.toml | 0 .../slice_dynamic_index/Prover.toml | 0 .../slice_dynamic_index/src/main.nr | 0 .../execution_success/slice_struct_field/Nargo.toml | 0 .../slice_struct_field/Prover.toml | 0 .../slice_struct_field/src/main.nr | 0 .../execution_success/slices/Nargo.toml | 0 .../execution_success/slices/Prover.toml | 0 .../execution_success/slices/src/main.nr | 0 .../execution_success/strings/Nargo.toml | 0 .../execution_success/strings/Prover.toml | 0 .../execution_success/strings/src/main.nr | 0 .../execution_success/struct/Nargo.toml | 0 .../execution_success/struct/Prover.toml | 0 .../execution_success/struct/src/main.nr | 0 .../struct_array_inputs/Nargo.toml | 0 .../struct_array_inputs/Prover.toml | 0 .../struct_array_inputs/src/main.nr | 0 .../struct_fields_ordering/Nargo.toml | 0 .../struct_fields_ordering/Prover.toml | 0 .../struct_fields_ordering/src/main.nr | 0 .../execution_success/struct_inputs/Nargo.toml | 0 .../execution_success/struct_inputs/Prover.toml | 0 .../execution_success/struct_inputs/src/foo.nr | 0 .../execution_success/struct_inputs/src/foo/bar.nr | 0 .../execution_success/struct_inputs/src/main.nr | 0 .../execution_success/submodules/Nargo.toml | 0 .../execution_success/submodules/Prover.toml | 0 .../execution_success/submodules/src/main.nr | 0 .../execution_success/to_be_bytes/Nargo.toml | 0 .../execution_success/to_be_bytes/Prover.toml | 0 .../execution_success/to_be_bytes/src/main.nr | 0 .../to_bytes_consistent/Nargo.toml | 0 .../to_bytes_consistent/Prover.toml | 0 .../to_bytes_consistent/src/main.nr | 0 .../to_bytes_integration/Nargo.toml | 0 .../to_bytes_integration/Prover.toml | 0 .../to_bytes_integration/src/main.nr | 0 .../execution_success/to_le_bytes/Nargo.toml | 0 .../execution_success/to_le_bytes/Prover.toml | 0 .../execution_success/to_le_bytes/src/main.nr | 0 .../trait_as_return_type/Nargo.toml | 0 .../trait_as_return_type/Prover.toml | 0 .../trait_as_return_type/src/main.nr | 0 .../trait_impl_base_type/Nargo.toml | 0 .../trait_impl_base_type/Prover.toml | 0 .../trait_impl_base_type/src/main.nr | 0 .../execution_success/traits_in_crates_1/Nargo.toml | 0 .../traits_in_crates_1/Prover.toml | 0 .../traits_in_crates_1/crate1/Nargo.toml | 0 .../traits_in_crates_1/crate1/src/lib.nr | 0 .../traits_in_crates_1/crate2/Nargo.toml | 0 .../traits_in_crates_1/crate2/src/lib.nr | 0 .../traits_in_crates_1/src/main.nr | 0 .../execution_success/traits_in_crates_2/Nargo.toml | 0 .../traits_in_crates_2/Prover.toml | 0 .../traits_in_crates_2/crate1/Nargo.toml | 0 .../traits_in_crates_2/crate1/src/lib.nr | 0 .../traits_in_crates_2/crate2/Nargo.toml | 0 .../traits_in_crates_2/crate2/src/lib.nr | 0 .../traits_in_crates_2/src/main.nr | 0 .../execution_success/tuple_inputs/Nargo.toml | 0 .../execution_success/tuple_inputs/Prover.toml | 0 .../execution_success/tuple_inputs/src/main.nr | 0 .../execution_success/tuples/Nargo.toml | 0 .../execution_success/tuples/Prover.toml | 0 .../execution_success/tuples/src/main.nr | 0 .../execution_success/type_aliases/Nargo.toml | 0 .../execution_success/type_aliases/Prover.toml | 0 .../execution_success/type_aliases/src/main.nr | 0 .../execution_success/workspace/Nargo.toml | 0 .../execution_success/workspace/Prover.toml | 0 .../execution_success/workspace/crates/a/Nargo.toml | 0 .../workspace/crates/a/Prover.toml | 0 .../workspace/crates}/a/src/main.nr | 0 .../execution_success/workspace/crates/b/Nargo.toml | 0 .../workspace/crates/b/Prover.toml | 0 .../workspace}/crates/b/src/main.nr | 0 .../workspace_default_member/Nargo.toml | 0 .../workspace_default_member/Prover.toml | 0 .../workspace_default_member/a/Nargo.toml | 0 .../workspace_default_member/a/Prover.toml | 0 .../workspace_default_member}/a/src/main.nr | 0 .../workspace_default_member/b/Nargo.toml | 0 .../workspace_default_member/b/Prover.toml | 0 .../workspace_default_member/b/src/main.nr | 0 .../execution_success/xor/Nargo.toml | 0 .../execution_success/xor/Prover.toml | 0 .../execution_success/xor/src/main.nr | 0 .../tests => test_programs}/gates_report.sh | 0 .../should_fail_mismatch/Nargo.toml | 0 .../should_fail_mismatch/Prover.toml | 0 .../should_fail_mismatch/src/main.nr | 0 .../should_fail_with_matches/Nargo.toml | 0 .../should_fail_with_matches/Prover.toml | 0 .../should_fail_with_matches/src/main.nr | 0 .../nargo_cli/tests => test_programs}/rebuild.sh | 0 .../test_libraries/bad_impl/Nargo.toml | 0 .../test_libraries/bad_impl/src/lib.nr | 0 .../test_libraries/bad_name/Nargo.toml | 0 .../test_libraries/bad_name/src/lib.nr | 0 .../test_libraries/bin_dep/Nargo.toml | 0 .../test_libraries/bin_dep/src/main.nr | 0 .../test_libraries/diamond_deps_1/Nargo.toml | 0 .../test_libraries/diamond_deps_1/src/lib.nr | 0 .../test_libraries/diamond_deps_2/Nargo.toml | 0 .../test_libraries/diamond_deps_2/src/lib.nr | 0 tooling/nargo_cli/build.rs | 8 ++++---- .../execution_success/simple_print/Prover.toml | 2 -- .../workspace/crates/b/src/main.nr | 3 --- 1010 files changed, 31 insertions(+), 42 deletions(-) delete mode 100644 compiler/integration-tests/circuits/main/Nargo.toml rename {tooling/nargo_cli/tests => test_programs}/README.md (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/1327_concrete_in_generic/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/1327_concrete_in_generic/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/1_mul/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/1_mul/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/2_div/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/2_div/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/3_add/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/3_add/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/4_sub/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/4_sub/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/5_over/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/5_over/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/6/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/6/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/6_array/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/6_array/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/7/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/7/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/7_function/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/7_function/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/arithmetic_binary_operations/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/arithmetic_binary_operations/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/array_dynamic/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/array_dynamic/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/array_eq/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/array_eq/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/array_len/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/array_len/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/array_neq/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/array_neq/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/array_sort/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/array_sort/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/assert/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/assert/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/assert_statement/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/assert_statement/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/assign_ex/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/assign_ex/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/bit_and/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/bit_and/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/bit_shifts_comptime/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/bit_shifts_comptime/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/bit_shifts_runtime/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/bit_shifts_runtime/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/bool_not/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/bool_not/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/bool_or/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/bool_or/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_acir_as_brillig/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_acir_as_brillig/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_arrays/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_arrays/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_assert/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_assert/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_blake2s/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_blake2s/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_calls/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_calls/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_calls_array/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_calls_array/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_calls_conditionals/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_calls_conditionals/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_conditional/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_conditional/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_ecdsa/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_ecdsa/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_fns_as_values/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_fns_as_values/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_hash_to_field/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_hash_to_field/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_identity_function/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_identity_function/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_keccak/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_keccak/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_loop/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_loop/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_nested_arrays/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_nested_arrays/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_nested_slices/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_nested_slices/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_not/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_not/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_oracle/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_oracle/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_pedersen/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_pedersen/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_recursion/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_recursion/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_references/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_references/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_scalar_mul/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_scalar_mul/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_schnorr/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_schnorr/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_sha256/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_sha256/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_slices/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_slices/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_to_be_bytes/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_to_be_bytes/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_to_bytes_integration/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_to_bytes_integration/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_to_le_bytes/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_to_le_bytes/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_top_level/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_top_level/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_unitialised_arrays/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/brillig_unitialised_arrays/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/cast_bool/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/cast_bool/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/closures_mut_ref/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/closures_mut_ref/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/conditional_1/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/conditional_1/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/conditional_2/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/conditional_2/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/conditional_regression_421/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/conditional_regression_421/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/conditional_regression_661/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/conditional_regression_661/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/conditional_regression_short_circuit/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/conditional_regression_short_circuit/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/conditional_regression_underflow/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/conditional_regression_underflow/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/custom_entry/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/custom_entry/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/debug_logs/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/debug_logs/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/diamond_deps_0/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/diamond_deps_0/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/distinct_keyword/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/distinct_keyword/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/double_verify_proof/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/double_verify_proof/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/ecdsa_secp256k1/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/ecdsa_secp256k1/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/ecdsa_secp256r1/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/ecdsa_secp256r1/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/eddsa/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/eddsa/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/field_attribute/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/field_attribute/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/generics/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/generics/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/global_consts/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/global_consts/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/hash_to_field/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/hash_to_field/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/higher_order_functions/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/higher_order_functions/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/if_else_chain/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/if_else_chain/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/import/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/import/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/integer_array_indexing/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/integer_array_indexing/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/keccak256/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/keccak256/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/main_bool_arg/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/main_bool_arg/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/merkle_insert/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/merkle_insert/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/mock_oracle/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/mock_oracle/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/modules/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/modules/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/modules_more/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/modules_more/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/modulus/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/modulus/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/nested_array_dynamic/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/nested_array_dynamic/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/nested_arrays_from_brillig/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/nested_arrays_from_brillig/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/nested_slice_dynamic/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/nested_slice_dynamic/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/pedersen_check/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/pedersen_check/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/poseidon_bn254_hash/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/poseidon_bn254_hash/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/poseidonsponge_x5_254/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/poseidonsponge_x5_254/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/pred_eq/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/pred_eq/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/references/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/references/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/regression/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/regression/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/regression_2854/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/regression_2854/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/regression_mem_op_predicate/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/regression_mem_op_predicate/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/regression_method_cannot_be_found/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/regression_method_cannot_be_found/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/scalar_mul/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/scalar_mul/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/schnorr/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/schnorr/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/sha256/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/sha256/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/sha2_byte/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/sha2_byte/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/signed_arithmetic/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/signed_arithmetic/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/signed_division/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/signed_division/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_2d_array/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_2d_array/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_add_and_ret_arr/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_add_and_ret_arr/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_bitwise/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_bitwise/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_comparison/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_comparison/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_mut/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_mut/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_not/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_not/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_print/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_print/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_program_addition/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_program_addition/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_radix/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_radix/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_shield/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_shield/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_shift_left_right/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/simple_shift_left_right/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/slice_dynamic_index/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/slice_dynamic_index/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/slice_struct_field/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/slice_struct_field/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/slices/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/slices/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/strings/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/strings/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/struct/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/struct/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/struct_array_inputs/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/struct_array_inputs/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/struct_fields_ordering/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/struct_fields_ordering/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/struct_inputs/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/struct_inputs/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/submodules/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/submodules/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/to_be_bytes/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/to_be_bytes/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/to_bytes_consistent/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/to_bytes_consistent/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/to_bytes_integration/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/to_bytes_integration/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/to_le_bytes/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/to_le_bytes/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/trait_as_return_type/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/trait_as_return_type/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/trait_impl_base_type/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/trait_impl_base_type/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/traits_in_crates_1/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/traits_in_crates_1/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/traits_in_crates_2/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/traits_in_crates_2/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/tuple_inputs/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/tuple_inputs/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/tuples/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/tuples/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/type_aliases/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/type_aliases/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/xor/target/acir.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/acir_artifacts/xor/target/witness.gz (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/assert_constant_fail/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/assert_constant_fail/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/assert_eq_struct/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/assert_eq_struct/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/brillig_assert_fail/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/brillig_assert_fail/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/brillig_assert_fail/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/constrain_typo/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/constrain_typo/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/custom_entry_not_found/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/custom_entry_not_found/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/custom_entry_not_found/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dep_impl_primitive/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dep_impl_primitive/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dep_impl_primitive/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/depend_on_bin/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/depend_on_bin/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/depend_on_bin/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/div_by_zero_constants/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/div_by_zero_constants/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/div_by_zero_constants/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/div_by_zero_modulo/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/div_by_zero_modulo/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/div_by_zero_modulo/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/div_by_zero_numerator_witness/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/div_by_zero_numerator_witness/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/div_by_zero_numerator_witness/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/div_by_zero_witness/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/div_by_zero_witness/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/div_by_zero_witness/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_implementation_4/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_implementation_4/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_implementation_4/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_implementation_4/src/module1.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_implementation_4/src/module2.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_implementation_4/src/module3.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_implementation_5/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_implementation_5/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_implementation_5/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_implementation_5/src/module1.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_implementation_5/src/module2.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_implementation_5/src/module3.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_implementation_5/src/module4.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_1/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_1/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_1/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_2/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_2/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_2/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_3/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_3/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_3/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_4/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_4/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_4/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_5/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_5/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_5/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_6/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_6/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dup_trait_items_6/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/duplicate_declaration/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/duplicate_declaration/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dyn_index_fail_nested_array/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dyn_index_fail_nested_array/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dyn_index_fail_nested_array/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dynamic_index_failure/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dynamic_index_failure/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/dynamic_index_failure/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/field_modulo/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/field_modulo/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/integer_literal_overflow/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/integer_literal_overflow/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/invalid_dependency_name/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/invalid_dependency_name/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/multiple_contracts/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/multiple_contracts/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/multiple_primary_attributes_fail/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/multiple_primary_attributes_fail/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/mutability_regression_2911/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/mutability_regression_2911/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/no_impl_from_function/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/no_impl_from_function/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/no_nested_impl/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/no_nested_impl/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/orphaned_trait_impl/Nargo.toml (100%) rename {compiler/integration-tests/circuits/main => test_programs/compile_failure/orphaned_trait_impl}/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/orphaned_trait_impl/crate1/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/orphaned_trait_impl/crate1/src/lib.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/orphaned_trait_impl/crate2/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/orphaned_trait_impl/crate2/src/lib.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/orphaned_trait_impl/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/overflowing_assignment/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/overflowing_assignment/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/overlapping_generic_impls/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/overlapping_generic_impls/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/package_name_empty/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/package_name_empty/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/package_name_hyphen/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/package_name_hyphen/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/primary_attribute_struct/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/primary_attribute_struct/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/radix_non_constant_length/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/radix_non_constant_length/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/radix_non_constant_length/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/slice_access_failure/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/slice_access_failure/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/slice_access_failure/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/slice_insert_failure/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/slice_insert_failure/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/slice_insert_failure/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/slice_remove_failure/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/slice_remove_failure/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/slice_remove_failure/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/trait_incorrect_generic_count/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/trait_incorrect_generic_count/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/workspace_fail/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/workspace_fail/crates/a/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/workspace_fail/crates/a/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/workspace_fail/crates/a/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/workspace_fail/crates/b/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/workspace_fail/crates/b/Prover.toml (100%) rename {compiler/integration-tests/circuits/main => test_programs/compile_failure/workspace_fail/crates/b}/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/workspace_missing_toml/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/workspace_missing_toml/crates/a/Prover.toml (100%) rename {tooling/nargo_cli/tests/execution_success/workspace => test_programs/compile_failure/workspace_missing_toml}/crates/a/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/workspace_missing_toml/crates/b/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_failure/workspace_missing_toml/crates/b/Prover.toml (100%) rename {tooling/nargo_cli/tests/compile_failure/workspace_fail => test_programs/compile_failure/workspace_missing_toml}/crates/b/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_contract/contract_with_impl/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_contract/contract_with_impl/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_contract/non_entry_point_method/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_contract/non_entry_point_method/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_contract/simple_contract/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_contract/simple_contract/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/attributes_multiple/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/attributes_multiple/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/attributes_struct/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/attributes_struct/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/auto_deref/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/auto_deref/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/brillig_cast/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/brillig_cast/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/brillig_field_binary_operations/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/brillig_field_binary_operations/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/brillig_field_binary_operations/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/brillig_integer_binary_operations/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/brillig_integer_binary_operations/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/brillig_integer_binary_operations/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/brillig_modulo/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/brillig_modulo/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/brillig_modulo/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/brillig_to_bits/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/brillig_to_bits/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/closure_explicit_types/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/closure_explicit_types/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/comptime_recursion_regression/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/comptime_recursion_regression/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/comptime_recursion_regression/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/comptime_sort/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/comptime_sort/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/conditional_regression_547/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/conditional_regression_547/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/conditional_regression_547/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/conditional_regression_579/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/conditional_regression_579/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/conditional_regression_579/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/conditional_regression_to_bits/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/conditional_regression_to_bits/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/conditional_regression_to_bits/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/ec_baby_jubjub/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/ec_baby_jubjub/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/generators/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/generators/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/higher_order_fn_selector/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/higher_order_fn_selector/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/impl_with_where_clause/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/impl_with_where_clause/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/inner_outer_cl/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/inner_outer_cl/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/instruction_deduplication/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/instruction_deduplication/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/instruction_deduplication/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/intrinsic_die/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/intrinsic_die/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/let_stmt/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/let_stmt/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/let_stmt/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/main_return/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/main_return/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/main_return/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/numeric_generics/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/numeric_generics/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/numeric_generics/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/option/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/option/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/references_aliasing/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/references_aliasing/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/references_aliasing/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/regression_2099/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/regression_2099/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/ret_fn_ret_cl/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/ret_fn_ret_cl/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/ret_fn_ret_cl/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/simple_array_param/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/simple_array_param/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/simple_array_param/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/simple_program_no_body/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/simple_program_no_body/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/simple_program_no_body/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/simple_range/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/simple_range/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/simple_range/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/specialization/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/specialization/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/str_as_bytes/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/str_as_bytes/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/to_bits/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/to_bits/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_allowed_item_name_matches/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_allowed_item_name_matches/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_allowed_item_name_matches/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_associated_member_names_clashes/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_associated_member_names_clashes/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_associated_member_names_clashes/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_default_implementation/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_default_implementation/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_default_implementation/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_function_calls/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_function_calls/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_function_calls/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_generics/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_generics/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_multi_module_test/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_multi_module_test/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_multi_module_test/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_multi_module_test/src/module1.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_multi_module_test/src/module2.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_multi_module_test/src/module3.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_multi_module_test/src/module4.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_multi_module_test/src/module5.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_multi_module_test/src/module6.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_override_implementation/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_override_implementation/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_override_implementation/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_static_methods/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_static_methods/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_where_clause/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_where_clause/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/trait_where_clause/src/the_trait.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/traits/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/traits/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/traits/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/unary_operators/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/unary_operators/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/unconstrained_empty/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/unconstrained_empty/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/unit/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/unit/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/unused_variables/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/unused_variables/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/vectors/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/vectors/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/vectors/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/workspace_reexport_bug/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/workspace_reexport_bug/binary/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/workspace_reexport_bug/binary/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/workspace_reexport_bug/library/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/workspace_reexport_bug/library/src/lib.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/workspace_reexport_bug/library2/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/compile_success_empty/workspace_reexport_bug/library2/src/lib.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/1327_concrete_in_generic/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/1327_concrete_in_generic/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/1327_concrete_in_generic/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/1_mul/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/1_mul/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/1_mul/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/2_div/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/2_div/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/2_div/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/3_add/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/3_add/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/3_add/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/4_sub/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/4_sub/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/4_sub/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/5_over/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/5_over/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/5_over/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/6/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/6/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/6/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/6_array/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/6_array/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/6_array/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/7/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/7/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/7/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/7_function/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/7_function/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/7_function/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/arithmetic_binary_operations/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/arithmetic_binary_operations/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/arithmetic_binary_operations/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/array_dynamic/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/array_dynamic/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/array_dynamic/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/array_eq/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/array_eq/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/array_eq/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/array_len/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/array_len/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/array_len/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/array_neq/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/array_neq/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/array_neq/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/array_sort/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/array_sort/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/array_sort/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/assert/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/assert/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/assert/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/assert_statement/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/assert_statement/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/assert_statement/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/assign_ex/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/assign_ex/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/assign_ex/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/bit_and/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/bit_and/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/bit_and/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/bit_shifts_comptime/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/bit_shifts_comptime/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/bit_shifts_comptime/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/bit_shifts_runtime/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/bit_shifts_runtime/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/bit_shifts_runtime/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/bool_not/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/bool_not/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/bool_not/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/bool_or/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/bool_or/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/bool_or/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_acir_as_brillig/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_acir_as_brillig/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_acir_as_brillig/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_arrays/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_arrays/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_arrays/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_assert/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_assert/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_assert/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_blake2s/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_blake2s/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_blake2s/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_calls/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_calls/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_calls/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_calls_array/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_calls_array/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_calls_array/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_calls_conditionals/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_calls_conditionals/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_calls_conditionals/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_conditional/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_conditional/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_conditional/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_ecdsa/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_ecdsa/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_ecdsa/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_fns_as_values/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_fns_as_values/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_fns_as_values/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_hash_to_field/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_hash_to_field/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_hash_to_field/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_identity_function/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_identity_function/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_identity_function/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_keccak/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_keccak/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_keccak/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_loop/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_loop/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_loop/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_nested_arrays/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_nested_arrays/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_nested_arrays/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_nested_slices/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_nested_slices/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_nested_slices/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_not/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_not/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_not/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_oracle/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_oracle/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_oracle/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_pedersen/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_pedersen/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_pedersen/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_recursion/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_recursion/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_recursion/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_references/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_references/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_references/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_scalar_mul/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_scalar_mul/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_scalar_mul/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_schnorr/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_schnorr/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_schnorr/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_sha256/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_sha256/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_sha256/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_slices/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_slices/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_slices/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_to_be_bytes/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_to_be_bytes/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_to_be_bytes/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_to_bytes_integration/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_to_bytes_integration/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_to_bytes_integration/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_to_le_bytes/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_to_le_bytes/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_to_le_bytes/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_top_level/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_top_level/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_top_level/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_unitialised_arrays/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_unitialised_arrays/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/brillig_unitialised_arrays/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/cast_bool/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/cast_bool/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/cast_bool/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/closures_mut_ref/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/closures_mut_ref/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/closures_mut_ref/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_1/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_1/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_1/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_2/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_2/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_2/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_regression_421/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_regression_421/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_regression_421/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_regression_661/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_regression_661/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_regression_661/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_regression_short_circuit/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_regression_short_circuit/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_regression_short_circuit/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_regression_underflow/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_regression_underflow/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/conditional_regression_underflow/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/custom_entry/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/custom_entry/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/custom_entry/src/foobarbaz.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/debug_logs/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/debug_logs/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/debug_logs/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/diamond_deps_0/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/diamond_deps_0/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/diamond_deps_0/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/distinct_keyword/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/distinct_keyword/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/distinct_keyword/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/double_verify_proof/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/double_verify_proof/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/double_verify_proof/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/ecdsa_secp256k1/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/ecdsa_secp256k1/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/ecdsa_secp256k1/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/ecdsa_secp256r1/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/ecdsa_secp256r1/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/ecdsa_secp256r1/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/eddsa/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/eddsa/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/eddsa/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/field_attribute/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/field_attribute/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/field_attribute/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/generics/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/generics/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/generics/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/global_consts/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/global_consts/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/global_consts/src/baz.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/global_consts/src/foo.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/global_consts/src/foo/bar.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/global_consts/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/hash_to_field/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/hash_to_field/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/hash_to_field/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/higher_order_functions/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/higher_order_functions/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/higher_order_functions/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/if_else_chain/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/if_else_chain/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/if_else_chain/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/import/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/import/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/import/src/import.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/import/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/integer_array_indexing/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/integer_array_indexing/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/integer_array_indexing/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/keccak256/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/keccak256/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/keccak256/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/main_bool_arg/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/main_bool_arg/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/main_bool_arg/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/merkle_insert/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/merkle_insert/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/merkle_insert/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/mock_oracle/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/mock_oracle/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/mock_oracle/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/modules/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/modules/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/modules/src/foo.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/modules/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/modules_more/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/modules_more/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/modules_more/src/foo.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/modules_more/src/foo/bar.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/modules_more/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/modulus/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/modulus/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/modulus/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/nested_array_dynamic/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/nested_array_dynamic/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/nested_array_dynamic/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/nested_arrays_from_brillig/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/nested_arrays_from_brillig/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/nested_arrays_from_brillig/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/nested_slice_dynamic/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/nested_slice_dynamic/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/nested_slice_dynamic/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/pedersen_check/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/pedersen_check/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/pedersen_check/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/poseidon_bn254_hash/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/poseidon_bn254_hash/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/poseidon_bn254_hash/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/poseidonsponge_x5_254/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/poseidonsponge_x5_254/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/poseidonsponge_x5_254/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/pred_eq/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/pred_eq/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/pred_eq/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/references/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/references/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/references/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/regression/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/regression/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/regression/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/regression_2854/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/regression_2854/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/regression_2854/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/regression_mem_op_predicate/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/regression_mem_op_predicate/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/regression_mem_op_predicate/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/regression_method_cannot_be_found/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/regression_method_cannot_be_found/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/regression_method_cannot_be_found/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/scalar_mul/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/scalar_mul/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/scalar_mul/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/schnorr/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/schnorr/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/schnorr/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/sha256/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/sha256/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/sha256/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/sha2_byte/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/sha2_byte/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/sha2_byte/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/signed_arithmetic/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/signed_arithmetic/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/signed_arithmetic/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/signed_division/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/signed_division/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/signed_division/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_2d_array/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_2d_array/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_2d_array/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_add_and_ret_arr/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_add_and_ret_arr/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_add_and_ret_arr/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_bitwise/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_bitwise/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_bitwise/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_comparison/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_comparison/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_comparison/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_mut/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_mut/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_mut/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_not/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_not/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_not/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_print/Nargo.toml (100%) rename {tooling/nargo_cli/tests/compile_failure/orphaned_trait_impl => test_programs/execution_success/simple_print}/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_print/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_program_addition/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_program_addition/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_program_addition/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_radix/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_radix/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_radix/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_shield/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_shield/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_shield/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_shift_left_right/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_shift_left_right/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/simple_shift_left_right/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/slice_dynamic_index/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/slice_dynamic_index/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/slice_dynamic_index/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/slice_struct_field/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/slice_struct_field/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/slice_struct_field/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/slices/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/slices/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/slices/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/strings/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/strings/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/strings/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/struct/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/struct/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/struct/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/struct_array_inputs/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/struct_array_inputs/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/struct_array_inputs/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/struct_fields_ordering/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/struct_fields_ordering/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/struct_fields_ordering/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/struct_inputs/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/struct_inputs/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/struct_inputs/src/foo.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/struct_inputs/src/foo/bar.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/struct_inputs/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/submodules/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/submodules/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/submodules/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/to_be_bytes/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/to_be_bytes/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/to_be_bytes/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/to_bytes_consistent/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/to_bytes_consistent/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/to_bytes_consistent/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/to_bytes_integration/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/to_bytes_integration/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/to_bytes_integration/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/to_le_bytes/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/to_le_bytes/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/to_le_bytes/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/trait_as_return_type/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/trait_as_return_type/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/trait_as_return_type/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/trait_impl_base_type/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/trait_impl_base_type/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/trait_impl_base_type/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/traits_in_crates_1/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/traits_in_crates_1/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/traits_in_crates_1/crate1/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/traits_in_crates_1/crate1/src/lib.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/traits_in_crates_1/crate2/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/traits_in_crates_1/crate2/src/lib.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/traits_in_crates_1/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/traits_in_crates_2/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/traits_in_crates_2/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/traits_in_crates_2/crate1/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/traits_in_crates_2/crate1/src/lib.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/traits_in_crates_2/crate2/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/traits_in_crates_2/crate2/src/lib.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/traits_in_crates_2/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/tuple_inputs/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/tuple_inputs/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/tuple_inputs/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/tuples/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/tuples/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/tuples/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/type_aliases/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/type_aliases/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/type_aliases/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/workspace/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/workspace/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/workspace/crates/a/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/workspace/crates/a/Prover.toml (100%) rename {tooling/nargo_cli/tests/execution_success/workspace_default_member => test_programs/execution_success/workspace/crates}/a/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/workspace/crates/b/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/workspace/crates/b/Prover.toml (100%) rename {tooling/nargo_cli/tests/compile_failure/workspace_missing_toml => test_programs/execution_success/workspace}/crates/b/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/workspace_default_member/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/workspace_default_member/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/workspace_default_member/a/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/workspace_default_member/a/Prover.toml (100%) rename {tooling/nargo_cli/tests/compile_failure/workspace_missing_toml/crates => test_programs/execution_success/workspace_default_member}/a/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/workspace_default_member/b/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/workspace_default_member/b/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/workspace_default_member/b/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/xor/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/xor/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/execution_success/xor/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/gates_report.sh (100%) rename {tooling/nargo_cli/tests => test_programs}/noir_test_failure/should_fail_mismatch/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/noir_test_failure/should_fail_mismatch/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/noir_test_failure/should_fail_mismatch/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/noir_test_success/should_fail_with_matches/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/noir_test_success/should_fail_with_matches/Prover.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/noir_test_success/should_fail_with_matches/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/rebuild.sh (100%) rename {tooling/nargo_cli/tests => test_programs}/test_libraries/bad_impl/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/test_libraries/bad_impl/src/lib.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/test_libraries/bad_name/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/test_libraries/bad_name/src/lib.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/test_libraries/bin_dep/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/test_libraries/bin_dep/src/main.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/test_libraries/diamond_deps_1/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/test_libraries/diamond_deps_1/src/lib.nr (100%) rename {tooling/nargo_cli/tests => test_programs}/test_libraries/diamond_deps_2/Nargo.toml (100%) rename {tooling/nargo_cli/tests => test_programs}/test_libraries/diamond_deps_2/src/lib.nr (100%) delete mode 100644 tooling/nargo_cli/tests/execution_success/simple_print/Prover.toml delete mode 100644 tooling/nargo_cli/tests/execution_success/workspace/crates/b/src/main.nr diff --git a/.github/workflows/auto-pr-rebuild-script.yml b/.github/workflows/auto-pr-rebuild-script.yml index 4937de98e04..336f2288878 100644 --- a/.github/workflows/auto-pr-rebuild-script.yml +++ b/.github/workflows/auto-pr-rebuild-script.yml @@ -99,7 +99,7 @@ jobs: git config --local user.email kevtheappdev@gmail.com - name: Run rebuild script - working-directory: tooling/nargo_cli/tests + working-directory: test_programs run: | chmod +x ./rebuild.sh ./rebuild.sh @@ -108,14 +108,14 @@ jobs: uses: actions/upload-artifact@v3 with: name: acir-artifacts - path: ./tooling/nargo_cli/tests/acir_artifacts + path: ./test_programs/acir_artifacts retention-days: 10 - name: Check for changes in acir_artifacts directory id: check_changes if: ${{ github.ref_name }} == "master" run: | - git diff --quiet tooling/nargo_cli/tests/acir_artifacts/ || echo "::set-output name=changes::true" + git diff --quiet test_programs/acir_artifacts/ || echo "::set-output name=changes::true" - name: Create or Update PR if: steps.check_changes.outputs.changes == 'true' @@ -125,6 +125,6 @@ jobs: commit-message: "chore: update acir artifacts" title: "chore: Update ACIR artifacts" body: "Automatic PR to update acir artifacts" - add-paths: tooling/nargo_cli/tests/acir_artifacts/*.gz + add-paths: test_programs/acir_artifacts/*.gz labels: "auto-pr" branch: "auto-pr-rebuild-script-branch" diff --git a/.github/workflows/gates_report.yml b/.github/workflows/gates_report.yml index 41a68c65852..8e3ef768828 100644 --- a/.github/workflows/gates_report.yml +++ b/.github/workflows/gates_report.yml @@ -50,9 +50,7 @@ jobs: pull-requests: write steps: - - uses: actions/checkout@v3 - with: - submodules: recursive + - uses: actions/checkout@v4 - name: Download nargo binary uses: actions/download-artifact@v3 @@ -69,10 +67,10 @@ jobs: nargo -V - name: Generate gates report - working-directory: ./tooling/nargo_cli/tests + working-directory: ./test_programs run: | ./gates_report.sh - mv gates_report.json ../../../gates_report.json + mv gates_report.json ../gates_report.json - name: Compare gates reports id: gates_diff diff --git a/.gitignore b/.gitignore index 2a8db5d2686..677f671ccef 100644 --- a/.gitignore +++ b/.gitignore @@ -36,9 +36,10 @@ result *.pk *.vk **/Verifier.toml +**/contract **/target -!tooling/nargo_cli/tests/acir_artifacts/*/target -!tooling/nargo_cli/tests/acir_artifacts/*/target/witness.gz +!test_programs/acir_artifacts/*/target +!test_programs/acir_artifacts/*/target/witness.gz !compiler/wasm/noir-script/target gates_report.json diff --git a/compiler/integration-tests/circuits/main/Nargo.toml b/compiler/integration-tests/circuits/main/Nargo.toml deleted file mode 100644 index cc5a0a357fa..00000000000 --- a/compiler/integration-tests/circuits/main/Nargo.toml +++ /dev/null @@ -1,5 +0,0 @@ -[package] -name = "main" -type = "bin" -authors = [""] -[dependencies] diff --git a/compiler/integration-tests/scripts/codegen-verifiers.sh b/compiler/integration-tests/scripts/codegen-verifiers.sh index d9d9d4f243f..13667038728 100644 --- a/compiler/integration-tests/scripts/codegen-verifiers.sh +++ b/compiler/integration-tests/scripts/codegen-verifiers.sh @@ -5,16 +5,16 @@ self_path=$(dirname "$(readlink -f "$0")") repo_root=$self_path/../../.. # Run codegen-verifier for 1_mul -mul_dir=$repo_root/tooling/nargo_cli/tests/execution_success/1_mul +mul_dir=$repo_root/test_programs/execution_success/1_mul nargo --program-dir $mul_dir codegen-verifier -# Run codegen-verifier for main -main_dir=$repo_root/compiler/integration-tests/circuits/main -nargo --program-dir $main_dir codegen-verifier +# Run codegen-verifier for assert_statement +assert_statement_dir=$repo_root/test_programs/execution_success/assert_statement +nargo --program-dir $assert_statement_dir codegen-verifier # Copy compiled contracts from the root of compiler/integration-tests contracts_dir=$self_path/../contracts mkdir $contracts_dir cp $mul_dir/contract/1_mul/plonk_vk.sol $contracts_dir/1_mul.sol -cp $main_dir/contract/main/plonk_vk.sol $contracts_dir/main.sol +cp $assert_statement_dir/contract/assert_statement/plonk_vk.sol $contracts_dir/assert_statement.sol diff --git a/compiler/integration-tests/test/browser/compile_prove_verify.test.ts b/compiler/integration-tests/test/browser/compile_prove_verify.test.ts index 95a1aa502ad..2aef56c23f9 100644 --- a/compiler/integration-tests/test/browser/compile_prove_verify.test.ts +++ b/compiler/integration-tests/test/browser/compile_prove_verify.test.ts @@ -19,11 +19,11 @@ compilerLogLevel('INFO'); const test_cases = [ { - case: 'tooling/nargo_cli/tests/execution_success/1_mul', + case: 'test_programs/execution_success/1_mul', numPublicInputs: 0, }, { - case: 'compiler/integration-tests/circuits/main', + case: 'test_programs/execution_success/assert_statement', numPublicInputs: 1, }, ]; diff --git a/compiler/integration-tests/test/browser/recursion.test.ts b/compiler/integration-tests/test/browser/recursion.test.ts index dbf74882654..308be81417f 100644 --- a/compiler/integration-tests/test/browser/recursion.test.ts +++ b/compiler/integration-tests/test/browser/recursion.test.ts @@ -23,7 +23,7 @@ await initACVM(); compilerLogLevel('INFO'); const base_relative_path = '../../../../..'; -const circuit_main = 'compiler/integration-tests/circuits/main'; +const circuit_main = 'test_programs/execution_success/assert_statement'; const circuit_recursion = 'compiler/integration-tests/circuits/recursion'; function getCircuit(noirSource: string): CompiledProgram { diff --git a/compiler/integration-tests/test/node/smart_contract_verifier.test.ts b/compiler/integration-tests/test/node/smart_contract_verifier.test.ts index a57f2dcbfb6..57199fc8667 100644 --- a/compiler/integration-tests/test/node/smart_contract_verifier.test.ts +++ b/compiler/integration-tests/test/node/smart_contract_verifier.test.ts @@ -13,13 +13,13 @@ compilerLogLevel('INFO'); const test_cases = [ { - case: 'tooling/nargo_cli/tests/execution_success/1_mul', + case: 'test_programs/execution_success/1_mul', compiled: 'contracts/1_mul.sol:UltraVerifier', numPublicInputs: 0, }, { - case: 'compiler/integration-tests/circuits/main', - compiled: 'contracts/main.sol:UltraVerifier', + case: 'test_programs/execution_success/assert_statement', + compiled: 'contracts/assert_statement.sol:UltraVerifier', numPublicInputs: 1, }, ]; diff --git a/release-tests/test/6_array.test.js b/release-tests/test/6_array.test.js index 530b7f85bf4..43d4a389264 100644 --- a/release-tests/test/6_array.test.js +++ b/release-tests/test/6_array.test.js @@ -19,27 +19,27 @@ test("promise resolved", async () => { promiseResolved = true; }); -test("nargo builds ../tooling/nargo_cli/tests/execution_success/6_array sucessfully", async () => { +test("nargo builds ../test_programs/execution_success/6_array sucessfully", async () => { await within(async () => { - cd("../tooling/nargo_cli/tests/execution_success/6_array"); + cd("../test_programs/execution_success/6_array"); const command = `${NARGO_BIN} check`; await $`${command}`.nothrow(); }); }); -test("nargo creates proof ../tooling/nargo_cli/tests/execution_success/6_array sucessfully", async () => { +test("nargo creates proof ../test_programs/execution_success/6_array sucessfully", async () => { await within(async () => { - cd("../tooling/nargo_cli/tests/execution_success/6_array"); + cd("../test_programs/execution_success/6_array"); const command = `${NARGO_BIN} prove 6_array`; await $`${command}`.nothrow(); }); }); -test("nargo verifies proof ../tooling/nargo_cli/tests/execution_success/6_array sucessfully", async () => { +test("nargo verifies proof ../test_programs/execution_success/6_array sucessfully", async () => { await within(async () => { - cd("../tooling/nargo_cli/tests/execution_success/6_array"); + cd("../test_programs/execution_success/6_array"); const command = `${NARGO_BIN} verify 6_array`; await $`${command}`.nothrow(); diff --git a/tooling/nargo_cli/tests/README.md b/test_programs/README.md similarity index 100% rename from tooling/nargo_cli/tests/README.md rename to test_programs/README.md diff --git a/tooling/nargo_cli/tests/acir_artifacts/1327_concrete_in_generic/target/acir.gz b/test_programs/acir_artifacts/1327_concrete_in_generic/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/1327_concrete_in_generic/target/acir.gz rename to test_programs/acir_artifacts/1327_concrete_in_generic/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/1327_concrete_in_generic/target/witness.gz b/test_programs/acir_artifacts/1327_concrete_in_generic/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/1327_concrete_in_generic/target/witness.gz rename to test_programs/acir_artifacts/1327_concrete_in_generic/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/1_mul/target/acir.gz b/test_programs/acir_artifacts/1_mul/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/1_mul/target/acir.gz rename to test_programs/acir_artifacts/1_mul/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/1_mul/target/witness.gz b/test_programs/acir_artifacts/1_mul/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/1_mul/target/witness.gz rename to test_programs/acir_artifacts/1_mul/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/2_div/target/acir.gz b/test_programs/acir_artifacts/2_div/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/2_div/target/acir.gz rename to test_programs/acir_artifacts/2_div/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/2_div/target/witness.gz b/test_programs/acir_artifacts/2_div/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/2_div/target/witness.gz rename to test_programs/acir_artifacts/2_div/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/3_add/target/acir.gz b/test_programs/acir_artifacts/3_add/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/3_add/target/acir.gz rename to test_programs/acir_artifacts/3_add/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/3_add/target/witness.gz b/test_programs/acir_artifacts/3_add/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/3_add/target/witness.gz rename to test_programs/acir_artifacts/3_add/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/4_sub/target/acir.gz b/test_programs/acir_artifacts/4_sub/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/4_sub/target/acir.gz rename to test_programs/acir_artifacts/4_sub/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/4_sub/target/witness.gz b/test_programs/acir_artifacts/4_sub/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/4_sub/target/witness.gz rename to test_programs/acir_artifacts/4_sub/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/5_over/target/acir.gz b/test_programs/acir_artifacts/5_over/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/5_over/target/acir.gz rename to test_programs/acir_artifacts/5_over/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/5_over/target/witness.gz b/test_programs/acir_artifacts/5_over/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/5_over/target/witness.gz rename to test_programs/acir_artifacts/5_over/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/6/target/acir.gz b/test_programs/acir_artifacts/6/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/6/target/acir.gz rename to test_programs/acir_artifacts/6/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/6/target/witness.gz b/test_programs/acir_artifacts/6/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/6/target/witness.gz rename to test_programs/acir_artifacts/6/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/6_array/target/acir.gz b/test_programs/acir_artifacts/6_array/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/6_array/target/acir.gz rename to test_programs/acir_artifacts/6_array/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/6_array/target/witness.gz b/test_programs/acir_artifacts/6_array/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/6_array/target/witness.gz rename to test_programs/acir_artifacts/6_array/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/7/target/acir.gz b/test_programs/acir_artifacts/7/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/7/target/acir.gz rename to test_programs/acir_artifacts/7/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/7/target/witness.gz b/test_programs/acir_artifacts/7/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/7/target/witness.gz rename to test_programs/acir_artifacts/7/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/7_function/target/acir.gz b/test_programs/acir_artifacts/7_function/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/7_function/target/acir.gz rename to test_programs/acir_artifacts/7_function/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/7_function/target/witness.gz b/test_programs/acir_artifacts/7_function/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/7_function/target/witness.gz rename to test_programs/acir_artifacts/7_function/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/arithmetic_binary_operations/target/acir.gz b/test_programs/acir_artifacts/arithmetic_binary_operations/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/arithmetic_binary_operations/target/acir.gz rename to test_programs/acir_artifacts/arithmetic_binary_operations/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/arithmetic_binary_operations/target/witness.gz b/test_programs/acir_artifacts/arithmetic_binary_operations/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/arithmetic_binary_operations/target/witness.gz rename to test_programs/acir_artifacts/arithmetic_binary_operations/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/array_dynamic/target/acir.gz b/test_programs/acir_artifacts/array_dynamic/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/array_dynamic/target/acir.gz rename to test_programs/acir_artifacts/array_dynamic/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/array_dynamic/target/witness.gz b/test_programs/acir_artifacts/array_dynamic/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/array_dynamic/target/witness.gz rename to test_programs/acir_artifacts/array_dynamic/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/array_eq/target/acir.gz b/test_programs/acir_artifacts/array_eq/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/array_eq/target/acir.gz rename to test_programs/acir_artifacts/array_eq/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/array_eq/target/witness.gz b/test_programs/acir_artifacts/array_eq/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/array_eq/target/witness.gz rename to test_programs/acir_artifacts/array_eq/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/array_len/target/acir.gz b/test_programs/acir_artifacts/array_len/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/array_len/target/acir.gz rename to test_programs/acir_artifacts/array_len/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/array_len/target/witness.gz b/test_programs/acir_artifacts/array_len/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/array_len/target/witness.gz rename to test_programs/acir_artifacts/array_len/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/array_neq/target/acir.gz b/test_programs/acir_artifacts/array_neq/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/array_neq/target/acir.gz rename to test_programs/acir_artifacts/array_neq/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/array_neq/target/witness.gz b/test_programs/acir_artifacts/array_neq/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/array_neq/target/witness.gz rename to test_programs/acir_artifacts/array_neq/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/array_sort/target/acir.gz b/test_programs/acir_artifacts/array_sort/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/array_sort/target/acir.gz rename to test_programs/acir_artifacts/array_sort/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/array_sort/target/witness.gz b/test_programs/acir_artifacts/array_sort/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/array_sort/target/witness.gz rename to test_programs/acir_artifacts/array_sort/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/assert/target/acir.gz b/test_programs/acir_artifacts/assert/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/assert/target/acir.gz rename to test_programs/acir_artifacts/assert/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/assert/target/witness.gz b/test_programs/acir_artifacts/assert/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/assert/target/witness.gz rename to test_programs/acir_artifacts/assert/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/assert_statement/target/acir.gz b/test_programs/acir_artifacts/assert_statement/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/assert_statement/target/acir.gz rename to test_programs/acir_artifacts/assert_statement/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/assert_statement/target/witness.gz b/test_programs/acir_artifacts/assert_statement/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/assert_statement/target/witness.gz rename to test_programs/acir_artifacts/assert_statement/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/assign_ex/target/acir.gz b/test_programs/acir_artifacts/assign_ex/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/assign_ex/target/acir.gz rename to test_programs/acir_artifacts/assign_ex/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/assign_ex/target/witness.gz b/test_programs/acir_artifacts/assign_ex/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/assign_ex/target/witness.gz rename to test_programs/acir_artifacts/assign_ex/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/bit_and/target/acir.gz b/test_programs/acir_artifacts/bit_and/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/bit_and/target/acir.gz rename to test_programs/acir_artifacts/bit_and/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/bit_and/target/witness.gz b/test_programs/acir_artifacts/bit_and/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/bit_and/target/witness.gz rename to test_programs/acir_artifacts/bit_and/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/bit_shifts_comptime/target/acir.gz b/test_programs/acir_artifacts/bit_shifts_comptime/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/bit_shifts_comptime/target/acir.gz rename to test_programs/acir_artifacts/bit_shifts_comptime/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/bit_shifts_comptime/target/witness.gz b/test_programs/acir_artifacts/bit_shifts_comptime/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/bit_shifts_comptime/target/witness.gz rename to test_programs/acir_artifacts/bit_shifts_comptime/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/bit_shifts_runtime/target/acir.gz b/test_programs/acir_artifacts/bit_shifts_runtime/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/bit_shifts_runtime/target/acir.gz rename to test_programs/acir_artifacts/bit_shifts_runtime/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/bit_shifts_runtime/target/witness.gz b/test_programs/acir_artifacts/bit_shifts_runtime/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/bit_shifts_runtime/target/witness.gz rename to test_programs/acir_artifacts/bit_shifts_runtime/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/bool_not/target/acir.gz b/test_programs/acir_artifacts/bool_not/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/bool_not/target/acir.gz rename to test_programs/acir_artifacts/bool_not/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/bool_not/target/witness.gz b/test_programs/acir_artifacts/bool_not/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/bool_not/target/witness.gz rename to test_programs/acir_artifacts/bool_not/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/bool_or/target/acir.gz b/test_programs/acir_artifacts/bool_or/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/bool_or/target/acir.gz rename to test_programs/acir_artifacts/bool_or/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/bool_or/target/witness.gz b/test_programs/acir_artifacts/bool_or/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/bool_or/target/witness.gz rename to test_programs/acir_artifacts/bool_or/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_acir_as_brillig/target/acir.gz b/test_programs/acir_artifacts/brillig_acir_as_brillig/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_acir_as_brillig/target/acir.gz rename to test_programs/acir_artifacts/brillig_acir_as_brillig/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_acir_as_brillig/target/witness.gz b/test_programs/acir_artifacts/brillig_acir_as_brillig/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_acir_as_brillig/target/witness.gz rename to test_programs/acir_artifacts/brillig_acir_as_brillig/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_arrays/target/acir.gz b/test_programs/acir_artifacts/brillig_arrays/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_arrays/target/acir.gz rename to test_programs/acir_artifacts/brillig_arrays/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_arrays/target/witness.gz b/test_programs/acir_artifacts/brillig_arrays/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_arrays/target/witness.gz rename to test_programs/acir_artifacts/brillig_arrays/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_assert/target/acir.gz b/test_programs/acir_artifacts/brillig_assert/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_assert/target/acir.gz rename to test_programs/acir_artifacts/brillig_assert/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_assert/target/witness.gz b/test_programs/acir_artifacts/brillig_assert/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_assert/target/witness.gz rename to test_programs/acir_artifacts/brillig_assert/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_blake2s/target/acir.gz b/test_programs/acir_artifacts/brillig_blake2s/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_blake2s/target/acir.gz rename to test_programs/acir_artifacts/brillig_blake2s/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_blake2s/target/witness.gz b/test_programs/acir_artifacts/brillig_blake2s/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_blake2s/target/witness.gz rename to test_programs/acir_artifacts/brillig_blake2s/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_calls/target/acir.gz b/test_programs/acir_artifacts/brillig_calls/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_calls/target/acir.gz rename to test_programs/acir_artifacts/brillig_calls/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_calls/target/witness.gz b/test_programs/acir_artifacts/brillig_calls/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_calls/target/witness.gz rename to test_programs/acir_artifacts/brillig_calls/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_calls_array/target/acir.gz b/test_programs/acir_artifacts/brillig_calls_array/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_calls_array/target/acir.gz rename to test_programs/acir_artifacts/brillig_calls_array/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_calls_array/target/witness.gz b/test_programs/acir_artifacts/brillig_calls_array/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_calls_array/target/witness.gz rename to test_programs/acir_artifacts/brillig_calls_array/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_calls_conditionals/target/acir.gz b/test_programs/acir_artifacts/brillig_calls_conditionals/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_calls_conditionals/target/acir.gz rename to test_programs/acir_artifacts/brillig_calls_conditionals/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_calls_conditionals/target/witness.gz b/test_programs/acir_artifacts/brillig_calls_conditionals/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_calls_conditionals/target/witness.gz rename to test_programs/acir_artifacts/brillig_calls_conditionals/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_conditional/target/acir.gz b/test_programs/acir_artifacts/brillig_conditional/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_conditional/target/acir.gz rename to test_programs/acir_artifacts/brillig_conditional/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_conditional/target/witness.gz b/test_programs/acir_artifacts/brillig_conditional/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_conditional/target/witness.gz rename to test_programs/acir_artifacts/brillig_conditional/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_ecdsa/target/acir.gz b/test_programs/acir_artifacts/brillig_ecdsa/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_ecdsa/target/acir.gz rename to test_programs/acir_artifacts/brillig_ecdsa/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_ecdsa/target/witness.gz b/test_programs/acir_artifacts/brillig_ecdsa/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_ecdsa/target/witness.gz rename to test_programs/acir_artifacts/brillig_ecdsa/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_fns_as_values/target/acir.gz b/test_programs/acir_artifacts/brillig_fns_as_values/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_fns_as_values/target/acir.gz rename to test_programs/acir_artifacts/brillig_fns_as_values/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_fns_as_values/target/witness.gz b/test_programs/acir_artifacts/brillig_fns_as_values/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_fns_as_values/target/witness.gz rename to test_programs/acir_artifacts/brillig_fns_as_values/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_hash_to_field/target/acir.gz b/test_programs/acir_artifacts/brillig_hash_to_field/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_hash_to_field/target/acir.gz rename to test_programs/acir_artifacts/brillig_hash_to_field/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_hash_to_field/target/witness.gz b/test_programs/acir_artifacts/brillig_hash_to_field/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_hash_to_field/target/witness.gz rename to test_programs/acir_artifacts/brillig_hash_to_field/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_identity_function/target/acir.gz b/test_programs/acir_artifacts/brillig_identity_function/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_identity_function/target/acir.gz rename to test_programs/acir_artifacts/brillig_identity_function/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_identity_function/target/witness.gz b/test_programs/acir_artifacts/brillig_identity_function/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_identity_function/target/witness.gz rename to test_programs/acir_artifacts/brillig_identity_function/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_keccak/target/acir.gz b/test_programs/acir_artifacts/brillig_keccak/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_keccak/target/acir.gz rename to test_programs/acir_artifacts/brillig_keccak/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_keccak/target/witness.gz b/test_programs/acir_artifacts/brillig_keccak/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_keccak/target/witness.gz rename to test_programs/acir_artifacts/brillig_keccak/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_loop/target/acir.gz b/test_programs/acir_artifacts/brillig_loop/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_loop/target/acir.gz rename to test_programs/acir_artifacts/brillig_loop/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_loop/target/witness.gz b/test_programs/acir_artifacts/brillig_loop/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_loop/target/witness.gz rename to test_programs/acir_artifacts/brillig_loop/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_nested_arrays/target/acir.gz b/test_programs/acir_artifacts/brillig_nested_arrays/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_nested_arrays/target/acir.gz rename to test_programs/acir_artifacts/brillig_nested_arrays/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_nested_arrays/target/witness.gz b/test_programs/acir_artifacts/brillig_nested_arrays/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_nested_arrays/target/witness.gz rename to test_programs/acir_artifacts/brillig_nested_arrays/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_nested_slices/target/acir.gz b/test_programs/acir_artifacts/brillig_nested_slices/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_nested_slices/target/acir.gz rename to test_programs/acir_artifacts/brillig_nested_slices/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_nested_slices/target/witness.gz b/test_programs/acir_artifacts/brillig_nested_slices/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_nested_slices/target/witness.gz rename to test_programs/acir_artifacts/brillig_nested_slices/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_not/target/acir.gz b/test_programs/acir_artifacts/brillig_not/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_not/target/acir.gz rename to test_programs/acir_artifacts/brillig_not/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_not/target/witness.gz b/test_programs/acir_artifacts/brillig_not/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_not/target/witness.gz rename to test_programs/acir_artifacts/brillig_not/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_oracle/target/acir.gz b/test_programs/acir_artifacts/brillig_oracle/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_oracle/target/acir.gz rename to test_programs/acir_artifacts/brillig_oracle/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_oracle/target/witness.gz b/test_programs/acir_artifacts/brillig_oracle/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_oracle/target/witness.gz rename to test_programs/acir_artifacts/brillig_oracle/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_pedersen/target/acir.gz b/test_programs/acir_artifacts/brillig_pedersen/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_pedersen/target/acir.gz rename to test_programs/acir_artifacts/brillig_pedersen/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_pedersen/target/witness.gz b/test_programs/acir_artifacts/brillig_pedersen/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_pedersen/target/witness.gz rename to test_programs/acir_artifacts/brillig_pedersen/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_recursion/target/acir.gz b/test_programs/acir_artifacts/brillig_recursion/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_recursion/target/acir.gz rename to test_programs/acir_artifacts/brillig_recursion/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_recursion/target/witness.gz b/test_programs/acir_artifacts/brillig_recursion/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_recursion/target/witness.gz rename to test_programs/acir_artifacts/brillig_recursion/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_references/target/acir.gz b/test_programs/acir_artifacts/brillig_references/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_references/target/acir.gz rename to test_programs/acir_artifacts/brillig_references/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_references/target/witness.gz b/test_programs/acir_artifacts/brillig_references/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_references/target/witness.gz rename to test_programs/acir_artifacts/brillig_references/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_scalar_mul/target/acir.gz b/test_programs/acir_artifacts/brillig_scalar_mul/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_scalar_mul/target/acir.gz rename to test_programs/acir_artifacts/brillig_scalar_mul/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_scalar_mul/target/witness.gz b/test_programs/acir_artifacts/brillig_scalar_mul/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_scalar_mul/target/witness.gz rename to test_programs/acir_artifacts/brillig_scalar_mul/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_schnorr/target/acir.gz b/test_programs/acir_artifacts/brillig_schnorr/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_schnorr/target/acir.gz rename to test_programs/acir_artifacts/brillig_schnorr/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_schnorr/target/witness.gz b/test_programs/acir_artifacts/brillig_schnorr/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_schnorr/target/witness.gz rename to test_programs/acir_artifacts/brillig_schnorr/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_sha256/target/acir.gz b/test_programs/acir_artifacts/brillig_sha256/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_sha256/target/acir.gz rename to test_programs/acir_artifacts/brillig_sha256/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_sha256/target/witness.gz b/test_programs/acir_artifacts/brillig_sha256/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_sha256/target/witness.gz rename to test_programs/acir_artifacts/brillig_sha256/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_slices/target/acir.gz b/test_programs/acir_artifacts/brillig_slices/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_slices/target/acir.gz rename to test_programs/acir_artifacts/brillig_slices/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_slices/target/witness.gz b/test_programs/acir_artifacts/brillig_slices/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_slices/target/witness.gz rename to test_programs/acir_artifacts/brillig_slices/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_to_be_bytes/target/acir.gz b/test_programs/acir_artifacts/brillig_to_be_bytes/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_to_be_bytes/target/acir.gz rename to test_programs/acir_artifacts/brillig_to_be_bytes/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_to_be_bytes/target/witness.gz b/test_programs/acir_artifacts/brillig_to_be_bytes/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_to_be_bytes/target/witness.gz rename to test_programs/acir_artifacts/brillig_to_be_bytes/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_to_bytes_integration/target/acir.gz b/test_programs/acir_artifacts/brillig_to_bytes_integration/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_to_bytes_integration/target/acir.gz rename to test_programs/acir_artifacts/brillig_to_bytes_integration/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_to_bytes_integration/target/witness.gz b/test_programs/acir_artifacts/brillig_to_bytes_integration/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_to_bytes_integration/target/witness.gz rename to test_programs/acir_artifacts/brillig_to_bytes_integration/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_to_le_bytes/target/acir.gz b/test_programs/acir_artifacts/brillig_to_le_bytes/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_to_le_bytes/target/acir.gz rename to test_programs/acir_artifacts/brillig_to_le_bytes/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_to_le_bytes/target/witness.gz b/test_programs/acir_artifacts/brillig_to_le_bytes/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_to_le_bytes/target/witness.gz rename to test_programs/acir_artifacts/brillig_to_le_bytes/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_top_level/target/acir.gz b/test_programs/acir_artifacts/brillig_top_level/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_top_level/target/acir.gz rename to test_programs/acir_artifacts/brillig_top_level/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_top_level/target/witness.gz b/test_programs/acir_artifacts/brillig_top_level/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_top_level/target/witness.gz rename to test_programs/acir_artifacts/brillig_top_level/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_unitialised_arrays/target/acir.gz b/test_programs/acir_artifacts/brillig_unitialised_arrays/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_unitialised_arrays/target/acir.gz rename to test_programs/acir_artifacts/brillig_unitialised_arrays/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/brillig_unitialised_arrays/target/witness.gz b/test_programs/acir_artifacts/brillig_unitialised_arrays/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/brillig_unitialised_arrays/target/witness.gz rename to test_programs/acir_artifacts/brillig_unitialised_arrays/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/cast_bool/target/acir.gz b/test_programs/acir_artifacts/cast_bool/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/cast_bool/target/acir.gz rename to test_programs/acir_artifacts/cast_bool/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/cast_bool/target/witness.gz b/test_programs/acir_artifacts/cast_bool/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/cast_bool/target/witness.gz rename to test_programs/acir_artifacts/cast_bool/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/closures_mut_ref/target/acir.gz b/test_programs/acir_artifacts/closures_mut_ref/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/closures_mut_ref/target/acir.gz rename to test_programs/acir_artifacts/closures_mut_ref/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/closures_mut_ref/target/witness.gz b/test_programs/acir_artifacts/closures_mut_ref/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/closures_mut_ref/target/witness.gz rename to test_programs/acir_artifacts/closures_mut_ref/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/conditional_1/target/acir.gz b/test_programs/acir_artifacts/conditional_1/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/conditional_1/target/acir.gz rename to test_programs/acir_artifacts/conditional_1/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/conditional_1/target/witness.gz b/test_programs/acir_artifacts/conditional_1/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/conditional_1/target/witness.gz rename to test_programs/acir_artifacts/conditional_1/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/conditional_2/target/acir.gz b/test_programs/acir_artifacts/conditional_2/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/conditional_2/target/acir.gz rename to test_programs/acir_artifacts/conditional_2/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/conditional_2/target/witness.gz b/test_programs/acir_artifacts/conditional_2/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/conditional_2/target/witness.gz rename to test_programs/acir_artifacts/conditional_2/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/conditional_regression_421/target/acir.gz b/test_programs/acir_artifacts/conditional_regression_421/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/conditional_regression_421/target/acir.gz rename to test_programs/acir_artifacts/conditional_regression_421/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/conditional_regression_421/target/witness.gz b/test_programs/acir_artifacts/conditional_regression_421/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/conditional_regression_421/target/witness.gz rename to test_programs/acir_artifacts/conditional_regression_421/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/conditional_regression_661/target/acir.gz b/test_programs/acir_artifacts/conditional_regression_661/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/conditional_regression_661/target/acir.gz rename to test_programs/acir_artifacts/conditional_regression_661/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/conditional_regression_661/target/witness.gz b/test_programs/acir_artifacts/conditional_regression_661/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/conditional_regression_661/target/witness.gz rename to test_programs/acir_artifacts/conditional_regression_661/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/conditional_regression_short_circuit/target/acir.gz b/test_programs/acir_artifacts/conditional_regression_short_circuit/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/conditional_regression_short_circuit/target/acir.gz rename to test_programs/acir_artifacts/conditional_regression_short_circuit/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/conditional_regression_short_circuit/target/witness.gz b/test_programs/acir_artifacts/conditional_regression_short_circuit/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/conditional_regression_short_circuit/target/witness.gz rename to test_programs/acir_artifacts/conditional_regression_short_circuit/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/conditional_regression_underflow/target/acir.gz b/test_programs/acir_artifacts/conditional_regression_underflow/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/conditional_regression_underflow/target/acir.gz rename to test_programs/acir_artifacts/conditional_regression_underflow/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/conditional_regression_underflow/target/witness.gz b/test_programs/acir_artifacts/conditional_regression_underflow/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/conditional_regression_underflow/target/witness.gz rename to test_programs/acir_artifacts/conditional_regression_underflow/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/custom_entry/target/acir.gz b/test_programs/acir_artifacts/custom_entry/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/custom_entry/target/acir.gz rename to test_programs/acir_artifacts/custom_entry/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/custom_entry/target/witness.gz b/test_programs/acir_artifacts/custom_entry/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/custom_entry/target/witness.gz rename to test_programs/acir_artifacts/custom_entry/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/debug_logs/target/acir.gz b/test_programs/acir_artifacts/debug_logs/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/debug_logs/target/acir.gz rename to test_programs/acir_artifacts/debug_logs/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/debug_logs/target/witness.gz b/test_programs/acir_artifacts/debug_logs/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/debug_logs/target/witness.gz rename to test_programs/acir_artifacts/debug_logs/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/diamond_deps_0/target/acir.gz b/test_programs/acir_artifacts/diamond_deps_0/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/diamond_deps_0/target/acir.gz rename to test_programs/acir_artifacts/diamond_deps_0/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/diamond_deps_0/target/witness.gz b/test_programs/acir_artifacts/diamond_deps_0/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/diamond_deps_0/target/witness.gz rename to test_programs/acir_artifacts/diamond_deps_0/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/distinct_keyword/target/acir.gz b/test_programs/acir_artifacts/distinct_keyword/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/distinct_keyword/target/acir.gz rename to test_programs/acir_artifacts/distinct_keyword/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/distinct_keyword/target/witness.gz b/test_programs/acir_artifacts/distinct_keyword/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/distinct_keyword/target/witness.gz rename to test_programs/acir_artifacts/distinct_keyword/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/double_verify_proof/target/acir.gz b/test_programs/acir_artifacts/double_verify_proof/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/double_verify_proof/target/acir.gz rename to test_programs/acir_artifacts/double_verify_proof/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/double_verify_proof/target/witness.gz b/test_programs/acir_artifacts/double_verify_proof/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/double_verify_proof/target/witness.gz rename to test_programs/acir_artifacts/double_verify_proof/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/ecdsa_secp256k1/target/acir.gz b/test_programs/acir_artifacts/ecdsa_secp256k1/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/ecdsa_secp256k1/target/acir.gz rename to test_programs/acir_artifacts/ecdsa_secp256k1/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/ecdsa_secp256k1/target/witness.gz b/test_programs/acir_artifacts/ecdsa_secp256k1/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/ecdsa_secp256k1/target/witness.gz rename to test_programs/acir_artifacts/ecdsa_secp256k1/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/ecdsa_secp256r1/target/acir.gz b/test_programs/acir_artifacts/ecdsa_secp256r1/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/ecdsa_secp256r1/target/acir.gz rename to test_programs/acir_artifacts/ecdsa_secp256r1/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/ecdsa_secp256r1/target/witness.gz b/test_programs/acir_artifacts/ecdsa_secp256r1/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/ecdsa_secp256r1/target/witness.gz rename to test_programs/acir_artifacts/ecdsa_secp256r1/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/eddsa/target/acir.gz b/test_programs/acir_artifacts/eddsa/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/eddsa/target/acir.gz rename to test_programs/acir_artifacts/eddsa/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/eddsa/target/witness.gz b/test_programs/acir_artifacts/eddsa/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/eddsa/target/witness.gz rename to test_programs/acir_artifacts/eddsa/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/field_attribute/target/acir.gz b/test_programs/acir_artifacts/field_attribute/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/field_attribute/target/acir.gz rename to test_programs/acir_artifacts/field_attribute/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/field_attribute/target/witness.gz b/test_programs/acir_artifacts/field_attribute/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/field_attribute/target/witness.gz rename to test_programs/acir_artifacts/field_attribute/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/generics/target/acir.gz b/test_programs/acir_artifacts/generics/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/generics/target/acir.gz rename to test_programs/acir_artifacts/generics/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/generics/target/witness.gz b/test_programs/acir_artifacts/generics/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/generics/target/witness.gz rename to test_programs/acir_artifacts/generics/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/global_consts/target/acir.gz b/test_programs/acir_artifacts/global_consts/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/global_consts/target/acir.gz rename to test_programs/acir_artifacts/global_consts/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/global_consts/target/witness.gz b/test_programs/acir_artifacts/global_consts/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/global_consts/target/witness.gz rename to test_programs/acir_artifacts/global_consts/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/hash_to_field/target/acir.gz b/test_programs/acir_artifacts/hash_to_field/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/hash_to_field/target/acir.gz rename to test_programs/acir_artifacts/hash_to_field/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/hash_to_field/target/witness.gz b/test_programs/acir_artifacts/hash_to_field/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/hash_to_field/target/witness.gz rename to test_programs/acir_artifacts/hash_to_field/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/higher_order_functions/target/acir.gz b/test_programs/acir_artifacts/higher_order_functions/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/higher_order_functions/target/acir.gz rename to test_programs/acir_artifacts/higher_order_functions/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/higher_order_functions/target/witness.gz b/test_programs/acir_artifacts/higher_order_functions/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/higher_order_functions/target/witness.gz rename to test_programs/acir_artifacts/higher_order_functions/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/if_else_chain/target/acir.gz b/test_programs/acir_artifacts/if_else_chain/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/if_else_chain/target/acir.gz rename to test_programs/acir_artifacts/if_else_chain/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/if_else_chain/target/witness.gz b/test_programs/acir_artifacts/if_else_chain/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/if_else_chain/target/witness.gz rename to test_programs/acir_artifacts/if_else_chain/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/import/target/acir.gz b/test_programs/acir_artifacts/import/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/import/target/acir.gz rename to test_programs/acir_artifacts/import/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/import/target/witness.gz b/test_programs/acir_artifacts/import/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/import/target/witness.gz rename to test_programs/acir_artifacts/import/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/integer_array_indexing/target/acir.gz b/test_programs/acir_artifacts/integer_array_indexing/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/integer_array_indexing/target/acir.gz rename to test_programs/acir_artifacts/integer_array_indexing/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/integer_array_indexing/target/witness.gz b/test_programs/acir_artifacts/integer_array_indexing/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/integer_array_indexing/target/witness.gz rename to test_programs/acir_artifacts/integer_array_indexing/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/keccak256/target/acir.gz b/test_programs/acir_artifacts/keccak256/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/keccak256/target/acir.gz rename to test_programs/acir_artifacts/keccak256/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/keccak256/target/witness.gz b/test_programs/acir_artifacts/keccak256/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/keccak256/target/witness.gz rename to test_programs/acir_artifacts/keccak256/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/main_bool_arg/target/acir.gz b/test_programs/acir_artifacts/main_bool_arg/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/main_bool_arg/target/acir.gz rename to test_programs/acir_artifacts/main_bool_arg/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/main_bool_arg/target/witness.gz b/test_programs/acir_artifacts/main_bool_arg/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/main_bool_arg/target/witness.gz rename to test_programs/acir_artifacts/main_bool_arg/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/merkle_insert/target/acir.gz b/test_programs/acir_artifacts/merkle_insert/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/merkle_insert/target/acir.gz rename to test_programs/acir_artifacts/merkle_insert/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/merkle_insert/target/witness.gz b/test_programs/acir_artifacts/merkle_insert/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/merkle_insert/target/witness.gz rename to test_programs/acir_artifacts/merkle_insert/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/mock_oracle/target/acir.gz b/test_programs/acir_artifacts/mock_oracle/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/mock_oracle/target/acir.gz rename to test_programs/acir_artifacts/mock_oracle/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/mock_oracle/target/witness.gz b/test_programs/acir_artifacts/mock_oracle/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/mock_oracle/target/witness.gz rename to test_programs/acir_artifacts/mock_oracle/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/modules/target/acir.gz b/test_programs/acir_artifacts/modules/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/modules/target/acir.gz rename to test_programs/acir_artifacts/modules/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/modules/target/witness.gz b/test_programs/acir_artifacts/modules/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/modules/target/witness.gz rename to test_programs/acir_artifacts/modules/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/modules_more/target/acir.gz b/test_programs/acir_artifacts/modules_more/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/modules_more/target/acir.gz rename to test_programs/acir_artifacts/modules_more/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/modules_more/target/witness.gz b/test_programs/acir_artifacts/modules_more/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/modules_more/target/witness.gz rename to test_programs/acir_artifacts/modules_more/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/modulus/target/acir.gz b/test_programs/acir_artifacts/modulus/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/modulus/target/acir.gz rename to test_programs/acir_artifacts/modulus/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/modulus/target/witness.gz b/test_programs/acir_artifacts/modulus/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/modulus/target/witness.gz rename to test_programs/acir_artifacts/modulus/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/nested_array_dynamic/target/acir.gz b/test_programs/acir_artifacts/nested_array_dynamic/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/nested_array_dynamic/target/acir.gz rename to test_programs/acir_artifacts/nested_array_dynamic/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/nested_array_dynamic/target/witness.gz b/test_programs/acir_artifacts/nested_array_dynamic/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/nested_array_dynamic/target/witness.gz rename to test_programs/acir_artifacts/nested_array_dynamic/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/nested_arrays_from_brillig/target/acir.gz b/test_programs/acir_artifacts/nested_arrays_from_brillig/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/nested_arrays_from_brillig/target/acir.gz rename to test_programs/acir_artifacts/nested_arrays_from_brillig/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/nested_arrays_from_brillig/target/witness.gz b/test_programs/acir_artifacts/nested_arrays_from_brillig/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/nested_arrays_from_brillig/target/witness.gz rename to test_programs/acir_artifacts/nested_arrays_from_brillig/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/nested_slice_dynamic/target/acir.gz b/test_programs/acir_artifacts/nested_slice_dynamic/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/nested_slice_dynamic/target/acir.gz rename to test_programs/acir_artifacts/nested_slice_dynamic/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/nested_slice_dynamic/target/witness.gz b/test_programs/acir_artifacts/nested_slice_dynamic/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/nested_slice_dynamic/target/witness.gz rename to test_programs/acir_artifacts/nested_slice_dynamic/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/pedersen_check/target/acir.gz b/test_programs/acir_artifacts/pedersen_check/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/pedersen_check/target/acir.gz rename to test_programs/acir_artifacts/pedersen_check/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/pedersen_check/target/witness.gz b/test_programs/acir_artifacts/pedersen_check/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/pedersen_check/target/witness.gz rename to test_programs/acir_artifacts/pedersen_check/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/poseidon_bn254_hash/target/acir.gz b/test_programs/acir_artifacts/poseidon_bn254_hash/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/poseidon_bn254_hash/target/acir.gz rename to test_programs/acir_artifacts/poseidon_bn254_hash/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/poseidon_bn254_hash/target/witness.gz b/test_programs/acir_artifacts/poseidon_bn254_hash/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/poseidon_bn254_hash/target/witness.gz rename to test_programs/acir_artifacts/poseidon_bn254_hash/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/poseidonsponge_x5_254/target/acir.gz b/test_programs/acir_artifacts/poseidonsponge_x5_254/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/poseidonsponge_x5_254/target/acir.gz rename to test_programs/acir_artifacts/poseidonsponge_x5_254/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/poseidonsponge_x5_254/target/witness.gz b/test_programs/acir_artifacts/poseidonsponge_x5_254/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/poseidonsponge_x5_254/target/witness.gz rename to test_programs/acir_artifacts/poseidonsponge_x5_254/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/pred_eq/target/acir.gz b/test_programs/acir_artifacts/pred_eq/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/pred_eq/target/acir.gz rename to test_programs/acir_artifacts/pred_eq/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/pred_eq/target/witness.gz b/test_programs/acir_artifacts/pred_eq/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/pred_eq/target/witness.gz rename to test_programs/acir_artifacts/pred_eq/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/references/target/acir.gz b/test_programs/acir_artifacts/references/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/references/target/acir.gz rename to test_programs/acir_artifacts/references/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/references/target/witness.gz b/test_programs/acir_artifacts/references/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/references/target/witness.gz rename to test_programs/acir_artifacts/references/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/regression/target/acir.gz b/test_programs/acir_artifacts/regression/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/regression/target/acir.gz rename to test_programs/acir_artifacts/regression/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/regression/target/witness.gz b/test_programs/acir_artifacts/regression/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/regression/target/witness.gz rename to test_programs/acir_artifacts/regression/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/regression_2854/target/acir.gz b/test_programs/acir_artifacts/regression_2854/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/regression_2854/target/acir.gz rename to test_programs/acir_artifacts/regression_2854/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/regression_2854/target/witness.gz b/test_programs/acir_artifacts/regression_2854/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/regression_2854/target/witness.gz rename to test_programs/acir_artifacts/regression_2854/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/regression_mem_op_predicate/target/acir.gz b/test_programs/acir_artifacts/regression_mem_op_predicate/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/regression_mem_op_predicate/target/acir.gz rename to test_programs/acir_artifacts/regression_mem_op_predicate/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/regression_mem_op_predicate/target/witness.gz b/test_programs/acir_artifacts/regression_mem_op_predicate/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/regression_mem_op_predicate/target/witness.gz rename to test_programs/acir_artifacts/regression_mem_op_predicate/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/regression_method_cannot_be_found/target/acir.gz b/test_programs/acir_artifacts/regression_method_cannot_be_found/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/regression_method_cannot_be_found/target/acir.gz rename to test_programs/acir_artifacts/regression_method_cannot_be_found/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/regression_method_cannot_be_found/target/witness.gz b/test_programs/acir_artifacts/regression_method_cannot_be_found/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/regression_method_cannot_be_found/target/witness.gz rename to test_programs/acir_artifacts/regression_method_cannot_be_found/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/scalar_mul/target/acir.gz b/test_programs/acir_artifacts/scalar_mul/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/scalar_mul/target/acir.gz rename to test_programs/acir_artifacts/scalar_mul/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/scalar_mul/target/witness.gz b/test_programs/acir_artifacts/scalar_mul/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/scalar_mul/target/witness.gz rename to test_programs/acir_artifacts/scalar_mul/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/schnorr/target/acir.gz b/test_programs/acir_artifacts/schnorr/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/schnorr/target/acir.gz rename to test_programs/acir_artifacts/schnorr/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/schnorr/target/witness.gz b/test_programs/acir_artifacts/schnorr/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/schnorr/target/witness.gz rename to test_programs/acir_artifacts/schnorr/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/sha256/target/acir.gz b/test_programs/acir_artifacts/sha256/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/sha256/target/acir.gz rename to test_programs/acir_artifacts/sha256/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/sha256/target/witness.gz b/test_programs/acir_artifacts/sha256/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/sha256/target/witness.gz rename to test_programs/acir_artifacts/sha256/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/sha2_byte/target/acir.gz b/test_programs/acir_artifacts/sha2_byte/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/sha2_byte/target/acir.gz rename to test_programs/acir_artifacts/sha2_byte/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/sha2_byte/target/witness.gz b/test_programs/acir_artifacts/sha2_byte/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/sha2_byte/target/witness.gz rename to test_programs/acir_artifacts/sha2_byte/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/signed_arithmetic/target/acir.gz b/test_programs/acir_artifacts/signed_arithmetic/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/signed_arithmetic/target/acir.gz rename to test_programs/acir_artifacts/signed_arithmetic/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/signed_arithmetic/target/witness.gz b/test_programs/acir_artifacts/signed_arithmetic/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/signed_arithmetic/target/witness.gz rename to test_programs/acir_artifacts/signed_arithmetic/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/signed_division/target/acir.gz b/test_programs/acir_artifacts/signed_division/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/signed_division/target/acir.gz rename to test_programs/acir_artifacts/signed_division/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/signed_division/target/witness.gz b/test_programs/acir_artifacts/signed_division/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/signed_division/target/witness.gz rename to test_programs/acir_artifacts/signed_division/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_2d_array/target/acir.gz b/test_programs/acir_artifacts/simple_2d_array/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_2d_array/target/acir.gz rename to test_programs/acir_artifacts/simple_2d_array/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_2d_array/target/witness.gz b/test_programs/acir_artifacts/simple_2d_array/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_2d_array/target/witness.gz rename to test_programs/acir_artifacts/simple_2d_array/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_add_and_ret_arr/target/acir.gz b/test_programs/acir_artifacts/simple_add_and_ret_arr/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_add_and_ret_arr/target/acir.gz rename to test_programs/acir_artifacts/simple_add_and_ret_arr/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_add_and_ret_arr/target/witness.gz b/test_programs/acir_artifacts/simple_add_and_ret_arr/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_add_and_ret_arr/target/witness.gz rename to test_programs/acir_artifacts/simple_add_and_ret_arr/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_bitwise/target/acir.gz b/test_programs/acir_artifacts/simple_bitwise/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_bitwise/target/acir.gz rename to test_programs/acir_artifacts/simple_bitwise/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_bitwise/target/witness.gz b/test_programs/acir_artifacts/simple_bitwise/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_bitwise/target/witness.gz rename to test_programs/acir_artifacts/simple_bitwise/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_comparison/target/acir.gz b/test_programs/acir_artifacts/simple_comparison/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_comparison/target/acir.gz rename to test_programs/acir_artifacts/simple_comparison/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_comparison/target/witness.gz b/test_programs/acir_artifacts/simple_comparison/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_comparison/target/witness.gz rename to test_programs/acir_artifacts/simple_comparison/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_mut/target/acir.gz b/test_programs/acir_artifacts/simple_mut/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_mut/target/acir.gz rename to test_programs/acir_artifacts/simple_mut/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_mut/target/witness.gz b/test_programs/acir_artifacts/simple_mut/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_mut/target/witness.gz rename to test_programs/acir_artifacts/simple_mut/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_not/target/acir.gz b/test_programs/acir_artifacts/simple_not/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_not/target/acir.gz rename to test_programs/acir_artifacts/simple_not/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_not/target/witness.gz b/test_programs/acir_artifacts/simple_not/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_not/target/witness.gz rename to test_programs/acir_artifacts/simple_not/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_print/target/acir.gz b/test_programs/acir_artifacts/simple_print/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_print/target/acir.gz rename to test_programs/acir_artifacts/simple_print/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_print/target/witness.gz b/test_programs/acir_artifacts/simple_print/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_print/target/witness.gz rename to test_programs/acir_artifacts/simple_print/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_program_addition/target/acir.gz b/test_programs/acir_artifacts/simple_program_addition/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_program_addition/target/acir.gz rename to test_programs/acir_artifacts/simple_program_addition/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_program_addition/target/witness.gz b/test_programs/acir_artifacts/simple_program_addition/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_program_addition/target/witness.gz rename to test_programs/acir_artifacts/simple_program_addition/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_radix/target/acir.gz b/test_programs/acir_artifacts/simple_radix/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_radix/target/acir.gz rename to test_programs/acir_artifacts/simple_radix/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_radix/target/witness.gz b/test_programs/acir_artifacts/simple_radix/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_radix/target/witness.gz rename to test_programs/acir_artifacts/simple_radix/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_shield/target/acir.gz b/test_programs/acir_artifacts/simple_shield/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_shield/target/acir.gz rename to test_programs/acir_artifacts/simple_shield/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_shield/target/witness.gz b/test_programs/acir_artifacts/simple_shield/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_shield/target/witness.gz rename to test_programs/acir_artifacts/simple_shield/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_shift_left_right/target/acir.gz b/test_programs/acir_artifacts/simple_shift_left_right/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_shift_left_right/target/acir.gz rename to test_programs/acir_artifacts/simple_shift_left_right/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/simple_shift_left_right/target/witness.gz b/test_programs/acir_artifacts/simple_shift_left_right/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/simple_shift_left_right/target/witness.gz rename to test_programs/acir_artifacts/simple_shift_left_right/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/slice_dynamic_index/target/acir.gz b/test_programs/acir_artifacts/slice_dynamic_index/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/slice_dynamic_index/target/acir.gz rename to test_programs/acir_artifacts/slice_dynamic_index/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/slice_dynamic_index/target/witness.gz b/test_programs/acir_artifacts/slice_dynamic_index/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/slice_dynamic_index/target/witness.gz rename to test_programs/acir_artifacts/slice_dynamic_index/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/slice_struct_field/target/acir.gz b/test_programs/acir_artifacts/slice_struct_field/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/slice_struct_field/target/acir.gz rename to test_programs/acir_artifacts/slice_struct_field/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/slice_struct_field/target/witness.gz b/test_programs/acir_artifacts/slice_struct_field/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/slice_struct_field/target/witness.gz rename to test_programs/acir_artifacts/slice_struct_field/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/slices/target/acir.gz b/test_programs/acir_artifacts/slices/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/slices/target/acir.gz rename to test_programs/acir_artifacts/slices/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/slices/target/witness.gz b/test_programs/acir_artifacts/slices/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/slices/target/witness.gz rename to test_programs/acir_artifacts/slices/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/strings/target/acir.gz b/test_programs/acir_artifacts/strings/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/strings/target/acir.gz rename to test_programs/acir_artifacts/strings/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/strings/target/witness.gz b/test_programs/acir_artifacts/strings/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/strings/target/witness.gz rename to test_programs/acir_artifacts/strings/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/struct/target/acir.gz b/test_programs/acir_artifacts/struct/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/struct/target/acir.gz rename to test_programs/acir_artifacts/struct/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/struct/target/witness.gz b/test_programs/acir_artifacts/struct/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/struct/target/witness.gz rename to test_programs/acir_artifacts/struct/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/struct_array_inputs/target/acir.gz b/test_programs/acir_artifacts/struct_array_inputs/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/struct_array_inputs/target/acir.gz rename to test_programs/acir_artifacts/struct_array_inputs/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/struct_array_inputs/target/witness.gz b/test_programs/acir_artifacts/struct_array_inputs/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/struct_array_inputs/target/witness.gz rename to test_programs/acir_artifacts/struct_array_inputs/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/struct_fields_ordering/target/acir.gz b/test_programs/acir_artifacts/struct_fields_ordering/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/struct_fields_ordering/target/acir.gz rename to test_programs/acir_artifacts/struct_fields_ordering/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/struct_fields_ordering/target/witness.gz b/test_programs/acir_artifacts/struct_fields_ordering/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/struct_fields_ordering/target/witness.gz rename to test_programs/acir_artifacts/struct_fields_ordering/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/struct_inputs/target/acir.gz b/test_programs/acir_artifacts/struct_inputs/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/struct_inputs/target/acir.gz rename to test_programs/acir_artifacts/struct_inputs/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/struct_inputs/target/witness.gz b/test_programs/acir_artifacts/struct_inputs/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/struct_inputs/target/witness.gz rename to test_programs/acir_artifacts/struct_inputs/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/submodules/target/acir.gz b/test_programs/acir_artifacts/submodules/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/submodules/target/acir.gz rename to test_programs/acir_artifacts/submodules/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/submodules/target/witness.gz b/test_programs/acir_artifacts/submodules/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/submodules/target/witness.gz rename to test_programs/acir_artifacts/submodules/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/to_be_bytes/target/acir.gz b/test_programs/acir_artifacts/to_be_bytes/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/to_be_bytes/target/acir.gz rename to test_programs/acir_artifacts/to_be_bytes/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/to_be_bytes/target/witness.gz b/test_programs/acir_artifacts/to_be_bytes/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/to_be_bytes/target/witness.gz rename to test_programs/acir_artifacts/to_be_bytes/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/to_bytes_consistent/target/acir.gz b/test_programs/acir_artifacts/to_bytes_consistent/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/to_bytes_consistent/target/acir.gz rename to test_programs/acir_artifacts/to_bytes_consistent/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/to_bytes_consistent/target/witness.gz b/test_programs/acir_artifacts/to_bytes_consistent/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/to_bytes_consistent/target/witness.gz rename to test_programs/acir_artifacts/to_bytes_consistent/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/to_bytes_integration/target/acir.gz b/test_programs/acir_artifacts/to_bytes_integration/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/to_bytes_integration/target/acir.gz rename to test_programs/acir_artifacts/to_bytes_integration/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/to_bytes_integration/target/witness.gz b/test_programs/acir_artifacts/to_bytes_integration/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/to_bytes_integration/target/witness.gz rename to test_programs/acir_artifacts/to_bytes_integration/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/to_le_bytes/target/acir.gz b/test_programs/acir_artifacts/to_le_bytes/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/to_le_bytes/target/acir.gz rename to test_programs/acir_artifacts/to_le_bytes/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/to_le_bytes/target/witness.gz b/test_programs/acir_artifacts/to_le_bytes/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/to_le_bytes/target/witness.gz rename to test_programs/acir_artifacts/to_le_bytes/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/trait_as_return_type/target/acir.gz b/test_programs/acir_artifacts/trait_as_return_type/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/trait_as_return_type/target/acir.gz rename to test_programs/acir_artifacts/trait_as_return_type/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/trait_as_return_type/target/witness.gz b/test_programs/acir_artifacts/trait_as_return_type/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/trait_as_return_type/target/witness.gz rename to test_programs/acir_artifacts/trait_as_return_type/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/trait_impl_base_type/target/acir.gz b/test_programs/acir_artifacts/trait_impl_base_type/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/trait_impl_base_type/target/acir.gz rename to test_programs/acir_artifacts/trait_impl_base_type/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/trait_impl_base_type/target/witness.gz b/test_programs/acir_artifacts/trait_impl_base_type/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/trait_impl_base_type/target/witness.gz rename to test_programs/acir_artifacts/trait_impl_base_type/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/traits_in_crates_1/target/acir.gz b/test_programs/acir_artifacts/traits_in_crates_1/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/traits_in_crates_1/target/acir.gz rename to test_programs/acir_artifacts/traits_in_crates_1/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/traits_in_crates_1/target/witness.gz b/test_programs/acir_artifacts/traits_in_crates_1/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/traits_in_crates_1/target/witness.gz rename to test_programs/acir_artifacts/traits_in_crates_1/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/traits_in_crates_2/target/acir.gz b/test_programs/acir_artifacts/traits_in_crates_2/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/traits_in_crates_2/target/acir.gz rename to test_programs/acir_artifacts/traits_in_crates_2/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/traits_in_crates_2/target/witness.gz b/test_programs/acir_artifacts/traits_in_crates_2/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/traits_in_crates_2/target/witness.gz rename to test_programs/acir_artifacts/traits_in_crates_2/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/tuple_inputs/target/acir.gz b/test_programs/acir_artifacts/tuple_inputs/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/tuple_inputs/target/acir.gz rename to test_programs/acir_artifacts/tuple_inputs/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/tuple_inputs/target/witness.gz b/test_programs/acir_artifacts/tuple_inputs/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/tuple_inputs/target/witness.gz rename to test_programs/acir_artifacts/tuple_inputs/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/tuples/target/acir.gz b/test_programs/acir_artifacts/tuples/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/tuples/target/acir.gz rename to test_programs/acir_artifacts/tuples/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/tuples/target/witness.gz b/test_programs/acir_artifacts/tuples/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/tuples/target/witness.gz rename to test_programs/acir_artifacts/tuples/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/type_aliases/target/acir.gz b/test_programs/acir_artifacts/type_aliases/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/type_aliases/target/acir.gz rename to test_programs/acir_artifacts/type_aliases/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/type_aliases/target/witness.gz b/test_programs/acir_artifacts/type_aliases/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/type_aliases/target/witness.gz rename to test_programs/acir_artifacts/type_aliases/target/witness.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/xor/target/acir.gz b/test_programs/acir_artifacts/xor/target/acir.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/xor/target/acir.gz rename to test_programs/acir_artifacts/xor/target/acir.gz diff --git a/tooling/nargo_cli/tests/acir_artifacts/xor/target/witness.gz b/test_programs/acir_artifacts/xor/target/witness.gz similarity index 100% rename from tooling/nargo_cli/tests/acir_artifacts/xor/target/witness.gz rename to test_programs/acir_artifacts/xor/target/witness.gz diff --git a/tooling/nargo_cli/tests/compile_failure/assert_constant_fail/Nargo.toml b/test_programs/compile_failure/assert_constant_fail/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/assert_constant_fail/Nargo.toml rename to test_programs/compile_failure/assert_constant_fail/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/assert_constant_fail/src/main.nr b/test_programs/compile_failure/assert_constant_fail/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/assert_constant_fail/src/main.nr rename to test_programs/compile_failure/assert_constant_fail/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/assert_eq_struct/Nargo.toml b/test_programs/compile_failure/assert_eq_struct/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/assert_eq_struct/Nargo.toml rename to test_programs/compile_failure/assert_eq_struct/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/assert_eq_struct/src/main.nr b/test_programs/compile_failure/assert_eq_struct/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/assert_eq_struct/src/main.nr rename to test_programs/compile_failure/assert_eq_struct/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/brillig_assert_fail/Nargo.toml b/test_programs/compile_failure/brillig_assert_fail/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/brillig_assert_fail/Nargo.toml rename to test_programs/compile_failure/brillig_assert_fail/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/brillig_assert_fail/Prover.toml b/test_programs/compile_failure/brillig_assert_fail/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/brillig_assert_fail/Prover.toml rename to test_programs/compile_failure/brillig_assert_fail/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/brillig_assert_fail/src/main.nr b/test_programs/compile_failure/brillig_assert_fail/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/brillig_assert_fail/src/main.nr rename to test_programs/compile_failure/brillig_assert_fail/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/constrain_typo/Nargo.toml b/test_programs/compile_failure/constrain_typo/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/constrain_typo/Nargo.toml rename to test_programs/compile_failure/constrain_typo/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/constrain_typo/src/main.nr b/test_programs/compile_failure/constrain_typo/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/constrain_typo/src/main.nr rename to test_programs/compile_failure/constrain_typo/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/custom_entry_not_found/Nargo.toml b/test_programs/compile_failure/custom_entry_not_found/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/custom_entry_not_found/Nargo.toml rename to test_programs/compile_failure/custom_entry_not_found/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/custom_entry_not_found/Prover.toml b/test_programs/compile_failure/custom_entry_not_found/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/custom_entry_not_found/Prover.toml rename to test_programs/compile_failure/custom_entry_not_found/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/custom_entry_not_found/src/main.nr b/test_programs/compile_failure/custom_entry_not_found/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/custom_entry_not_found/src/main.nr rename to test_programs/compile_failure/custom_entry_not_found/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dep_impl_primitive/Nargo.toml b/test_programs/compile_failure/dep_impl_primitive/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dep_impl_primitive/Nargo.toml rename to test_programs/compile_failure/dep_impl_primitive/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dep_impl_primitive/Prover.toml b/test_programs/compile_failure/dep_impl_primitive/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dep_impl_primitive/Prover.toml rename to test_programs/compile_failure/dep_impl_primitive/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dep_impl_primitive/src/main.nr b/test_programs/compile_failure/dep_impl_primitive/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dep_impl_primitive/src/main.nr rename to test_programs/compile_failure/dep_impl_primitive/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/depend_on_bin/Nargo.toml b/test_programs/compile_failure/depend_on_bin/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/depend_on_bin/Nargo.toml rename to test_programs/compile_failure/depend_on_bin/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/depend_on_bin/Prover.toml b/test_programs/compile_failure/depend_on_bin/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/depend_on_bin/Prover.toml rename to test_programs/compile_failure/depend_on_bin/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/depend_on_bin/src/main.nr b/test_programs/compile_failure/depend_on_bin/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/depend_on_bin/src/main.nr rename to test_programs/compile_failure/depend_on_bin/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/div_by_zero_constants/Nargo.toml b/test_programs/compile_failure/div_by_zero_constants/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/div_by_zero_constants/Nargo.toml rename to test_programs/compile_failure/div_by_zero_constants/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/div_by_zero_constants/Prover.toml b/test_programs/compile_failure/div_by_zero_constants/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/div_by_zero_constants/Prover.toml rename to test_programs/compile_failure/div_by_zero_constants/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/div_by_zero_constants/src/main.nr b/test_programs/compile_failure/div_by_zero_constants/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/div_by_zero_constants/src/main.nr rename to test_programs/compile_failure/div_by_zero_constants/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/div_by_zero_modulo/Nargo.toml b/test_programs/compile_failure/div_by_zero_modulo/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/div_by_zero_modulo/Nargo.toml rename to test_programs/compile_failure/div_by_zero_modulo/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/div_by_zero_modulo/Prover.toml b/test_programs/compile_failure/div_by_zero_modulo/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/div_by_zero_modulo/Prover.toml rename to test_programs/compile_failure/div_by_zero_modulo/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/div_by_zero_modulo/src/main.nr b/test_programs/compile_failure/div_by_zero_modulo/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/div_by_zero_modulo/src/main.nr rename to test_programs/compile_failure/div_by_zero_modulo/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/div_by_zero_numerator_witness/Nargo.toml b/test_programs/compile_failure/div_by_zero_numerator_witness/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/div_by_zero_numerator_witness/Nargo.toml rename to test_programs/compile_failure/div_by_zero_numerator_witness/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/div_by_zero_numerator_witness/Prover.toml b/test_programs/compile_failure/div_by_zero_numerator_witness/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/div_by_zero_numerator_witness/Prover.toml rename to test_programs/compile_failure/div_by_zero_numerator_witness/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/div_by_zero_numerator_witness/src/main.nr b/test_programs/compile_failure/div_by_zero_numerator_witness/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/div_by_zero_numerator_witness/src/main.nr rename to test_programs/compile_failure/div_by_zero_numerator_witness/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/div_by_zero_witness/Nargo.toml b/test_programs/compile_failure/div_by_zero_witness/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/div_by_zero_witness/Nargo.toml rename to test_programs/compile_failure/div_by_zero_witness/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/div_by_zero_witness/Prover.toml b/test_programs/compile_failure/div_by_zero_witness/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/div_by_zero_witness/Prover.toml rename to test_programs/compile_failure/div_by_zero_witness/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/div_by_zero_witness/src/main.nr b/test_programs/compile_failure/div_by_zero_witness/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/div_by_zero_witness/src/main.nr rename to test_programs/compile_failure/div_by_zero_witness/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_4/Nargo.toml b/test_programs/compile_failure/dup_trait_implementation_4/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_4/Nargo.toml rename to test_programs/compile_failure/dup_trait_implementation_4/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_4/Prover.toml b/test_programs/compile_failure/dup_trait_implementation_4/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_4/Prover.toml rename to test_programs/compile_failure/dup_trait_implementation_4/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_4/src/main.nr b/test_programs/compile_failure/dup_trait_implementation_4/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_4/src/main.nr rename to test_programs/compile_failure/dup_trait_implementation_4/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_4/src/module1.nr b/test_programs/compile_failure/dup_trait_implementation_4/src/module1.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_4/src/module1.nr rename to test_programs/compile_failure/dup_trait_implementation_4/src/module1.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_4/src/module2.nr b/test_programs/compile_failure/dup_trait_implementation_4/src/module2.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_4/src/module2.nr rename to test_programs/compile_failure/dup_trait_implementation_4/src/module2.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_4/src/module3.nr b/test_programs/compile_failure/dup_trait_implementation_4/src/module3.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_4/src/module3.nr rename to test_programs/compile_failure/dup_trait_implementation_4/src/module3.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_5/Nargo.toml b/test_programs/compile_failure/dup_trait_implementation_5/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_5/Nargo.toml rename to test_programs/compile_failure/dup_trait_implementation_5/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_5/Prover.toml b/test_programs/compile_failure/dup_trait_implementation_5/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_5/Prover.toml rename to test_programs/compile_failure/dup_trait_implementation_5/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_5/src/main.nr b/test_programs/compile_failure/dup_trait_implementation_5/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_5/src/main.nr rename to test_programs/compile_failure/dup_trait_implementation_5/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_5/src/module1.nr b/test_programs/compile_failure/dup_trait_implementation_5/src/module1.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_5/src/module1.nr rename to test_programs/compile_failure/dup_trait_implementation_5/src/module1.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_5/src/module2.nr b/test_programs/compile_failure/dup_trait_implementation_5/src/module2.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_5/src/module2.nr rename to test_programs/compile_failure/dup_trait_implementation_5/src/module2.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_5/src/module3.nr b/test_programs/compile_failure/dup_trait_implementation_5/src/module3.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_5/src/module3.nr rename to test_programs/compile_failure/dup_trait_implementation_5/src/module3.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_5/src/module4.nr b/test_programs/compile_failure/dup_trait_implementation_5/src/module4.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_implementation_5/src/module4.nr rename to test_programs/compile_failure/dup_trait_implementation_5/src/module4.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_1/Nargo.toml b/test_programs/compile_failure/dup_trait_items_1/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_1/Nargo.toml rename to test_programs/compile_failure/dup_trait_items_1/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_1/Prover.toml b/test_programs/compile_failure/dup_trait_items_1/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_1/Prover.toml rename to test_programs/compile_failure/dup_trait_items_1/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_1/src/main.nr b/test_programs/compile_failure/dup_trait_items_1/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_1/src/main.nr rename to test_programs/compile_failure/dup_trait_items_1/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_2/Nargo.toml b/test_programs/compile_failure/dup_trait_items_2/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_2/Nargo.toml rename to test_programs/compile_failure/dup_trait_items_2/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_2/Prover.toml b/test_programs/compile_failure/dup_trait_items_2/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_2/Prover.toml rename to test_programs/compile_failure/dup_trait_items_2/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_2/src/main.nr b/test_programs/compile_failure/dup_trait_items_2/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_2/src/main.nr rename to test_programs/compile_failure/dup_trait_items_2/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_3/Nargo.toml b/test_programs/compile_failure/dup_trait_items_3/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_3/Nargo.toml rename to test_programs/compile_failure/dup_trait_items_3/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_3/Prover.toml b/test_programs/compile_failure/dup_trait_items_3/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_3/Prover.toml rename to test_programs/compile_failure/dup_trait_items_3/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_3/src/main.nr b/test_programs/compile_failure/dup_trait_items_3/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_3/src/main.nr rename to test_programs/compile_failure/dup_trait_items_3/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_4/Nargo.toml b/test_programs/compile_failure/dup_trait_items_4/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_4/Nargo.toml rename to test_programs/compile_failure/dup_trait_items_4/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_4/Prover.toml b/test_programs/compile_failure/dup_trait_items_4/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_4/Prover.toml rename to test_programs/compile_failure/dup_trait_items_4/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_4/src/main.nr b/test_programs/compile_failure/dup_trait_items_4/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_4/src/main.nr rename to test_programs/compile_failure/dup_trait_items_4/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_5/Nargo.toml b/test_programs/compile_failure/dup_trait_items_5/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_5/Nargo.toml rename to test_programs/compile_failure/dup_trait_items_5/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_5/Prover.toml b/test_programs/compile_failure/dup_trait_items_5/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_5/Prover.toml rename to test_programs/compile_failure/dup_trait_items_5/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_5/src/main.nr b/test_programs/compile_failure/dup_trait_items_5/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_5/src/main.nr rename to test_programs/compile_failure/dup_trait_items_5/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_6/Nargo.toml b/test_programs/compile_failure/dup_trait_items_6/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_6/Nargo.toml rename to test_programs/compile_failure/dup_trait_items_6/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_6/Prover.toml b/test_programs/compile_failure/dup_trait_items_6/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_6/Prover.toml rename to test_programs/compile_failure/dup_trait_items_6/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dup_trait_items_6/src/main.nr b/test_programs/compile_failure/dup_trait_items_6/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dup_trait_items_6/src/main.nr rename to test_programs/compile_failure/dup_trait_items_6/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/duplicate_declaration/Nargo.toml b/test_programs/compile_failure/duplicate_declaration/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/duplicate_declaration/Nargo.toml rename to test_programs/compile_failure/duplicate_declaration/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/duplicate_declaration/src/main.nr b/test_programs/compile_failure/duplicate_declaration/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/duplicate_declaration/src/main.nr rename to test_programs/compile_failure/duplicate_declaration/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dyn_index_fail_nested_array/Nargo.toml b/test_programs/compile_failure/dyn_index_fail_nested_array/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dyn_index_fail_nested_array/Nargo.toml rename to test_programs/compile_failure/dyn_index_fail_nested_array/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dyn_index_fail_nested_array/Prover.toml b/test_programs/compile_failure/dyn_index_fail_nested_array/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dyn_index_fail_nested_array/Prover.toml rename to test_programs/compile_failure/dyn_index_fail_nested_array/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dyn_index_fail_nested_array/src/main.nr b/test_programs/compile_failure/dyn_index_fail_nested_array/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dyn_index_fail_nested_array/src/main.nr rename to test_programs/compile_failure/dyn_index_fail_nested_array/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/dynamic_index_failure/Nargo.toml b/test_programs/compile_failure/dynamic_index_failure/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dynamic_index_failure/Nargo.toml rename to test_programs/compile_failure/dynamic_index_failure/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dynamic_index_failure/Prover.toml b/test_programs/compile_failure/dynamic_index_failure/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dynamic_index_failure/Prover.toml rename to test_programs/compile_failure/dynamic_index_failure/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/dynamic_index_failure/src/main.nr b/test_programs/compile_failure/dynamic_index_failure/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/dynamic_index_failure/src/main.nr rename to test_programs/compile_failure/dynamic_index_failure/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/field_modulo/Nargo.toml b/test_programs/compile_failure/field_modulo/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/field_modulo/Nargo.toml rename to test_programs/compile_failure/field_modulo/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/field_modulo/src/main.nr b/test_programs/compile_failure/field_modulo/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/field_modulo/src/main.nr rename to test_programs/compile_failure/field_modulo/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/integer_literal_overflow/Nargo.toml b/test_programs/compile_failure/integer_literal_overflow/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/integer_literal_overflow/Nargo.toml rename to test_programs/compile_failure/integer_literal_overflow/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/integer_literal_overflow/src/main.nr b/test_programs/compile_failure/integer_literal_overflow/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/integer_literal_overflow/src/main.nr rename to test_programs/compile_failure/integer_literal_overflow/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/invalid_dependency_name/Nargo.toml b/test_programs/compile_failure/invalid_dependency_name/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/invalid_dependency_name/Nargo.toml rename to test_programs/compile_failure/invalid_dependency_name/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/invalid_dependency_name/src/main.nr b/test_programs/compile_failure/invalid_dependency_name/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/invalid_dependency_name/src/main.nr rename to test_programs/compile_failure/invalid_dependency_name/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/multiple_contracts/Nargo.toml b/test_programs/compile_failure/multiple_contracts/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/multiple_contracts/Nargo.toml rename to test_programs/compile_failure/multiple_contracts/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/multiple_contracts/src/main.nr b/test_programs/compile_failure/multiple_contracts/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/multiple_contracts/src/main.nr rename to test_programs/compile_failure/multiple_contracts/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/multiple_primary_attributes_fail/Nargo.toml b/test_programs/compile_failure/multiple_primary_attributes_fail/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/multiple_primary_attributes_fail/Nargo.toml rename to test_programs/compile_failure/multiple_primary_attributes_fail/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/multiple_primary_attributes_fail/src/main.nr b/test_programs/compile_failure/multiple_primary_attributes_fail/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/multiple_primary_attributes_fail/src/main.nr rename to test_programs/compile_failure/multiple_primary_attributes_fail/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/mutability_regression_2911/Nargo.toml b/test_programs/compile_failure/mutability_regression_2911/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/mutability_regression_2911/Nargo.toml rename to test_programs/compile_failure/mutability_regression_2911/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/mutability_regression_2911/src/main.nr b/test_programs/compile_failure/mutability_regression_2911/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/mutability_regression_2911/src/main.nr rename to test_programs/compile_failure/mutability_regression_2911/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/no_impl_from_function/Nargo.toml b/test_programs/compile_failure/no_impl_from_function/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/no_impl_from_function/Nargo.toml rename to test_programs/compile_failure/no_impl_from_function/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/no_impl_from_function/src/main.nr b/test_programs/compile_failure/no_impl_from_function/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/no_impl_from_function/src/main.nr rename to test_programs/compile_failure/no_impl_from_function/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/no_nested_impl/Nargo.toml b/test_programs/compile_failure/no_nested_impl/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/no_nested_impl/Nargo.toml rename to test_programs/compile_failure/no_nested_impl/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/no_nested_impl/src/main.nr b/test_programs/compile_failure/no_nested_impl/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/no_nested_impl/src/main.nr rename to test_programs/compile_failure/no_nested_impl/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/orphaned_trait_impl/Nargo.toml b/test_programs/compile_failure/orphaned_trait_impl/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/orphaned_trait_impl/Nargo.toml rename to test_programs/compile_failure/orphaned_trait_impl/Nargo.toml diff --git a/compiler/integration-tests/circuits/main/Prover.toml b/test_programs/compile_failure/orphaned_trait_impl/Prover.toml similarity index 100% rename from compiler/integration-tests/circuits/main/Prover.toml rename to test_programs/compile_failure/orphaned_trait_impl/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/orphaned_trait_impl/crate1/Nargo.toml b/test_programs/compile_failure/orphaned_trait_impl/crate1/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/orphaned_trait_impl/crate1/Nargo.toml rename to test_programs/compile_failure/orphaned_trait_impl/crate1/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/orphaned_trait_impl/crate1/src/lib.nr b/test_programs/compile_failure/orphaned_trait_impl/crate1/src/lib.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/orphaned_trait_impl/crate1/src/lib.nr rename to test_programs/compile_failure/orphaned_trait_impl/crate1/src/lib.nr diff --git a/tooling/nargo_cli/tests/compile_failure/orphaned_trait_impl/crate2/Nargo.toml b/test_programs/compile_failure/orphaned_trait_impl/crate2/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/orphaned_trait_impl/crate2/Nargo.toml rename to test_programs/compile_failure/orphaned_trait_impl/crate2/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/orphaned_trait_impl/crate2/src/lib.nr b/test_programs/compile_failure/orphaned_trait_impl/crate2/src/lib.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/orphaned_trait_impl/crate2/src/lib.nr rename to test_programs/compile_failure/orphaned_trait_impl/crate2/src/lib.nr diff --git a/tooling/nargo_cli/tests/compile_failure/orphaned_trait_impl/src/main.nr b/test_programs/compile_failure/orphaned_trait_impl/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/orphaned_trait_impl/src/main.nr rename to test_programs/compile_failure/orphaned_trait_impl/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/overflowing_assignment/Nargo.toml b/test_programs/compile_failure/overflowing_assignment/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/overflowing_assignment/Nargo.toml rename to test_programs/compile_failure/overflowing_assignment/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/overflowing_assignment/src/main.nr b/test_programs/compile_failure/overflowing_assignment/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/overflowing_assignment/src/main.nr rename to test_programs/compile_failure/overflowing_assignment/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/overlapping_generic_impls/Nargo.toml b/test_programs/compile_failure/overlapping_generic_impls/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/overlapping_generic_impls/Nargo.toml rename to test_programs/compile_failure/overlapping_generic_impls/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/overlapping_generic_impls/src/main.nr b/test_programs/compile_failure/overlapping_generic_impls/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/overlapping_generic_impls/src/main.nr rename to test_programs/compile_failure/overlapping_generic_impls/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/package_name_empty/Nargo.toml b/test_programs/compile_failure/package_name_empty/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/package_name_empty/Nargo.toml rename to test_programs/compile_failure/package_name_empty/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/package_name_empty/src/main.nr b/test_programs/compile_failure/package_name_empty/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/package_name_empty/src/main.nr rename to test_programs/compile_failure/package_name_empty/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/package_name_hyphen/Nargo.toml b/test_programs/compile_failure/package_name_hyphen/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/package_name_hyphen/Nargo.toml rename to test_programs/compile_failure/package_name_hyphen/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/package_name_hyphen/src/main.nr b/test_programs/compile_failure/package_name_hyphen/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/package_name_hyphen/src/main.nr rename to test_programs/compile_failure/package_name_hyphen/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/primary_attribute_struct/Nargo.toml b/test_programs/compile_failure/primary_attribute_struct/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/primary_attribute_struct/Nargo.toml rename to test_programs/compile_failure/primary_attribute_struct/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/primary_attribute_struct/src/main.nr b/test_programs/compile_failure/primary_attribute_struct/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/primary_attribute_struct/src/main.nr rename to test_programs/compile_failure/primary_attribute_struct/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/radix_non_constant_length/Nargo.toml b/test_programs/compile_failure/radix_non_constant_length/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/radix_non_constant_length/Nargo.toml rename to test_programs/compile_failure/radix_non_constant_length/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/radix_non_constant_length/Prover.toml b/test_programs/compile_failure/radix_non_constant_length/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/radix_non_constant_length/Prover.toml rename to test_programs/compile_failure/radix_non_constant_length/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/radix_non_constant_length/src/main.nr b/test_programs/compile_failure/radix_non_constant_length/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/radix_non_constant_length/src/main.nr rename to test_programs/compile_failure/radix_non_constant_length/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/slice_access_failure/Nargo.toml b/test_programs/compile_failure/slice_access_failure/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/slice_access_failure/Nargo.toml rename to test_programs/compile_failure/slice_access_failure/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/slice_access_failure/Prover.toml b/test_programs/compile_failure/slice_access_failure/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/slice_access_failure/Prover.toml rename to test_programs/compile_failure/slice_access_failure/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/slice_access_failure/src/main.nr b/test_programs/compile_failure/slice_access_failure/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/slice_access_failure/src/main.nr rename to test_programs/compile_failure/slice_access_failure/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/slice_insert_failure/Nargo.toml b/test_programs/compile_failure/slice_insert_failure/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/slice_insert_failure/Nargo.toml rename to test_programs/compile_failure/slice_insert_failure/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/slice_insert_failure/Prover.toml b/test_programs/compile_failure/slice_insert_failure/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/slice_insert_failure/Prover.toml rename to test_programs/compile_failure/slice_insert_failure/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/slice_insert_failure/src/main.nr b/test_programs/compile_failure/slice_insert_failure/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/slice_insert_failure/src/main.nr rename to test_programs/compile_failure/slice_insert_failure/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/slice_remove_failure/Nargo.toml b/test_programs/compile_failure/slice_remove_failure/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/slice_remove_failure/Nargo.toml rename to test_programs/compile_failure/slice_remove_failure/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/slice_remove_failure/Prover.toml b/test_programs/compile_failure/slice_remove_failure/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/slice_remove_failure/Prover.toml rename to test_programs/compile_failure/slice_remove_failure/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/slice_remove_failure/src/main.nr b/test_programs/compile_failure/slice_remove_failure/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/slice_remove_failure/src/main.nr rename to test_programs/compile_failure/slice_remove_failure/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/trait_incorrect_generic_count/Nargo.toml b/test_programs/compile_failure/trait_incorrect_generic_count/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/trait_incorrect_generic_count/Nargo.toml rename to test_programs/compile_failure/trait_incorrect_generic_count/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/trait_incorrect_generic_count/src/main.nr b/test_programs/compile_failure/trait_incorrect_generic_count/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/trait_incorrect_generic_count/src/main.nr rename to test_programs/compile_failure/trait_incorrect_generic_count/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/workspace_fail/Nargo.toml b/test_programs/compile_failure/workspace_fail/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/workspace_fail/Nargo.toml rename to test_programs/compile_failure/workspace_fail/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/workspace_fail/crates/a/Nargo.toml b/test_programs/compile_failure/workspace_fail/crates/a/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/workspace_fail/crates/a/Nargo.toml rename to test_programs/compile_failure/workspace_fail/crates/a/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/workspace_fail/crates/a/Prover.toml b/test_programs/compile_failure/workspace_fail/crates/a/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/workspace_fail/crates/a/Prover.toml rename to test_programs/compile_failure/workspace_fail/crates/a/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/workspace_fail/crates/a/src/main.nr b/test_programs/compile_failure/workspace_fail/crates/a/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/workspace_fail/crates/a/src/main.nr rename to test_programs/compile_failure/workspace_fail/crates/a/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/workspace_fail/crates/b/Nargo.toml b/test_programs/compile_failure/workspace_fail/crates/b/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/workspace_fail/crates/b/Nargo.toml rename to test_programs/compile_failure/workspace_fail/crates/b/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/workspace_fail/crates/b/Prover.toml b/test_programs/compile_failure/workspace_fail/crates/b/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/workspace_fail/crates/b/Prover.toml rename to test_programs/compile_failure/workspace_fail/crates/b/Prover.toml diff --git a/compiler/integration-tests/circuits/main/src/main.nr b/test_programs/compile_failure/workspace_fail/crates/b/src/main.nr similarity index 100% rename from compiler/integration-tests/circuits/main/src/main.nr rename to test_programs/compile_failure/workspace_fail/crates/b/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/workspace_missing_toml/Nargo.toml b/test_programs/compile_failure/workspace_missing_toml/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/workspace_missing_toml/Nargo.toml rename to test_programs/compile_failure/workspace_missing_toml/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/workspace_missing_toml/crates/a/Prover.toml b/test_programs/compile_failure/workspace_missing_toml/crates/a/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/workspace_missing_toml/crates/a/Prover.toml rename to test_programs/compile_failure/workspace_missing_toml/crates/a/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/workspace/crates/a/src/main.nr b/test_programs/compile_failure/workspace_missing_toml/crates/a/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/workspace/crates/a/src/main.nr rename to test_programs/compile_failure/workspace_missing_toml/crates/a/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_failure/workspace_missing_toml/crates/b/Nargo.toml b/test_programs/compile_failure/workspace_missing_toml/crates/b/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/workspace_missing_toml/crates/b/Nargo.toml rename to test_programs/compile_failure/workspace_missing_toml/crates/b/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/workspace_missing_toml/crates/b/Prover.toml b/test_programs/compile_failure/workspace_missing_toml/crates/b/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/workspace_missing_toml/crates/b/Prover.toml rename to test_programs/compile_failure/workspace_missing_toml/crates/b/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/workspace_fail/crates/b/src/main.nr b/test_programs/compile_failure/workspace_missing_toml/crates/b/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/workspace_fail/crates/b/src/main.nr rename to test_programs/compile_failure/workspace_missing_toml/crates/b/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_contract/contract_with_impl/Nargo.toml b/test_programs/compile_success_contract/contract_with_impl/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_contract/contract_with_impl/Nargo.toml rename to test_programs/compile_success_contract/contract_with_impl/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_contract/contract_with_impl/src/main.nr b/test_programs/compile_success_contract/contract_with_impl/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_contract/contract_with_impl/src/main.nr rename to test_programs/compile_success_contract/contract_with_impl/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_contract/non_entry_point_method/Nargo.toml b/test_programs/compile_success_contract/non_entry_point_method/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_contract/non_entry_point_method/Nargo.toml rename to test_programs/compile_success_contract/non_entry_point_method/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_contract/non_entry_point_method/src/main.nr b/test_programs/compile_success_contract/non_entry_point_method/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_contract/non_entry_point_method/src/main.nr rename to test_programs/compile_success_contract/non_entry_point_method/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_contract/simple_contract/Nargo.toml b/test_programs/compile_success_contract/simple_contract/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_contract/simple_contract/Nargo.toml rename to test_programs/compile_success_contract/simple_contract/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_contract/simple_contract/src/main.nr b/test_programs/compile_success_contract/simple_contract/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_contract/simple_contract/src/main.nr rename to test_programs/compile_success_contract/simple_contract/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/attributes_multiple/Nargo.toml b/test_programs/compile_success_empty/attributes_multiple/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/attributes_multiple/Nargo.toml rename to test_programs/compile_success_empty/attributes_multiple/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/attributes_multiple/src/main.nr b/test_programs/compile_success_empty/attributes_multiple/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/attributes_multiple/src/main.nr rename to test_programs/compile_success_empty/attributes_multiple/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/attributes_struct/Nargo.toml b/test_programs/compile_success_empty/attributes_struct/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/attributes_struct/Nargo.toml rename to test_programs/compile_success_empty/attributes_struct/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/attributes_struct/src/main.nr b/test_programs/compile_success_empty/attributes_struct/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/attributes_struct/src/main.nr rename to test_programs/compile_success_empty/attributes_struct/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/auto_deref/Nargo.toml b/test_programs/compile_success_empty/auto_deref/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/auto_deref/Nargo.toml rename to test_programs/compile_success_empty/auto_deref/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/auto_deref/src/main.nr b/test_programs/compile_success_empty/auto_deref/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/auto_deref/src/main.nr rename to test_programs/compile_success_empty/auto_deref/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/brillig_cast/Nargo.toml b/test_programs/compile_success_empty/brillig_cast/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/brillig_cast/Nargo.toml rename to test_programs/compile_success_empty/brillig_cast/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/brillig_cast/src/main.nr b/test_programs/compile_success_empty/brillig_cast/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/brillig_cast/src/main.nr rename to test_programs/compile_success_empty/brillig_cast/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/brillig_field_binary_operations/Nargo.toml b/test_programs/compile_success_empty/brillig_field_binary_operations/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/brillig_field_binary_operations/Nargo.toml rename to test_programs/compile_success_empty/brillig_field_binary_operations/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/brillig_field_binary_operations/Prover.toml b/test_programs/compile_success_empty/brillig_field_binary_operations/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/brillig_field_binary_operations/Prover.toml rename to test_programs/compile_success_empty/brillig_field_binary_operations/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/brillig_field_binary_operations/src/main.nr b/test_programs/compile_success_empty/brillig_field_binary_operations/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/brillig_field_binary_operations/src/main.nr rename to test_programs/compile_success_empty/brillig_field_binary_operations/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/brillig_integer_binary_operations/Nargo.toml b/test_programs/compile_success_empty/brillig_integer_binary_operations/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/brillig_integer_binary_operations/Nargo.toml rename to test_programs/compile_success_empty/brillig_integer_binary_operations/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/brillig_integer_binary_operations/Prover.toml b/test_programs/compile_success_empty/brillig_integer_binary_operations/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/brillig_integer_binary_operations/Prover.toml rename to test_programs/compile_success_empty/brillig_integer_binary_operations/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/brillig_integer_binary_operations/src/main.nr b/test_programs/compile_success_empty/brillig_integer_binary_operations/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/brillig_integer_binary_operations/src/main.nr rename to test_programs/compile_success_empty/brillig_integer_binary_operations/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/brillig_modulo/Nargo.toml b/test_programs/compile_success_empty/brillig_modulo/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/brillig_modulo/Nargo.toml rename to test_programs/compile_success_empty/brillig_modulo/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/brillig_modulo/Prover.toml b/test_programs/compile_success_empty/brillig_modulo/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/brillig_modulo/Prover.toml rename to test_programs/compile_success_empty/brillig_modulo/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/brillig_modulo/src/main.nr b/test_programs/compile_success_empty/brillig_modulo/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/brillig_modulo/src/main.nr rename to test_programs/compile_success_empty/brillig_modulo/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/brillig_to_bits/Nargo.toml b/test_programs/compile_success_empty/brillig_to_bits/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/brillig_to_bits/Nargo.toml rename to test_programs/compile_success_empty/brillig_to_bits/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/brillig_to_bits/src/main.nr b/test_programs/compile_success_empty/brillig_to_bits/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/brillig_to_bits/src/main.nr rename to test_programs/compile_success_empty/brillig_to_bits/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/closure_explicit_types/Nargo.toml b/test_programs/compile_success_empty/closure_explicit_types/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/closure_explicit_types/Nargo.toml rename to test_programs/compile_success_empty/closure_explicit_types/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/closure_explicit_types/src/main.nr b/test_programs/compile_success_empty/closure_explicit_types/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/closure_explicit_types/src/main.nr rename to test_programs/compile_success_empty/closure_explicit_types/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/comptime_recursion_regression/Nargo.toml b/test_programs/compile_success_empty/comptime_recursion_regression/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/comptime_recursion_regression/Nargo.toml rename to test_programs/compile_success_empty/comptime_recursion_regression/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/comptime_recursion_regression/Prover.toml b/test_programs/compile_success_empty/comptime_recursion_regression/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/comptime_recursion_regression/Prover.toml rename to test_programs/compile_success_empty/comptime_recursion_regression/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/comptime_recursion_regression/src/main.nr b/test_programs/compile_success_empty/comptime_recursion_regression/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/comptime_recursion_regression/src/main.nr rename to test_programs/compile_success_empty/comptime_recursion_regression/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/comptime_sort/Nargo.toml b/test_programs/compile_success_empty/comptime_sort/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/comptime_sort/Nargo.toml rename to test_programs/compile_success_empty/comptime_sort/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/comptime_sort/src/main.nr b/test_programs/compile_success_empty/comptime_sort/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/comptime_sort/src/main.nr rename to test_programs/compile_success_empty/comptime_sort/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/conditional_regression_547/Nargo.toml b/test_programs/compile_success_empty/conditional_regression_547/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/conditional_regression_547/Nargo.toml rename to test_programs/compile_success_empty/conditional_regression_547/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/conditional_regression_547/Prover.toml b/test_programs/compile_success_empty/conditional_regression_547/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/conditional_regression_547/Prover.toml rename to test_programs/compile_success_empty/conditional_regression_547/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/conditional_regression_547/src/main.nr b/test_programs/compile_success_empty/conditional_regression_547/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/conditional_regression_547/src/main.nr rename to test_programs/compile_success_empty/conditional_regression_547/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/conditional_regression_579/Nargo.toml b/test_programs/compile_success_empty/conditional_regression_579/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/conditional_regression_579/Nargo.toml rename to test_programs/compile_success_empty/conditional_regression_579/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/conditional_regression_579/Prover.toml b/test_programs/compile_success_empty/conditional_regression_579/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/conditional_regression_579/Prover.toml rename to test_programs/compile_success_empty/conditional_regression_579/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/conditional_regression_579/src/main.nr b/test_programs/compile_success_empty/conditional_regression_579/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/conditional_regression_579/src/main.nr rename to test_programs/compile_success_empty/conditional_regression_579/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/conditional_regression_to_bits/Nargo.toml b/test_programs/compile_success_empty/conditional_regression_to_bits/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/conditional_regression_to_bits/Nargo.toml rename to test_programs/compile_success_empty/conditional_regression_to_bits/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/conditional_regression_to_bits/Prover.toml b/test_programs/compile_success_empty/conditional_regression_to_bits/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/conditional_regression_to_bits/Prover.toml rename to test_programs/compile_success_empty/conditional_regression_to_bits/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/conditional_regression_to_bits/src/main.nr b/test_programs/compile_success_empty/conditional_regression_to_bits/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/conditional_regression_to_bits/src/main.nr rename to test_programs/compile_success_empty/conditional_regression_to_bits/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/ec_baby_jubjub/Nargo.toml b/test_programs/compile_success_empty/ec_baby_jubjub/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/ec_baby_jubjub/Nargo.toml rename to test_programs/compile_success_empty/ec_baby_jubjub/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/ec_baby_jubjub/src/main.nr b/test_programs/compile_success_empty/ec_baby_jubjub/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/ec_baby_jubjub/src/main.nr rename to test_programs/compile_success_empty/ec_baby_jubjub/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/generators/Nargo.toml b/test_programs/compile_success_empty/generators/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/generators/Nargo.toml rename to test_programs/compile_success_empty/generators/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/generators/src/main.nr b/test_programs/compile_success_empty/generators/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/generators/src/main.nr rename to test_programs/compile_success_empty/generators/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/higher_order_fn_selector/Nargo.toml b/test_programs/compile_success_empty/higher_order_fn_selector/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/higher_order_fn_selector/Nargo.toml rename to test_programs/compile_success_empty/higher_order_fn_selector/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/higher_order_fn_selector/src/main.nr b/test_programs/compile_success_empty/higher_order_fn_selector/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/higher_order_fn_selector/src/main.nr rename to test_programs/compile_success_empty/higher_order_fn_selector/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/impl_with_where_clause/Nargo.toml b/test_programs/compile_success_empty/impl_with_where_clause/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/impl_with_where_clause/Nargo.toml rename to test_programs/compile_success_empty/impl_with_where_clause/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/impl_with_where_clause/src/main.nr b/test_programs/compile_success_empty/impl_with_where_clause/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/impl_with_where_clause/src/main.nr rename to test_programs/compile_success_empty/impl_with_where_clause/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/inner_outer_cl/Nargo.toml b/test_programs/compile_success_empty/inner_outer_cl/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/inner_outer_cl/Nargo.toml rename to test_programs/compile_success_empty/inner_outer_cl/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/inner_outer_cl/src/main.nr b/test_programs/compile_success_empty/inner_outer_cl/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/inner_outer_cl/src/main.nr rename to test_programs/compile_success_empty/inner_outer_cl/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/instruction_deduplication/Nargo.toml b/test_programs/compile_success_empty/instruction_deduplication/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/instruction_deduplication/Nargo.toml rename to test_programs/compile_success_empty/instruction_deduplication/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/instruction_deduplication/Prover.toml b/test_programs/compile_success_empty/instruction_deduplication/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/instruction_deduplication/Prover.toml rename to test_programs/compile_success_empty/instruction_deduplication/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/instruction_deduplication/src/main.nr b/test_programs/compile_success_empty/instruction_deduplication/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/instruction_deduplication/src/main.nr rename to test_programs/compile_success_empty/instruction_deduplication/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/intrinsic_die/Nargo.toml b/test_programs/compile_success_empty/intrinsic_die/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/intrinsic_die/Nargo.toml rename to test_programs/compile_success_empty/intrinsic_die/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/intrinsic_die/src/main.nr b/test_programs/compile_success_empty/intrinsic_die/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/intrinsic_die/src/main.nr rename to test_programs/compile_success_empty/intrinsic_die/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/let_stmt/Nargo.toml b/test_programs/compile_success_empty/let_stmt/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/let_stmt/Nargo.toml rename to test_programs/compile_success_empty/let_stmt/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/let_stmt/Prover.toml b/test_programs/compile_success_empty/let_stmt/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/let_stmt/Prover.toml rename to test_programs/compile_success_empty/let_stmt/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/let_stmt/src/main.nr b/test_programs/compile_success_empty/let_stmt/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/let_stmt/src/main.nr rename to test_programs/compile_success_empty/let_stmt/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/main_return/Nargo.toml b/test_programs/compile_success_empty/main_return/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/main_return/Nargo.toml rename to test_programs/compile_success_empty/main_return/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/main_return/Prover.toml b/test_programs/compile_success_empty/main_return/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/main_return/Prover.toml rename to test_programs/compile_success_empty/main_return/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/main_return/src/main.nr b/test_programs/compile_success_empty/main_return/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/main_return/src/main.nr rename to test_programs/compile_success_empty/main_return/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/numeric_generics/Nargo.toml b/test_programs/compile_success_empty/numeric_generics/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/numeric_generics/Nargo.toml rename to test_programs/compile_success_empty/numeric_generics/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/numeric_generics/Prover.toml b/test_programs/compile_success_empty/numeric_generics/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/numeric_generics/Prover.toml rename to test_programs/compile_success_empty/numeric_generics/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/numeric_generics/src/main.nr b/test_programs/compile_success_empty/numeric_generics/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/numeric_generics/src/main.nr rename to test_programs/compile_success_empty/numeric_generics/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/option/Nargo.toml b/test_programs/compile_success_empty/option/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/option/Nargo.toml rename to test_programs/compile_success_empty/option/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/option/src/main.nr b/test_programs/compile_success_empty/option/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/option/src/main.nr rename to test_programs/compile_success_empty/option/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/references_aliasing/Nargo.toml b/test_programs/compile_success_empty/references_aliasing/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/references_aliasing/Nargo.toml rename to test_programs/compile_success_empty/references_aliasing/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/references_aliasing/Prover.toml b/test_programs/compile_success_empty/references_aliasing/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/references_aliasing/Prover.toml rename to test_programs/compile_success_empty/references_aliasing/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/references_aliasing/src/main.nr b/test_programs/compile_success_empty/references_aliasing/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/references_aliasing/src/main.nr rename to test_programs/compile_success_empty/references_aliasing/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/regression_2099/Nargo.toml b/test_programs/compile_success_empty/regression_2099/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/regression_2099/Nargo.toml rename to test_programs/compile_success_empty/regression_2099/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/regression_2099/src/main.nr b/test_programs/compile_success_empty/regression_2099/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/regression_2099/src/main.nr rename to test_programs/compile_success_empty/regression_2099/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/ret_fn_ret_cl/Nargo.toml b/test_programs/compile_success_empty/ret_fn_ret_cl/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/ret_fn_ret_cl/Nargo.toml rename to test_programs/compile_success_empty/ret_fn_ret_cl/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/ret_fn_ret_cl/Prover.toml b/test_programs/compile_success_empty/ret_fn_ret_cl/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/ret_fn_ret_cl/Prover.toml rename to test_programs/compile_success_empty/ret_fn_ret_cl/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/ret_fn_ret_cl/src/main.nr b/test_programs/compile_success_empty/ret_fn_ret_cl/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/ret_fn_ret_cl/src/main.nr rename to test_programs/compile_success_empty/ret_fn_ret_cl/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/simple_array_param/Nargo.toml b/test_programs/compile_success_empty/simple_array_param/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/simple_array_param/Nargo.toml rename to test_programs/compile_success_empty/simple_array_param/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/simple_array_param/Prover.toml b/test_programs/compile_success_empty/simple_array_param/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/simple_array_param/Prover.toml rename to test_programs/compile_success_empty/simple_array_param/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/simple_array_param/src/main.nr b/test_programs/compile_success_empty/simple_array_param/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/simple_array_param/src/main.nr rename to test_programs/compile_success_empty/simple_array_param/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/simple_program_no_body/Nargo.toml b/test_programs/compile_success_empty/simple_program_no_body/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/simple_program_no_body/Nargo.toml rename to test_programs/compile_success_empty/simple_program_no_body/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/simple_program_no_body/Prover.toml b/test_programs/compile_success_empty/simple_program_no_body/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/simple_program_no_body/Prover.toml rename to test_programs/compile_success_empty/simple_program_no_body/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/simple_program_no_body/src/main.nr b/test_programs/compile_success_empty/simple_program_no_body/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/simple_program_no_body/src/main.nr rename to test_programs/compile_success_empty/simple_program_no_body/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/simple_range/Nargo.toml b/test_programs/compile_success_empty/simple_range/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/simple_range/Nargo.toml rename to test_programs/compile_success_empty/simple_range/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/simple_range/Prover.toml b/test_programs/compile_success_empty/simple_range/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/simple_range/Prover.toml rename to test_programs/compile_success_empty/simple_range/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/simple_range/src/main.nr b/test_programs/compile_success_empty/simple_range/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/simple_range/src/main.nr rename to test_programs/compile_success_empty/simple_range/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/specialization/Nargo.toml b/test_programs/compile_success_empty/specialization/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/specialization/Nargo.toml rename to test_programs/compile_success_empty/specialization/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/specialization/src/main.nr b/test_programs/compile_success_empty/specialization/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/specialization/src/main.nr rename to test_programs/compile_success_empty/specialization/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/str_as_bytes/Nargo.toml b/test_programs/compile_success_empty/str_as_bytes/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/str_as_bytes/Nargo.toml rename to test_programs/compile_success_empty/str_as_bytes/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/str_as_bytes/src/main.nr b/test_programs/compile_success_empty/str_as_bytes/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/str_as_bytes/src/main.nr rename to test_programs/compile_success_empty/str_as_bytes/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/to_bits/Nargo.toml b/test_programs/compile_success_empty/to_bits/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/to_bits/Nargo.toml rename to test_programs/compile_success_empty/to_bits/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/to_bits/src/main.nr b/test_programs/compile_success_empty/to_bits/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/to_bits/src/main.nr rename to test_programs/compile_success_empty/to_bits/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_allowed_item_name_matches/Nargo.toml b/test_programs/compile_success_empty/trait_allowed_item_name_matches/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_allowed_item_name_matches/Nargo.toml rename to test_programs/compile_success_empty/trait_allowed_item_name_matches/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_allowed_item_name_matches/Prover.toml b/test_programs/compile_success_empty/trait_allowed_item_name_matches/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_allowed_item_name_matches/Prover.toml rename to test_programs/compile_success_empty/trait_allowed_item_name_matches/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_allowed_item_name_matches/src/main.nr b/test_programs/compile_success_empty/trait_allowed_item_name_matches/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_allowed_item_name_matches/src/main.nr rename to test_programs/compile_success_empty/trait_allowed_item_name_matches/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_associated_member_names_clashes/Nargo.toml b/test_programs/compile_success_empty/trait_associated_member_names_clashes/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_associated_member_names_clashes/Nargo.toml rename to test_programs/compile_success_empty/trait_associated_member_names_clashes/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_associated_member_names_clashes/Prover.toml b/test_programs/compile_success_empty/trait_associated_member_names_clashes/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_associated_member_names_clashes/Prover.toml rename to test_programs/compile_success_empty/trait_associated_member_names_clashes/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_associated_member_names_clashes/src/main.nr b/test_programs/compile_success_empty/trait_associated_member_names_clashes/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_associated_member_names_clashes/src/main.nr rename to test_programs/compile_success_empty/trait_associated_member_names_clashes/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_default_implementation/Nargo.toml b/test_programs/compile_success_empty/trait_default_implementation/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_default_implementation/Nargo.toml rename to test_programs/compile_success_empty/trait_default_implementation/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_default_implementation/Prover.toml b/test_programs/compile_success_empty/trait_default_implementation/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_default_implementation/Prover.toml rename to test_programs/compile_success_empty/trait_default_implementation/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_default_implementation/src/main.nr b/test_programs/compile_success_empty/trait_default_implementation/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_default_implementation/src/main.nr rename to test_programs/compile_success_empty/trait_default_implementation/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_function_calls/Nargo.toml b/test_programs/compile_success_empty/trait_function_calls/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_function_calls/Nargo.toml rename to test_programs/compile_success_empty/trait_function_calls/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_function_calls/Prover.toml b/test_programs/compile_success_empty/trait_function_calls/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_function_calls/Prover.toml rename to test_programs/compile_success_empty/trait_function_calls/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_function_calls/src/main.nr b/test_programs/compile_success_empty/trait_function_calls/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_function_calls/src/main.nr rename to test_programs/compile_success_empty/trait_function_calls/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_generics/Nargo.toml b/test_programs/compile_success_empty/trait_generics/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_generics/Nargo.toml rename to test_programs/compile_success_empty/trait_generics/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_generics/src/main.nr b/test_programs/compile_success_empty/trait_generics/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_generics/src/main.nr rename to test_programs/compile_success_empty/trait_generics/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/Nargo.toml b/test_programs/compile_success_empty/trait_multi_module_test/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/Nargo.toml rename to test_programs/compile_success_empty/trait_multi_module_test/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/Prover.toml b/test_programs/compile_success_empty/trait_multi_module_test/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/Prover.toml rename to test_programs/compile_success_empty/trait_multi_module_test/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/src/main.nr b/test_programs/compile_success_empty/trait_multi_module_test/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/src/main.nr rename to test_programs/compile_success_empty/trait_multi_module_test/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/src/module1.nr b/test_programs/compile_success_empty/trait_multi_module_test/src/module1.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/src/module1.nr rename to test_programs/compile_success_empty/trait_multi_module_test/src/module1.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/src/module2.nr b/test_programs/compile_success_empty/trait_multi_module_test/src/module2.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/src/module2.nr rename to test_programs/compile_success_empty/trait_multi_module_test/src/module2.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/src/module3.nr b/test_programs/compile_success_empty/trait_multi_module_test/src/module3.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/src/module3.nr rename to test_programs/compile_success_empty/trait_multi_module_test/src/module3.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/src/module4.nr b/test_programs/compile_success_empty/trait_multi_module_test/src/module4.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/src/module4.nr rename to test_programs/compile_success_empty/trait_multi_module_test/src/module4.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/src/module5.nr b/test_programs/compile_success_empty/trait_multi_module_test/src/module5.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/src/module5.nr rename to test_programs/compile_success_empty/trait_multi_module_test/src/module5.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/src/module6.nr b/test_programs/compile_success_empty/trait_multi_module_test/src/module6.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_multi_module_test/src/module6.nr rename to test_programs/compile_success_empty/trait_multi_module_test/src/module6.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_override_implementation/Nargo.toml b/test_programs/compile_success_empty/trait_override_implementation/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_override_implementation/Nargo.toml rename to test_programs/compile_success_empty/trait_override_implementation/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_override_implementation/Prover.toml b/test_programs/compile_success_empty/trait_override_implementation/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_override_implementation/Prover.toml rename to test_programs/compile_success_empty/trait_override_implementation/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_override_implementation/src/main.nr b/test_programs/compile_success_empty/trait_override_implementation/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_override_implementation/src/main.nr rename to test_programs/compile_success_empty/trait_override_implementation/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_static_methods/Nargo.toml b/test_programs/compile_success_empty/trait_static_methods/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_static_methods/Nargo.toml rename to test_programs/compile_success_empty/trait_static_methods/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_static_methods/src/main.nr b/test_programs/compile_success_empty/trait_static_methods/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_static_methods/src/main.nr rename to test_programs/compile_success_empty/trait_static_methods/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_where_clause/Nargo.toml b/test_programs/compile_success_empty/trait_where_clause/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_where_clause/Nargo.toml rename to test_programs/compile_success_empty/trait_where_clause/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_where_clause/src/main.nr b/test_programs/compile_success_empty/trait_where_clause/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_where_clause/src/main.nr rename to test_programs/compile_success_empty/trait_where_clause/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/trait_where_clause/src/the_trait.nr b/test_programs/compile_success_empty/trait_where_clause/src/the_trait.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/trait_where_clause/src/the_trait.nr rename to test_programs/compile_success_empty/trait_where_clause/src/the_trait.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/traits/Nargo.toml b/test_programs/compile_success_empty/traits/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/traits/Nargo.toml rename to test_programs/compile_success_empty/traits/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/traits/Prover.toml b/test_programs/compile_success_empty/traits/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/traits/Prover.toml rename to test_programs/compile_success_empty/traits/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/traits/src/main.nr b/test_programs/compile_success_empty/traits/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/traits/src/main.nr rename to test_programs/compile_success_empty/traits/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/unary_operators/Nargo.toml b/test_programs/compile_success_empty/unary_operators/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/unary_operators/Nargo.toml rename to test_programs/compile_success_empty/unary_operators/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/unary_operators/src/main.nr b/test_programs/compile_success_empty/unary_operators/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/unary_operators/src/main.nr rename to test_programs/compile_success_empty/unary_operators/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/unconstrained_empty/Nargo.toml b/test_programs/compile_success_empty/unconstrained_empty/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/unconstrained_empty/Nargo.toml rename to test_programs/compile_success_empty/unconstrained_empty/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/unconstrained_empty/src/main.nr b/test_programs/compile_success_empty/unconstrained_empty/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/unconstrained_empty/src/main.nr rename to test_programs/compile_success_empty/unconstrained_empty/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/unit/Nargo.toml b/test_programs/compile_success_empty/unit/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/unit/Nargo.toml rename to test_programs/compile_success_empty/unit/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/unit/src/main.nr b/test_programs/compile_success_empty/unit/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/unit/src/main.nr rename to test_programs/compile_success_empty/unit/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/unused_variables/Nargo.toml b/test_programs/compile_success_empty/unused_variables/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/unused_variables/Nargo.toml rename to test_programs/compile_success_empty/unused_variables/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/unused_variables/src/main.nr b/test_programs/compile_success_empty/unused_variables/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/unused_variables/src/main.nr rename to test_programs/compile_success_empty/unused_variables/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/vectors/Nargo.toml b/test_programs/compile_success_empty/vectors/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/vectors/Nargo.toml rename to test_programs/compile_success_empty/vectors/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/vectors/Prover.toml b/test_programs/compile_success_empty/vectors/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/vectors/Prover.toml rename to test_programs/compile_success_empty/vectors/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/vectors/src/main.nr b/test_programs/compile_success_empty/vectors/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/vectors/src/main.nr rename to test_programs/compile_success_empty/vectors/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/workspace_reexport_bug/Nargo.toml b/test_programs/compile_success_empty/workspace_reexport_bug/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/workspace_reexport_bug/Nargo.toml rename to test_programs/compile_success_empty/workspace_reexport_bug/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/workspace_reexport_bug/binary/Nargo.toml b/test_programs/compile_success_empty/workspace_reexport_bug/binary/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/workspace_reexport_bug/binary/Nargo.toml rename to test_programs/compile_success_empty/workspace_reexport_bug/binary/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/workspace_reexport_bug/binary/src/main.nr b/test_programs/compile_success_empty/workspace_reexport_bug/binary/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/workspace_reexport_bug/binary/src/main.nr rename to test_programs/compile_success_empty/workspace_reexport_bug/binary/src/main.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/workspace_reexport_bug/library/Nargo.toml b/test_programs/compile_success_empty/workspace_reexport_bug/library/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/workspace_reexport_bug/library/Nargo.toml rename to test_programs/compile_success_empty/workspace_reexport_bug/library/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/workspace_reexport_bug/library/src/lib.nr b/test_programs/compile_success_empty/workspace_reexport_bug/library/src/lib.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/workspace_reexport_bug/library/src/lib.nr rename to test_programs/compile_success_empty/workspace_reexport_bug/library/src/lib.nr diff --git a/tooling/nargo_cli/tests/compile_success_empty/workspace_reexport_bug/library2/Nargo.toml b/test_programs/compile_success_empty/workspace_reexport_bug/library2/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/workspace_reexport_bug/library2/Nargo.toml rename to test_programs/compile_success_empty/workspace_reexport_bug/library2/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_success_empty/workspace_reexport_bug/library2/src/lib.nr b/test_programs/compile_success_empty/workspace_reexport_bug/library2/src/lib.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_success_empty/workspace_reexport_bug/library2/src/lib.nr rename to test_programs/compile_success_empty/workspace_reexport_bug/library2/src/lib.nr diff --git a/tooling/nargo_cli/tests/execution_success/1327_concrete_in_generic/Nargo.toml b/test_programs/execution_success/1327_concrete_in_generic/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/1327_concrete_in_generic/Nargo.toml rename to test_programs/execution_success/1327_concrete_in_generic/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/1327_concrete_in_generic/Prover.toml b/test_programs/execution_success/1327_concrete_in_generic/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/1327_concrete_in_generic/Prover.toml rename to test_programs/execution_success/1327_concrete_in_generic/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/1327_concrete_in_generic/src/main.nr b/test_programs/execution_success/1327_concrete_in_generic/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/1327_concrete_in_generic/src/main.nr rename to test_programs/execution_success/1327_concrete_in_generic/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/1_mul/Nargo.toml b/test_programs/execution_success/1_mul/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/1_mul/Nargo.toml rename to test_programs/execution_success/1_mul/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/1_mul/Prover.toml b/test_programs/execution_success/1_mul/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/1_mul/Prover.toml rename to test_programs/execution_success/1_mul/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/1_mul/src/main.nr b/test_programs/execution_success/1_mul/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/1_mul/src/main.nr rename to test_programs/execution_success/1_mul/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/2_div/Nargo.toml b/test_programs/execution_success/2_div/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/2_div/Nargo.toml rename to test_programs/execution_success/2_div/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/2_div/Prover.toml b/test_programs/execution_success/2_div/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/2_div/Prover.toml rename to test_programs/execution_success/2_div/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/2_div/src/main.nr b/test_programs/execution_success/2_div/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/2_div/src/main.nr rename to test_programs/execution_success/2_div/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/3_add/Nargo.toml b/test_programs/execution_success/3_add/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/3_add/Nargo.toml rename to test_programs/execution_success/3_add/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/3_add/Prover.toml b/test_programs/execution_success/3_add/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/3_add/Prover.toml rename to test_programs/execution_success/3_add/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/3_add/src/main.nr b/test_programs/execution_success/3_add/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/3_add/src/main.nr rename to test_programs/execution_success/3_add/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/4_sub/Nargo.toml b/test_programs/execution_success/4_sub/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/4_sub/Nargo.toml rename to test_programs/execution_success/4_sub/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/4_sub/Prover.toml b/test_programs/execution_success/4_sub/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/4_sub/Prover.toml rename to test_programs/execution_success/4_sub/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/4_sub/src/main.nr b/test_programs/execution_success/4_sub/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/4_sub/src/main.nr rename to test_programs/execution_success/4_sub/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/5_over/Nargo.toml b/test_programs/execution_success/5_over/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/5_over/Nargo.toml rename to test_programs/execution_success/5_over/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/5_over/Prover.toml b/test_programs/execution_success/5_over/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/5_over/Prover.toml rename to test_programs/execution_success/5_over/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/5_over/src/main.nr b/test_programs/execution_success/5_over/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/5_over/src/main.nr rename to test_programs/execution_success/5_over/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/6/Nargo.toml b/test_programs/execution_success/6/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/6/Nargo.toml rename to test_programs/execution_success/6/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/6/Prover.toml b/test_programs/execution_success/6/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/6/Prover.toml rename to test_programs/execution_success/6/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/6/src/main.nr b/test_programs/execution_success/6/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/6/src/main.nr rename to test_programs/execution_success/6/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/6_array/Nargo.toml b/test_programs/execution_success/6_array/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/6_array/Nargo.toml rename to test_programs/execution_success/6_array/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/6_array/Prover.toml b/test_programs/execution_success/6_array/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/6_array/Prover.toml rename to test_programs/execution_success/6_array/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/6_array/src/main.nr b/test_programs/execution_success/6_array/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/6_array/src/main.nr rename to test_programs/execution_success/6_array/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/7/Nargo.toml b/test_programs/execution_success/7/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/7/Nargo.toml rename to test_programs/execution_success/7/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/7/Prover.toml b/test_programs/execution_success/7/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/7/Prover.toml rename to test_programs/execution_success/7/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/7/src/main.nr b/test_programs/execution_success/7/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/7/src/main.nr rename to test_programs/execution_success/7/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/7_function/Nargo.toml b/test_programs/execution_success/7_function/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/7_function/Nargo.toml rename to test_programs/execution_success/7_function/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/7_function/Prover.toml b/test_programs/execution_success/7_function/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/7_function/Prover.toml rename to test_programs/execution_success/7_function/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/7_function/src/main.nr b/test_programs/execution_success/7_function/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/7_function/src/main.nr rename to test_programs/execution_success/7_function/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/arithmetic_binary_operations/Nargo.toml b/test_programs/execution_success/arithmetic_binary_operations/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/arithmetic_binary_operations/Nargo.toml rename to test_programs/execution_success/arithmetic_binary_operations/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/arithmetic_binary_operations/Prover.toml b/test_programs/execution_success/arithmetic_binary_operations/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/arithmetic_binary_operations/Prover.toml rename to test_programs/execution_success/arithmetic_binary_operations/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/arithmetic_binary_operations/src/main.nr b/test_programs/execution_success/arithmetic_binary_operations/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/arithmetic_binary_operations/src/main.nr rename to test_programs/execution_success/arithmetic_binary_operations/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/array_dynamic/Nargo.toml b/test_programs/execution_success/array_dynamic/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/array_dynamic/Nargo.toml rename to test_programs/execution_success/array_dynamic/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/array_dynamic/Prover.toml b/test_programs/execution_success/array_dynamic/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/array_dynamic/Prover.toml rename to test_programs/execution_success/array_dynamic/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/array_dynamic/src/main.nr b/test_programs/execution_success/array_dynamic/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/array_dynamic/src/main.nr rename to test_programs/execution_success/array_dynamic/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/array_eq/Nargo.toml b/test_programs/execution_success/array_eq/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/array_eq/Nargo.toml rename to test_programs/execution_success/array_eq/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/array_eq/Prover.toml b/test_programs/execution_success/array_eq/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/array_eq/Prover.toml rename to test_programs/execution_success/array_eq/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/array_eq/src/main.nr b/test_programs/execution_success/array_eq/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/array_eq/src/main.nr rename to test_programs/execution_success/array_eq/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/array_len/Nargo.toml b/test_programs/execution_success/array_len/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/array_len/Nargo.toml rename to test_programs/execution_success/array_len/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/array_len/Prover.toml b/test_programs/execution_success/array_len/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/array_len/Prover.toml rename to test_programs/execution_success/array_len/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/array_len/src/main.nr b/test_programs/execution_success/array_len/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/array_len/src/main.nr rename to test_programs/execution_success/array_len/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/array_neq/Nargo.toml b/test_programs/execution_success/array_neq/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/array_neq/Nargo.toml rename to test_programs/execution_success/array_neq/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/array_neq/Prover.toml b/test_programs/execution_success/array_neq/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/array_neq/Prover.toml rename to test_programs/execution_success/array_neq/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/array_neq/src/main.nr b/test_programs/execution_success/array_neq/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/array_neq/src/main.nr rename to test_programs/execution_success/array_neq/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/array_sort/Nargo.toml b/test_programs/execution_success/array_sort/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/array_sort/Nargo.toml rename to test_programs/execution_success/array_sort/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/array_sort/Prover.toml b/test_programs/execution_success/array_sort/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/array_sort/Prover.toml rename to test_programs/execution_success/array_sort/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/array_sort/src/main.nr b/test_programs/execution_success/array_sort/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/array_sort/src/main.nr rename to test_programs/execution_success/array_sort/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/assert/Nargo.toml b/test_programs/execution_success/assert/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/assert/Nargo.toml rename to test_programs/execution_success/assert/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/assert/Prover.toml b/test_programs/execution_success/assert/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/assert/Prover.toml rename to test_programs/execution_success/assert/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/assert/src/main.nr b/test_programs/execution_success/assert/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/assert/src/main.nr rename to test_programs/execution_success/assert/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/assert_statement/Nargo.toml b/test_programs/execution_success/assert_statement/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/assert_statement/Nargo.toml rename to test_programs/execution_success/assert_statement/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/assert_statement/Prover.toml b/test_programs/execution_success/assert_statement/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/assert_statement/Prover.toml rename to test_programs/execution_success/assert_statement/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/assert_statement/src/main.nr b/test_programs/execution_success/assert_statement/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/assert_statement/src/main.nr rename to test_programs/execution_success/assert_statement/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/assign_ex/Nargo.toml b/test_programs/execution_success/assign_ex/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/assign_ex/Nargo.toml rename to test_programs/execution_success/assign_ex/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/assign_ex/Prover.toml b/test_programs/execution_success/assign_ex/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/assign_ex/Prover.toml rename to test_programs/execution_success/assign_ex/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/assign_ex/src/main.nr b/test_programs/execution_success/assign_ex/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/assign_ex/src/main.nr rename to test_programs/execution_success/assign_ex/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/bit_and/Nargo.toml b/test_programs/execution_success/bit_and/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/bit_and/Nargo.toml rename to test_programs/execution_success/bit_and/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/bit_and/Prover.toml b/test_programs/execution_success/bit_and/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/bit_and/Prover.toml rename to test_programs/execution_success/bit_and/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/bit_and/src/main.nr b/test_programs/execution_success/bit_and/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/bit_and/src/main.nr rename to test_programs/execution_success/bit_and/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/bit_shifts_comptime/Nargo.toml b/test_programs/execution_success/bit_shifts_comptime/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/bit_shifts_comptime/Nargo.toml rename to test_programs/execution_success/bit_shifts_comptime/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/bit_shifts_comptime/Prover.toml b/test_programs/execution_success/bit_shifts_comptime/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/bit_shifts_comptime/Prover.toml rename to test_programs/execution_success/bit_shifts_comptime/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/bit_shifts_comptime/src/main.nr b/test_programs/execution_success/bit_shifts_comptime/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/bit_shifts_comptime/src/main.nr rename to test_programs/execution_success/bit_shifts_comptime/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/bit_shifts_runtime/Nargo.toml b/test_programs/execution_success/bit_shifts_runtime/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/bit_shifts_runtime/Nargo.toml rename to test_programs/execution_success/bit_shifts_runtime/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/bit_shifts_runtime/Prover.toml b/test_programs/execution_success/bit_shifts_runtime/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/bit_shifts_runtime/Prover.toml rename to test_programs/execution_success/bit_shifts_runtime/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/bit_shifts_runtime/src/main.nr b/test_programs/execution_success/bit_shifts_runtime/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/bit_shifts_runtime/src/main.nr rename to test_programs/execution_success/bit_shifts_runtime/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/bool_not/Nargo.toml b/test_programs/execution_success/bool_not/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/bool_not/Nargo.toml rename to test_programs/execution_success/bool_not/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/bool_not/Prover.toml b/test_programs/execution_success/bool_not/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/bool_not/Prover.toml rename to test_programs/execution_success/bool_not/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/bool_not/src/main.nr b/test_programs/execution_success/bool_not/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/bool_not/src/main.nr rename to test_programs/execution_success/bool_not/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/bool_or/Nargo.toml b/test_programs/execution_success/bool_or/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/bool_or/Nargo.toml rename to test_programs/execution_success/bool_or/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/bool_or/Prover.toml b/test_programs/execution_success/bool_or/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/bool_or/Prover.toml rename to test_programs/execution_success/bool_or/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/bool_or/src/main.nr b/test_programs/execution_success/bool_or/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/bool_or/src/main.nr rename to test_programs/execution_success/bool_or/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_acir_as_brillig/Nargo.toml b/test_programs/execution_success/brillig_acir_as_brillig/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_acir_as_brillig/Nargo.toml rename to test_programs/execution_success/brillig_acir_as_brillig/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_acir_as_brillig/Prover.toml b/test_programs/execution_success/brillig_acir_as_brillig/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_acir_as_brillig/Prover.toml rename to test_programs/execution_success/brillig_acir_as_brillig/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_acir_as_brillig/src/main.nr b/test_programs/execution_success/brillig_acir_as_brillig/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_acir_as_brillig/src/main.nr rename to test_programs/execution_success/brillig_acir_as_brillig/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_arrays/Nargo.toml b/test_programs/execution_success/brillig_arrays/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_arrays/Nargo.toml rename to test_programs/execution_success/brillig_arrays/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_arrays/Prover.toml b/test_programs/execution_success/brillig_arrays/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_arrays/Prover.toml rename to test_programs/execution_success/brillig_arrays/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_arrays/src/main.nr b/test_programs/execution_success/brillig_arrays/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_arrays/src/main.nr rename to test_programs/execution_success/brillig_arrays/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_assert/Nargo.toml b/test_programs/execution_success/brillig_assert/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_assert/Nargo.toml rename to test_programs/execution_success/brillig_assert/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_assert/Prover.toml b/test_programs/execution_success/brillig_assert/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_assert/Prover.toml rename to test_programs/execution_success/brillig_assert/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_assert/src/main.nr b/test_programs/execution_success/brillig_assert/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_assert/src/main.nr rename to test_programs/execution_success/brillig_assert/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_blake2s/Nargo.toml b/test_programs/execution_success/brillig_blake2s/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_blake2s/Nargo.toml rename to test_programs/execution_success/brillig_blake2s/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_blake2s/Prover.toml b/test_programs/execution_success/brillig_blake2s/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_blake2s/Prover.toml rename to test_programs/execution_success/brillig_blake2s/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_blake2s/src/main.nr b/test_programs/execution_success/brillig_blake2s/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_blake2s/src/main.nr rename to test_programs/execution_success/brillig_blake2s/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_calls/Nargo.toml b/test_programs/execution_success/brillig_calls/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_calls/Nargo.toml rename to test_programs/execution_success/brillig_calls/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_calls/Prover.toml b/test_programs/execution_success/brillig_calls/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_calls/Prover.toml rename to test_programs/execution_success/brillig_calls/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_calls/src/main.nr b/test_programs/execution_success/brillig_calls/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_calls/src/main.nr rename to test_programs/execution_success/brillig_calls/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_calls_array/Nargo.toml b/test_programs/execution_success/brillig_calls_array/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_calls_array/Nargo.toml rename to test_programs/execution_success/brillig_calls_array/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_calls_array/Prover.toml b/test_programs/execution_success/brillig_calls_array/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_calls_array/Prover.toml rename to test_programs/execution_success/brillig_calls_array/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_calls_array/src/main.nr b/test_programs/execution_success/brillig_calls_array/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_calls_array/src/main.nr rename to test_programs/execution_success/brillig_calls_array/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_calls_conditionals/Nargo.toml b/test_programs/execution_success/brillig_calls_conditionals/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_calls_conditionals/Nargo.toml rename to test_programs/execution_success/brillig_calls_conditionals/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_calls_conditionals/Prover.toml b/test_programs/execution_success/brillig_calls_conditionals/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_calls_conditionals/Prover.toml rename to test_programs/execution_success/brillig_calls_conditionals/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_calls_conditionals/src/main.nr b/test_programs/execution_success/brillig_calls_conditionals/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_calls_conditionals/src/main.nr rename to test_programs/execution_success/brillig_calls_conditionals/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_conditional/Nargo.toml b/test_programs/execution_success/brillig_conditional/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_conditional/Nargo.toml rename to test_programs/execution_success/brillig_conditional/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_conditional/Prover.toml b/test_programs/execution_success/brillig_conditional/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_conditional/Prover.toml rename to test_programs/execution_success/brillig_conditional/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_conditional/src/main.nr b/test_programs/execution_success/brillig_conditional/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_conditional/src/main.nr rename to test_programs/execution_success/brillig_conditional/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_ecdsa/Nargo.toml b/test_programs/execution_success/brillig_ecdsa/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_ecdsa/Nargo.toml rename to test_programs/execution_success/brillig_ecdsa/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_ecdsa/Prover.toml b/test_programs/execution_success/brillig_ecdsa/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_ecdsa/Prover.toml rename to test_programs/execution_success/brillig_ecdsa/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_ecdsa/src/main.nr b/test_programs/execution_success/brillig_ecdsa/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_ecdsa/src/main.nr rename to test_programs/execution_success/brillig_ecdsa/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_fns_as_values/Nargo.toml b/test_programs/execution_success/brillig_fns_as_values/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_fns_as_values/Nargo.toml rename to test_programs/execution_success/brillig_fns_as_values/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_fns_as_values/Prover.toml b/test_programs/execution_success/brillig_fns_as_values/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_fns_as_values/Prover.toml rename to test_programs/execution_success/brillig_fns_as_values/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_fns_as_values/src/main.nr b/test_programs/execution_success/brillig_fns_as_values/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_fns_as_values/src/main.nr rename to test_programs/execution_success/brillig_fns_as_values/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_hash_to_field/Nargo.toml b/test_programs/execution_success/brillig_hash_to_field/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_hash_to_field/Nargo.toml rename to test_programs/execution_success/brillig_hash_to_field/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_hash_to_field/Prover.toml b/test_programs/execution_success/brillig_hash_to_field/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_hash_to_field/Prover.toml rename to test_programs/execution_success/brillig_hash_to_field/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_hash_to_field/src/main.nr b/test_programs/execution_success/brillig_hash_to_field/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_hash_to_field/src/main.nr rename to test_programs/execution_success/brillig_hash_to_field/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_identity_function/Nargo.toml b/test_programs/execution_success/brillig_identity_function/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_identity_function/Nargo.toml rename to test_programs/execution_success/brillig_identity_function/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_identity_function/Prover.toml b/test_programs/execution_success/brillig_identity_function/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_identity_function/Prover.toml rename to test_programs/execution_success/brillig_identity_function/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_identity_function/src/main.nr b/test_programs/execution_success/brillig_identity_function/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_identity_function/src/main.nr rename to test_programs/execution_success/brillig_identity_function/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_keccak/Nargo.toml b/test_programs/execution_success/brillig_keccak/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_keccak/Nargo.toml rename to test_programs/execution_success/brillig_keccak/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_keccak/Prover.toml b/test_programs/execution_success/brillig_keccak/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_keccak/Prover.toml rename to test_programs/execution_success/brillig_keccak/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_keccak/src/main.nr b/test_programs/execution_success/brillig_keccak/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_keccak/src/main.nr rename to test_programs/execution_success/brillig_keccak/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_loop/Nargo.toml b/test_programs/execution_success/brillig_loop/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_loop/Nargo.toml rename to test_programs/execution_success/brillig_loop/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_loop/Prover.toml b/test_programs/execution_success/brillig_loop/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_loop/Prover.toml rename to test_programs/execution_success/brillig_loop/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_loop/src/main.nr b/test_programs/execution_success/brillig_loop/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_loop/src/main.nr rename to test_programs/execution_success/brillig_loop/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_nested_arrays/Nargo.toml b/test_programs/execution_success/brillig_nested_arrays/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_nested_arrays/Nargo.toml rename to test_programs/execution_success/brillig_nested_arrays/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_nested_arrays/Prover.toml b/test_programs/execution_success/brillig_nested_arrays/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_nested_arrays/Prover.toml rename to test_programs/execution_success/brillig_nested_arrays/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_nested_arrays/src/main.nr b/test_programs/execution_success/brillig_nested_arrays/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_nested_arrays/src/main.nr rename to test_programs/execution_success/brillig_nested_arrays/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_nested_slices/Nargo.toml b/test_programs/execution_success/brillig_nested_slices/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_nested_slices/Nargo.toml rename to test_programs/execution_success/brillig_nested_slices/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_nested_slices/Prover.toml b/test_programs/execution_success/brillig_nested_slices/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_nested_slices/Prover.toml rename to test_programs/execution_success/brillig_nested_slices/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_nested_slices/src/main.nr b/test_programs/execution_success/brillig_nested_slices/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_nested_slices/src/main.nr rename to test_programs/execution_success/brillig_nested_slices/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_not/Nargo.toml b/test_programs/execution_success/brillig_not/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_not/Nargo.toml rename to test_programs/execution_success/brillig_not/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_not/Prover.toml b/test_programs/execution_success/brillig_not/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_not/Prover.toml rename to test_programs/execution_success/brillig_not/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_not/src/main.nr b/test_programs/execution_success/brillig_not/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_not/src/main.nr rename to test_programs/execution_success/brillig_not/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_oracle/Nargo.toml b/test_programs/execution_success/brillig_oracle/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_oracle/Nargo.toml rename to test_programs/execution_success/brillig_oracle/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_oracle/Prover.toml b/test_programs/execution_success/brillig_oracle/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_oracle/Prover.toml rename to test_programs/execution_success/brillig_oracle/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_oracle/src/main.nr b/test_programs/execution_success/brillig_oracle/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_oracle/src/main.nr rename to test_programs/execution_success/brillig_oracle/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_pedersen/Nargo.toml b/test_programs/execution_success/brillig_pedersen/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_pedersen/Nargo.toml rename to test_programs/execution_success/brillig_pedersen/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_pedersen/Prover.toml b/test_programs/execution_success/brillig_pedersen/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_pedersen/Prover.toml rename to test_programs/execution_success/brillig_pedersen/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_pedersen/src/main.nr b/test_programs/execution_success/brillig_pedersen/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_pedersen/src/main.nr rename to test_programs/execution_success/brillig_pedersen/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_recursion/Nargo.toml b/test_programs/execution_success/brillig_recursion/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_recursion/Nargo.toml rename to test_programs/execution_success/brillig_recursion/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_recursion/Prover.toml b/test_programs/execution_success/brillig_recursion/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_recursion/Prover.toml rename to test_programs/execution_success/brillig_recursion/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_recursion/src/main.nr b/test_programs/execution_success/brillig_recursion/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_recursion/src/main.nr rename to test_programs/execution_success/brillig_recursion/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_references/Nargo.toml b/test_programs/execution_success/brillig_references/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_references/Nargo.toml rename to test_programs/execution_success/brillig_references/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_references/Prover.toml b/test_programs/execution_success/brillig_references/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_references/Prover.toml rename to test_programs/execution_success/brillig_references/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_references/src/main.nr b/test_programs/execution_success/brillig_references/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_references/src/main.nr rename to test_programs/execution_success/brillig_references/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_scalar_mul/Nargo.toml b/test_programs/execution_success/brillig_scalar_mul/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_scalar_mul/Nargo.toml rename to test_programs/execution_success/brillig_scalar_mul/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_scalar_mul/Prover.toml b/test_programs/execution_success/brillig_scalar_mul/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_scalar_mul/Prover.toml rename to test_programs/execution_success/brillig_scalar_mul/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_scalar_mul/src/main.nr b/test_programs/execution_success/brillig_scalar_mul/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_scalar_mul/src/main.nr rename to test_programs/execution_success/brillig_scalar_mul/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_schnorr/Nargo.toml b/test_programs/execution_success/brillig_schnorr/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_schnorr/Nargo.toml rename to test_programs/execution_success/brillig_schnorr/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_schnorr/Prover.toml b/test_programs/execution_success/brillig_schnorr/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_schnorr/Prover.toml rename to test_programs/execution_success/brillig_schnorr/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_schnorr/src/main.nr b/test_programs/execution_success/brillig_schnorr/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_schnorr/src/main.nr rename to test_programs/execution_success/brillig_schnorr/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_sha256/Nargo.toml b/test_programs/execution_success/brillig_sha256/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_sha256/Nargo.toml rename to test_programs/execution_success/brillig_sha256/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_sha256/Prover.toml b/test_programs/execution_success/brillig_sha256/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_sha256/Prover.toml rename to test_programs/execution_success/brillig_sha256/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_sha256/src/main.nr b/test_programs/execution_success/brillig_sha256/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_sha256/src/main.nr rename to test_programs/execution_success/brillig_sha256/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_slices/Nargo.toml b/test_programs/execution_success/brillig_slices/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_slices/Nargo.toml rename to test_programs/execution_success/brillig_slices/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_slices/Prover.toml b/test_programs/execution_success/brillig_slices/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_slices/Prover.toml rename to test_programs/execution_success/brillig_slices/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_slices/src/main.nr b/test_programs/execution_success/brillig_slices/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_slices/src/main.nr rename to test_programs/execution_success/brillig_slices/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_to_be_bytes/Nargo.toml b/test_programs/execution_success/brillig_to_be_bytes/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_to_be_bytes/Nargo.toml rename to test_programs/execution_success/brillig_to_be_bytes/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_to_be_bytes/Prover.toml b/test_programs/execution_success/brillig_to_be_bytes/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_to_be_bytes/Prover.toml rename to test_programs/execution_success/brillig_to_be_bytes/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_to_be_bytes/src/main.nr b/test_programs/execution_success/brillig_to_be_bytes/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_to_be_bytes/src/main.nr rename to test_programs/execution_success/brillig_to_be_bytes/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_to_bytes_integration/Nargo.toml b/test_programs/execution_success/brillig_to_bytes_integration/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_to_bytes_integration/Nargo.toml rename to test_programs/execution_success/brillig_to_bytes_integration/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_to_bytes_integration/Prover.toml b/test_programs/execution_success/brillig_to_bytes_integration/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_to_bytes_integration/Prover.toml rename to test_programs/execution_success/brillig_to_bytes_integration/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_to_bytes_integration/src/main.nr b/test_programs/execution_success/brillig_to_bytes_integration/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_to_bytes_integration/src/main.nr rename to test_programs/execution_success/brillig_to_bytes_integration/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_to_le_bytes/Nargo.toml b/test_programs/execution_success/brillig_to_le_bytes/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_to_le_bytes/Nargo.toml rename to test_programs/execution_success/brillig_to_le_bytes/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_to_le_bytes/Prover.toml b/test_programs/execution_success/brillig_to_le_bytes/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_to_le_bytes/Prover.toml rename to test_programs/execution_success/brillig_to_le_bytes/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_to_le_bytes/src/main.nr b/test_programs/execution_success/brillig_to_le_bytes/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_to_le_bytes/src/main.nr rename to test_programs/execution_success/brillig_to_le_bytes/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_top_level/Nargo.toml b/test_programs/execution_success/brillig_top_level/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_top_level/Nargo.toml rename to test_programs/execution_success/brillig_top_level/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_top_level/Prover.toml b/test_programs/execution_success/brillig_top_level/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_top_level/Prover.toml rename to test_programs/execution_success/brillig_top_level/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_top_level/src/main.nr b/test_programs/execution_success/brillig_top_level/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_top_level/src/main.nr rename to test_programs/execution_success/brillig_top_level/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/brillig_unitialised_arrays/Nargo.toml b/test_programs/execution_success/brillig_unitialised_arrays/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_unitialised_arrays/Nargo.toml rename to test_programs/execution_success/brillig_unitialised_arrays/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_unitialised_arrays/Prover.toml b/test_programs/execution_success/brillig_unitialised_arrays/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_unitialised_arrays/Prover.toml rename to test_programs/execution_success/brillig_unitialised_arrays/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/brillig_unitialised_arrays/src/main.nr b/test_programs/execution_success/brillig_unitialised_arrays/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/brillig_unitialised_arrays/src/main.nr rename to test_programs/execution_success/brillig_unitialised_arrays/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/cast_bool/Nargo.toml b/test_programs/execution_success/cast_bool/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/cast_bool/Nargo.toml rename to test_programs/execution_success/cast_bool/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/cast_bool/Prover.toml b/test_programs/execution_success/cast_bool/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/cast_bool/Prover.toml rename to test_programs/execution_success/cast_bool/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/cast_bool/src/main.nr b/test_programs/execution_success/cast_bool/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/cast_bool/src/main.nr rename to test_programs/execution_success/cast_bool/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/closures_mut_ref/Nargo.toml b/test_programs/execution_success/closures_mut_ref/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/closures_mut_ref/Nargo.toml rename to test_programs/execution_success/closures_mut_ref/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/closures_mut_ref/Prover.toml b/test_programs/execution_success/closures_mut_ref/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/closures_mut_ref/Prover.toml rename to test_programs/execution_success/closures_mut_ref/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/closures_mut_ref/src/main.nr b/test_programs/execution_success/closures_mut_ref/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/closures_mut_ref/src/main.nr rename to test_programs/execution_success/closures_mut_ref/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/conditional_1/Nargo.toml b/test_programs/execution_success/conditional_1/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_1/Nargo.toml rename to test_programs/execution_success/conditional_1/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/conditional_1/Prover.toml b/test_programs/execution_success/conditional_1/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_1/Prover.toml rename to test_programs/execution_success/conditional_1/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/conditional_1/src/main.nr b/test_programs/execution_success/conditional_1/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_1/src/main.nr rename to test_programs/execution_success/conditional_1/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/conditional_2/Nargo.toml b/test_programs/execution_success/conditional_2/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_2/Nargo.toml rename to test_programs/execution_success/conditional_2/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/conditional_2/Prover.toml b/test_programs/execution_success/conditional_2/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_2/Prover.toml rename to test_programs/execution_success/conditional_2/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/conditional_2/src/main.nr b/test_programs/execution_success/conditional_2/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_2/src/main.nr rename to test_programs/execution_success/conditional_2/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/conditional_regression_421/Nargo.toml b/test_programs/execution_success/conditional_regression_421/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_regression_421/Nargo.toml rename to test_programs/execution_success/conditional_regression_421/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/conditional_regression_421/Prover.toml b/test_programs/execution_success/conditional_regression_421/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_regression_421/Prover.toml rename to test_programs/execution_success/conditional_regression_421/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/conditional_regression_421/src/main.nr b/test_programs/execution_success/conditional_regression_421/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_regression_421/src/main.nr rename to test_programs/execution_success/conditional_regression_421/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/conditional_regression_661/Nargo.toml b/test_programs/execution_success/conditional_regression_661/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_regression_661/Nargo.toml rename to test_programs/execution_success/conditional_regression_661/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/conditional_regression_661/Prover.toml b/test_programs/execution_success/conditional_regression_661/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_regression_661/Prover.toml rename to test_programs/execution_success/conditional_regression_661/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/conditional_regression_661/src/main.nr b/test_programs/execution_success/conditional_regression_661/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_regression_661/src/main.nr rename to test_programs/execution_success/conditional_regression_661/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/conditional_regression_short_circuit/Nargo.toml b/test_programs/execution_success/conditional_regression_short_circuit/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_regression_short_circuit/Nargo.toml rename to test_programs/execution_success/conditional_regression_short_circuit/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/conditional_regression_short_circuit/Prover.toml b/test_programs/execution_success/conditional_regression_short_circuit/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_regression_short_circuit/Prover.toml rename to test_programs/execution_success/conditional_regression_short_circuit/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/conditional_regression_short_circuit/src/main.nr b/test_programs/execution_success/conditional_regression_short_circuit/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_regression_short_circuit/src/main.nr rename to test_programs/execution_success/conditional_regression_short_circuit/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/conditional_regression_underflow/Nargo.toml b/test_programs/execution_success/conditional_regression_underflow/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_regression_underflow/Nargo.toml rename to test_programs/execution_success/conditional_regression_underflow/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/conditional_regression_underflow/Prover.toml b/test_programs/execution_success/conditional_regression_underflow/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_regression_underflow/Prover.toml rename to test_programs/execution_success/conditional_regression_underflow/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/conditional_regression_underflow/src/main.nr b/test_programs/execution_success/conditional_regression_underflow/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/conditional_regression_underflow/src/main.nr rename to test_programs/execution_success/conditional_regression_underflow/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/custom_entry/Nargo.toml b/test_programs/execution_success/custom_entry/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/custom_entry/Nargo.toml rename to test_programs/execution_success/custom_entry/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/custom_entry/Prover.toml b/test_programs/execution_success/custom_entry/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/custom_entry/Prover.toml rename to test_programs/execution_success/custom_entry/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/custom_entry/src/foobarbaz.nr b/test_programs/execution_success/custom_entry/src/foobarbaz.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/custom_entry/src/foobarbaz.nr rename to test_programs/execution_success/custom_entry/src/foobarbaz.nr diff --git a/tooling/nargo_cli/tests/execution_success/debug_logs/Nargo.toml b/test_programs/execution_success/debug_logs/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/debug_logs/Nargo.toml rename to test_programs/execution_success/debug_logs/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/debug_logs/Prover.toml b/test_programs/execution_success/debug_logs/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/debug_logs/Prover.toml rename to test_programs/execution_success/debug_logs/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/debug_logs/src/main.nr b/test_programs/execution_success/debug_logs/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/debug_logs/src/main.nr rename to test_programs/execution_success/debug_logs/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/diamond_deps_0/Nargo.toml b/test_programs/execution_success/diamond_deps_0/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/diamond_deps_0/Nargo.toml rename to test_programs/execution_success/diamond_deps_0/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/diamond_deps_0/Prover.toml b/test_programs/execution_success/diamond_deps_0/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/diamond_deps_0/Prover.toml rename to test_programs/execution_success/diamond_deps_0/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/diamond_deps_0/src/main.nr b/test_programs/execution_success/diamond_deps_0/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/diamond_deps_0/src/main.nr rename to test_programs/execution_success/diamond_deps_0/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/distinct_keyword/Nargo.toml b/test_programs/execution_success/distinct_keyword/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/distinct_keyword/Nargo.toml rename to test_programs/execution_success/distinct_keyword/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/distinct_keyword/Prover.toml b/test_programs/execution_success/distinct_keyword/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/distinct_keyword/Prover.toml rename to test_programs/execution_success/distinct_keyword/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/distinct_keyword/src/main.nr b/test_programs/execution_success/distinct_keyword/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/distinct_keyword/src/main.nr rename to test_programs/execution_success/distinct_keyword/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/double_verify_proof/Nargo.toml b/test_programs/execution_success/double_verify_proof/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/double_verify_proof/Nargo.toml rename to test_programs/execution_success/double_verify_proof/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/double_verify_proof/Prover.toml b/test_programs/execution_success/double_verify_proof/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/double_verify_proof/Prover.toml rename to test_programs/execution_success/double_verify_proof/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/double_verify_proof/src/main.nr b/test_programs/execution_success/double_verify_proof/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/double_verify_proof/src/main.nr rename to test_programs/execution_success/double_verify_proof/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/ecdsa_secp256k1/Nargo.toml b/test_programs/execution_success/ecdsa_secp256k1/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/ecdsa_secp256k1/Nargo.toml rename to test_programs/execution_success/ecdsa_secp256k1/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/ecdsa_secp256k1/Prover.toml b/test_programs/execution_success/ecdsa_secp256k1/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/ecdsa_secp256k1/Prover.toml rename to test_programs/execution_success/ecdsa_secp256k1/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/ecdsa_secp256k1/src/main.nr b/test_programs/execution_success/ecdsa_secp256k1/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/ecdsa_secp256k1/src/main.nr rename to test_programs/execution_success/ecdsa_secp256k1/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/ecdsa_secp256r1/Nargo.toml b/test_programs/execution_success/ecdsa_secp256r1/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/ecdsa_secp256r1/Nargo.toml rename to test_programs/execution_success/ecdsa_secp256r1/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/ecdsa_secp256r1/Prover.toml b/test_programs/execution_success/ecdsa_secp256r1/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/ecdsa_secp256r1/Prover.toml rename to test_programs/execution_success/ecdsa_secp256r1/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/ecdsa_secp256r1/src/main.nr b/test_programs/execution_success/ecdsa_secp256r1/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/ecdsa_secp256r1/src/main.nr rename to test_programs/execution_success/ecdsa_secp256r1/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/eddsa/Nargo.toml b/test_programs/execution_success/eddsa/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/eddsa/Nargo.toml rename to test_programs/execution_success/eddsa/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/eddsa/Prover.toml b/test_programs/execution_success/eddsa/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/eddsa/Prover.toml rename to test_programs/execution_success/eddsa/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/eddsa/src/main.nr b/test_programs/execution_success/eddsa/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/eddsa/src/main.nr rename to test_programs/execution_success/eddsa/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/field_attribute/Nargo.toml b/test_programs/execution_success/field_attribute/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/field_attribute/Nargo.toml rename to test_programs/execution_success/field_attribute/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/field_attribute/Prover.toml b/test_programs/execution_success/field_attribute/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/field_attribute/Prover.toml rename to test_programs/execution_success/field_attribute/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/field_attribute/src/main.nr b/test_programs/execution_success/field_attribute/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/field_attribute/src/main.nr rename to test_programs/execution_success/field_attribute/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/generics/Nargo.toml b/test_programs/execution_success/generics/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/generics/Nargo.toml rename to test_programs/execution_success/generics/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/generics/Prover.toml b/test_programs/execution_success/generics/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/generics/Prover.toml rename to test_programs/execution_success/generics/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/generics/src/main.nr b/test_programs/execution_success/generics/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/generics/src/main.nr rename to test_programs/execution_success/generics/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/global_consts/Nargo.toml b/test_programs/execution_success/global_consts/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/global_consts/Nargo.toml rename to test_programs/execution_success/global_consts/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/global_consts/Prover.toml b/test_programs/execution_success/global_consts/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/global_consts/Prover.toml rename to test_programs/execution_success/global_consts/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/global_consts/src/baz.nr b/test_programs/execution_success/global_consts/src/baz.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/global_consts/src/baz.nr rename to test_programs/execution_success/global_consts/src/baz.nr diff --git a/tooling/nargo_cli/tests/execution_success/global_consts/src/foo.nr b/test_programs/execution_success/global_consts/src/foo.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/global_consts/src/foo.nr rename to test_programs/execution_success/global_consts/src/foo.nr diff --git a/tooling/nargo_cli/tests/execution_success/global_consts/src/foo/bar.nr b/test_programs/execution_success/global_consts/src/foo/bar.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/global_consts/src/foo/bar.nr rename to test_programs/execution_success/global_consts/src/foo/bar.nr diff --git a/tooling/nargo_cli/tests/execution_success/global_consts/src/main.nr b/test_programs/execution_success/global_consts/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/global_consts/src/main.nr rename to test_programs/execution_success/global_consts/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/hash_to_field/Nargo.toml b/test_programs/execution_success/hash_to_field/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/hash_to_field/Nargo.toml rename to test_programs/execution_success/hash_to_field/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/hash_to_field/Prover.toml b/test_programs/execution_success/hash_to_field/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/hash_to_field/Prover.toml rename to test_programs/execution_success/hash_to_field/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/hash_to_field/src/main.nr b/test_programs/execution_success/hash_to_field/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/hash_to_field/src/main.nr rename to test_programs/execution_success/hash_to_field/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/higher_order_functions/Nargo.toml b/test_programs/execution_success/higher_order_functions/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/higher_order_functions/Nargo.toml rename to test_programs/execution_success/higher_order_functions/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/higher_order_functions/Prover.toml b/test_programs/execution_success/higher_order_functions/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/higher_order_functions/Prover.toml rename to test_programs/execution_success/higher_order_functions/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/higher_order_functions/src/main.nr b/test_programs/execution_success/higher_order_functions/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/higher_order_functions/src/main.nr rename to test_programs/execution_success/higher_order_functions/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/if_else_chain/Nargo.toml b/test_programs/execution_success/if_else_chain/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/if_else_chain/Nargo.toml rename to test_programs/execution_success/if_else_chain/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/if_else_chain/Prover.toml b/test_programs/execution_success/if_else_chain/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/if_else_chain/Prover.toml rename to test_programs/execution_success/if_else_chain/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/if_else_chain/src/main.nr b/test_programs/execution_success/if_else_chain/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/if_else_chain/src/main.nr rename to test_programs/execution_success/if_else_chain/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/import/Nargo.toml b/test_programs/execution_success/import/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/import/Nargo.toml rename to test_programs/execution_success/import/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/import/Prover.toml b/test_programs/execution_success/import/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/import/Prover.toml rename to test_programs/execution_success/import/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/import/src/import.nr b/test_programs/execution_success/import/src/import.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/import/src/import.nr rename to test_programs/execution_success/import/src/import.nr diff --git a/tooling/nargo_cli/tests/execution_success/import/src/main.nr b/test_programs/execution_success/import/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/import/src/main.nr rename to test_programs/execution_success/import/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/integer_array_indexing/Nargo.toml b/test_programs/execution_success/integer_array_indexing/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/integer_array_indexing/Nargo.toml rename to test_programs/execution_success/integer_array_indexing/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/integer_array_indexing/Prover.toml b/test_programs/execution_success/integer_array_indexing/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/integer_array_indexing/Prover.toml rename to test_programs/execution_success/integer_array_indexing/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/integer_array_indexing/src/main.nr b/test_programs/execution_success/integer_array_indexing/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/integer_array_indexing/src/main.nr rename to test_programs/execution_success/integer_array_indexing/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/keccak256/Nargo.toml b/test_programs/execution_success/keccak256/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/keccak256/Nargo.toml rename to test_programs/execution_success/keccak256/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/keccak256/Prover.toml b/test_programs/execution_success/keccak256/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/keccak256/Prover.toml rename to test_programs/execution_success/keccak256/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/keccak256/src/main.nr b/test_programs/execution_success/keccak256/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/keccak256/src/main.nr rename to test_programs/execution_success/keccak256/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/main_bool_arg/Nargo.toml b/test_programs/execution_success/main_bool_arg/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/main_bool_arg/Nargo.toml rename to test_programs/execution_success/main_bool_arg/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/main_bool_arg/Prover.toml b/test_programs/execution_success/main_bool_arg/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/main_bool_arg/Prover.toml rename to test_programs/execution_success/main_bool_arg/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/main_bool_arg/src/main.nr b/test_programs/execution_success/main_bool_arg/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/main_bool_arg/src/main.nr rename to test_programs/execution_success/main_bool_arg/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/merkle_insert/Nargo.toml b/test_programs/execution_success/merkle_insert/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/merkle_insert/Nargo.toml rename to test_programs/execution_success/merkle_insert/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/merkle_insert/Prover.toml b/test_programs/execution_success/merkle_insert/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/merkle_insert/Prover.toml rename to test_programs/execution_success/merkle_insert/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/merkle_insert/src/main.nr b/test_programs/execution_success/merkle_insert/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/merkle_insert/src/main.nr rename to test_programs/execution_success/merkle_insert/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/mock_oracle/Nargo.toml b/test_programs/execution_success/mock_oracle/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/mock_oracle/Nargo.toml rename to test_programs/execution_success/mock_oracle/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/mock_oracle/Prover.toml b/test_programs/execution_success/mock_oracle/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/mock_oracle/Prover.toml rename to test_programs/execution_success/mock_oracle/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/mock_oracle/src/main.nr b/test_programs/execution_success/mock_oracle/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/mock_oracle/src/main.nr rename to test_programs/execution_success/mock_oracle/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/modules/Nargo.toml b/test_programs/execution_success/modules/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/modules/Nargo.toml rename to test_programs/execution_success/modules/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/modules/Prover.toml b/test_programs/execution_success/modules/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/modules/Prover.toml rename to test_programs/execution_success/modules/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/modules/src/foo.nr b/test_programs/execution_success/modules/src/foo.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/modules/src/foo.nr rename to test_programs/execution_success/modules/src/foo.nr diff --git a/tooling/nargo_cli/tests/execution_success/modules/src/main.nr b/test_programs/execution_success/modules/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/modules/src/main.nr rename to test_programs/execution_success/modules/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/modules_more/Nargo.toml b/test_programs/execution_success/modules_more/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/modules_more/Nargo.toml rename to test_programs/execution_success/modules_more/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/modules_more/Prover.toml b/test_programs/execution_success/modules_more/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/modules_more/Prover.toml rename to test_programs/execution_success/modules_more/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/modules_more/src/foo.nr b/test_programs/execution_success/modules_more/src/foo.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/modules_more/src/foo.nr rename to test_programs/execution_success/modules_more/src/foo.nr diff --git a/tooling/nargo_cli/tests/execution_success/modules_more/src/foo/bar.nr b/test_programs/execution_success/modules_more/src/foo/bar.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/modules_more/src/foo/bar.nr rename to test_programs/execution_success/modules_more/src/foo/bar.nr diff --git a/tooling/nargo_cli/tests/execution_success/modules_more/src/main.nr b/test_programs/execution_success/modules_more/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/modules_more/src/main.nr rename to test_programs/execution_success/modules_more/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/modulus/Nargo.toml b/test_programs/execution_success/modulus/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/modulus/Nargo.toml rename to test_programs/execution_success/modulus/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/modulus/Prover.toml b/test_programs/execution_success/modulus/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/modulus/Prover.toml rename to test_programs/execution_success/modulus/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/modulus/src/main.nr b/test_programs/execution_success/modulus/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/modulus/src/main.nr rename to test_programs/execution_success/modulus/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/nested_array_dynamic/Nargo.toml b/test_programs/execution_success/nested_array_dynamic/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/nested_array_dynamic/Nargo.toml rename to test_programs/execution_success/nested_array_dynamic/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/nested_array_dynamic/Prover.toml b/test_programs/execution_success/nested_array_dynamic/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/nested_array_dynamic/Prover.toml rename to test_programs/execution_success/nested_array_dynamic/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/nested_array_dynamic/src/main.nr b/test_programs/execution_success/nested_array_dynamic/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/nested_array_dynamic/src/main.nr rename to test_programs/execution_success/nested_array_dynamic/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/nested_arrays_from_brillig/Nargo.toml b/test_programs/execution_success/nested_arrays_from_brillig/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/nested_arrays_from_brillig/Nargo.toml rename to test_programs/execution_success/nested_arrays_from_brillig/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/nested_arrays_from_brillig/Prover.toml b/test_programs/execution_success/nested_arrays_from_brillig/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/nested_arrays_from_brillig/Prover.toml rename to test_programs/execution_success/nested_arrays_from_brillig/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/nested_arrays_from_brillig/src/main.nr b/test_programs/execution_success/nested_arrays_from_brillig/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/nested_arrays_from_brillig/src/main.nr rename to test_programs/execution_success/nested_arrays_from_brillig/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/nested_slice_dynamic/Nargo.toml b/test_programs/execution_success/nested_slice_dynamic/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/nested_slice_dynamic/Nargo.toml rename to test_programs/execution_success/nested_slice_dynamic/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/nested_slice_dynamic/Prover.toml b/test_programs/execution_success/nested_slice_dynamic/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/nested_slice_dynamic/Prover.toml rename to test_programs/execution_success/nested_slice_dynamic/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/nested_slice_dynamic/src/main.nr b/test_programs/execution_success/nested_slice_dynamic/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/nested_slice_dynamic/src/main.nr rename to test_programs/execution_success/nested_slice_dynamic/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/pedersen_check/Nargo.toml b/test_programs/execution_success/pedersen_check/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/pedersen_check/Nargo.toml rename to test_programs/execution_success/pedersen_check/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/pedersen_check/Prover.toml b/test_programs/execution_success/pedersen_check/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/pedersen_check/Prover.toml rename to test_programs/execution_success/pedersen_check/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/pedersen_check/src/main.nr b/test_programs/execution_success/pedersen_check/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/pedersen_check/src/main.nr rename to test_programs/execution_success/pedersen_check/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/poseidon_bn254_hash/Nargo.toml b/test_programs/execution_success/poseidon_bn254_hash/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/poseidon_bn254_hash/Nargo.toml rename to test_programs/execution_success/poseidon_bn254_hash/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/poseidon_bn254_hash/Prover.toml b/test_programs/execution_success/poseidon_bn254_hash/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/poseidon_bn254_hash/Prover.toml rename to test_programs/execution_success/poseidon_bn254_hash/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/poseidon_bn254_hash/src/main.nr b/test_programs/execution_success/poseidon_bn254_hash/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/poseidon_bn254_hash/src/main.nr rename to test_programs/execution_success/poseidon_bn254_hash/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/poseidonsponge_x5_254/Nargo.toml b/test_programs/execution_success/poseidonsponge_x5_254/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/poseidonsponge_x5_254/Nargo.toml rename to test_programs/execution_success/poseidonsponge_x5_254/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/poseidonsponge_x5_254/Prover.toml b/test_programs/execution_success/poseidonsponge_x5_254/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/poseidonsponge_x5_254/Prover.toml rename to test_programs/execution_success/poseidonsponge_x5_254/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/poseidonsponge_x5_254/src/main.nr b/test_programs/execution_success/poseidonsponge_x5_254/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/poseidonsponge_x5_254/src/main.nr rename to test_programs/execution_success/poseidonsponge_x5_254/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/pred_eq/Nargo.toml b/test_programs/execution_success/pred_eq/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/pred_eq/Nargo.toml rename to test_programs/execution_success/pred_eq/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/pred_eq/Prover.toml b/test_programs/execution_success/pred_eq/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/pred_eq/Prover.toml rename to test_programs/execution_success/pred_eq/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/pred_eq/src/main.nr b/test_programs/execution_success/pred_eq/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/pred_eq/src/main.nr rename to test_programs/execution_success/pred_eq/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/references/Nargo.toml b/test_programs/execution_success/references/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/references/Nargo.toml rename to test_programs/execution_success/references/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/references/Prover.toml b/test_programs/execution_success/references/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/references/Prover.toml rename to test_programs/execution_success/references/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/references/src/main.nr b/test_programs/execution_success/references/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/references/src/main.nr rename to test_programs/execution_success/references/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/regression/Nargo.toml b/test_programs/execution_success/regression/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/regression/Nargo.toml rename to test_programs/execution_success/regression/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/regression/Prover.toml b/test_programs/execution_success/regression/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/regression/Prover.toml rename to test_programs/execution_success/regression/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/regression/src/main.nr b/test_programs/execution_success/regression/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/regression/src/main.nr rename to test_programs/execution_success/regression/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/regression_2854/Nargo.toml b/test_programs/execution_success/regression_2854/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/regression_2854/Nargo.toml rename to test_programs/execution_success/regression_2854/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/regression_2854/Prover.toml b/test_programs/execution_success/regression_2854/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/regression_2854/Prover.toml rename to test_programs/execution_success/regression_2854/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/regression_2854/src/main.nr b/test_programs/execution_success/regression_2854/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/regression_2854/src/main.nr rename to test_programs/execution_success/regression_2854/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/regression_mem_op_predicate/Nargo.toml b/test_programs/execution_success/regression_mem_op_predicate/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/regression_mem_op_predicate/Nargo.toml rename to test_programs/execution_success/regression_mem_op_predicate/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/regression_mem_op_predicate/Prover.toml b/test_programs/execution_success/regression_mem_op_predicate/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/regression_mem_op_predicate/Prover.toml rename to test_programs/execution_success/regression_mem_op_predicate/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/regression_mem_op_predicate/src/main.nr b/test_programs/execution_success/regression_mem_op_predicate/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/regression_mem_op_predicate/src/main.nr rename to test_programs/execution_success/regression_mem_op_predicate/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/regression_method_cannot_be_found/Nargo.toml b/test_programs/execution_success/regression_method_cannot_be_found/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/regression_method_cannot_be_found/Nargo.toml rename to test_programs/execution_success/regression_method_cannot_be_found/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/regression_method_cannot_be_found/Prover.toml b/test_programs/execution_success/regression_method_cannot_be_found/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/regression_method_cannot_be_found/Prover.toml rename to test_programs/execution_success/regression_method_cannot_be_found/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/regression_method_cannot_be_found/src/main.nr b/test_programs/execution_success/regression_method_cannot_be_found/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/regression_method_cannot_be_found/src/main.nr rename to test_programs/execution_success/regression_method_cannot_be_found/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/scalar_mul/Nargo.toml b/test_programs/execution_success/scalar_mul/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/scalar_mul/Nargo.toml rename to test_programs/execution_success/scalar_mul/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/scalar_mul/Prover.toml b/test_programs/execution_success/scalar_mul/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/scalar_mul/Prover.toml rename to test_programs/execution_success/scalar_mul/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/scalar_mul/src/main.nr b/test_programs/execution_success/scalar_mul/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/scalar_mul/src/main.nr rename to test_programs/execution_success/scalar_mul/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/schnorr/Nargo.toml b/test_programs/execution_success/schnorr/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/schnorr/Nargo.toml rename to test_programs/execution_success/schnorr/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/schnorr/Prover.toml b/test_programs/execution_success/schnorr/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/schnorr/Prover.toml rename to test_programs/execution_success/schnorr/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/schnorr/src/main.nr b/test_programs/execution_success/schnorr/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/schnorr/src/main.nr rename to test_programs/execution_success/schnorr/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/sha256/Nargo.toml b/test_programs/execution_success/sha256/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/sha256/Nargo.toml rename to test_programs/execution_success/sha256/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/sha256/Prover.toml b/test_programs/execution_success/sha256/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/sha256/Prover.toml rename to test_programs/execution_success/sha256/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/sha256/src/main.nr b/test_programs/execution_success/sha256/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/sha256/src/main.nr rename to test_programs/execution_success/sha256/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/sha2_byte/Nargo.toml b/test_programs/execution_success/sha2_byte/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/sha2_byte/Nargo.toml rename to test_programs/execution_success/sha2_byte/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/sha2_byte/Prover.toml b/test_programs/execution_success/sha2_byte/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/sha2_byte/Prover.toml rename to test_programs/execution_success/sha2_byte/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/sha2_byte/src/main.nr b/test_programs/execution_success/sha2_byte/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/sha2_byte/src/main.nr rename to test_programs/execution_success/sha2_byte/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/signed_arithmetic/Nargo.toml b/test_programs/execution_success/signed_arithmetic/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/signed_arithmetic/Nargo.toml rename to test_programs/execution_success/signed_arithmetic/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/signed_arithmetic/Prover.toml b/test_programs/execution_success/signed_arithmetic/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/signed_arithmetic/Prover.toml rename to test_programs/execution_success/signed_arithmetic/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/signed_arithmetic/src/main.nr b/test_programs/execution_success/signed_arithmetic/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/signed_arithmetic/src/main.nr rename to test_programs/execution_success/signed_arithmetic/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/signed_division/Nargo.toml b/test_programs/execution_success/signed_division/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/signed_division/Nargo.toml rename to test_programs/execution_success/signed_division/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/signed_division/Prover.toml b/test_programs/execution_success/signed_division/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/signed_division/Prover.toml rename to test_programs/execution_success/signed_division/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/signed_division/src/main.nr b/test_programs/execution_success/signed_division/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/signed_division/src/main.nr rename to test_programs/execution_success/signed_division/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/simple_2d_array/Nargo.toml b/test_programs/execution_success/simple_2d_array/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_2d_array/Nargo.toml rename to test_programs/execution_success/simple_2d_array/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_2d_array/Prover.toml b/test_programs/execution_success/simple_2d_array/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_2d_array/Prover.toml rename to test_programs/execution_success/simple_2d_array/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_2d_array/src/main.nr b/test_programs/execution_success/simple_2d_array/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_2d_array/src/main.nr rename to test_programs/execution_success/simple_2d_array/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/simple_add_and_ret_arr/Nargo.toml b/test_programs/execution_success/simple_add_and_ret_arr/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_add_and_ret_arr/Nargo.toml rename to test_programs/execution_success/simple_add_and_ret_arr/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_add_and_ret_arr/Prover.toml b/test_programs/execution_success/simple_add_and_ret_arr/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_add_and_ret_arr/Prover.toml rename to test_programs/execution_success/simple_add_and_ret_arr/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_add_and_ret_arr/src/main.nr b/test_programs/execution_success/simple_add_and_ret_arr/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_add_and_ret_arr/src/main.nr rename to test_programs/execution_success/simple_add_and_ret_arr/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/simple_bitwise/Nargo.toml b/test_programs/execution_success/simple_bitwise/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_bitwise/Nargo.toml rename to test_programs/execution_success/simple_bitwise/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_bitwise/Prover.toml b/test_programs/execution_success/simple_bitwise/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_bitwise/Prover.toml rename to test_programs/execution_success/simple_bitwise/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_bitwise/src/main.nr b/test_programs/execution_success/simple_bitwise/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_bitwise/src/main.nr rename to test_programs/execution_success/simple_bitwise/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/simple_comparison/Nargo.toml b/test_programs/execution_success/simple_comparison/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_comparison/Nargo.toml rename to test_programs/execution_success/simple_comparison/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_comparison/Prover.toml b/test_programs/execution_success/simple_comparison/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_comparison/Prover.toml rename to test_programs/execution_success/simple_comparison/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_comparison/src/main.nr b/test_programs/execution_success/simple_comparison/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_comparison/src/main.nr rename to test_programs/execution_success/simple_comparison/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/simple_mut/Nargo.toml b/test_programs/execution_success/simple_mut/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_mut/Nargo.toml rename to test_programs/execution_success/simple_mut/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_mut/Prover.toml b/test_programs/execution_success/simple_mut/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_mut/Prover.toml rename to test_programs/execution_success/simple_mut/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_mut/src/main.nr b/test_programs/execution_success/simple_mut/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_mut/src/main.nr rename to test_programs/execution_success/simple_mut/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/simple_not/Nargo.toml b/test_programs/execution_success/simple_not/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_not/Nargo.toml rename to test_programs/execution_success/simple_not/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_not/Prover.toml b/test_programs/execution_success/simple_not/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_not/Prover.toml rename to test_programs/execution_success/simple_not/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_not/src/main.nr b/test_programs/execution_success/simple_not/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_not/src/main.nr rename to test_programs/execution_success/simple_not/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/simple_print/Nargo.toml b/test_programs/execution_success/simple_print/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_print/Nargo.toml rename to test_programs/execution_success/simple_print/Nargo.toml diff --git a/tooling/nargo_cli/tests/compile_failure/orphaned_trait_impl/Prover.toml b/test_programs/execution_success/simple_print/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/orphaned_trait_impl/Prover.toml rename to test_programs/execution_success/simple_print/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_print/src/main.nr b/test_programs/execution_success/simple_print/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_print/src/main.nr rename to test_programs/execution_success/simple_print/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/simple_program_addition/Nargo.toml b/test_programs/execution_success/simple_program_addition/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_program_addition/Nargo.toml rename to test_programs/execution_success/simple_program_addition/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_program_addition/Prover.toml b/test_programs/execution_success/simple_program_addition/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_program_addition/Prover.toml rename to test_programs/execution_success/simple_program_addition/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_program_addition/src/main.nr b/test_programs/execution_success/simple_program_addition/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_program_addition/src/main.nr rename to test_programs/execution_success/simple_program_addition/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/simple_radix/Nargo.toml b/test_programs/execution_success/simple_radix/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_radix/Nargo.toml rename to test_programs/execution_success/simple_radix/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_radix/Prover.toml b/test_programs/execution_success/simple_radix/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_radix/Prover.toml rename to test_programs/execution_success/simple_radix/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_radix/src/main.nr b/test_programs/execution_success/simple_radix/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_radix/src/main.nr rename to test_programs/execution_success/simple_radix/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/simple_shield/Nargo.toml b/test_programs/execution_success/simple_shield/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_shield/Nargo.toml rename to test_programs/execution_success/simple_shield/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_shield/Prover.toml b/test_programs/execution_success/simple_shield/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_shield/Prover.toml rename to test_programs/execution_success/simple_shield/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_shield/src/main.nr b/test_programs/execution_success/simple_shield/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_shield/src/main.nr rename to test_programs/execution_success/simple_shield/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/simple_shift_left_right/Nargo.toml b/test_programs/execution_success/simple_shift_left_right/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_shift_left_right/Nargo.toml rename to test_programs/execution_success/simple_shift_left_right/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_shift_left_right/Prover.toml b/test_programs/execution_success/simple_shift_left_right/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_shift_left_right/Prover.toml rename to test_programs/execution_success/simple_shift_left_right/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/simple_shift_left_right/src/main.nr b/test_programs/execution_success/simple_shift_left_right/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/simple_shift_left_right/src/main.nr rename to test_programs/execution_success/simple_shift_left_right/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/slice_dynamic_index/Nargo.toml b/test_programs/execution_success/slice_dynamic_index/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/slice_dynamic_index/Nargo.toml rename to test_programs/execution_success/slice_dynamic_index/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/slice_dynamic_index/Prover.toml b/test_programs/execution_success/slice_dynamic_index/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/slice_dynamic_index/Prover.toml rename to test_programs/execution_success/slice_dynamic_index/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/slice_dynamic_index/src/main.nr b/test_programs/execution_success/slice_dynamic_index/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/slice_dynamic_index/src/main.nr rename to test_programs/execution_success/slice_dynamic_index/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/slice_struct_field/Nargo.toml b/test_programs/execution_success/slice_struct_field/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/slice_struct_field/Nargo.toml rename to test_programs/execution_success/slice_struct_field/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/slice_struct_field/Prover.toml b/test_programs/execution_success/slice_struct_field/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/slice_struct_field/Prover.toml rename to test_programs/execution_success/slice_struct_field/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/slice_struct_field/src/main.nr b/test_programs/execution_success/slice_struct_field/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/slice_struct_field/src/main.nr rename to test_programs/execution_success/slice_struct_field/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/slices/Nargo.toml b/test_programs/execution_success/slices/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/slices/Nargo.toml rename to test_programs/execution_success/slices/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/slices/Prover.toml b/test_programs/execution_success/slices/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/slices/Prover.toml rename to test_programs/execution_success/slices/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/slices/src/main.nr b/test_programs/execution_success/slices/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/slices/src/main.nr rename to test_programs/execution_success/slices/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/strings/Nargo.toml b/test_programs/execution_success/strings/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/strings/Nargo.toml rename to test_programs/execution_success/strings/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/strings/Prover.toml b/test_programs/execution_success/strings/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/strings/Prover.toml rename to test_programs/execution_success/strings/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/strings/src/main.nr b/test_programs/execution_success/strings/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/strings/src/main.nr rename to test_programs/execution_success/strings/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/struct/Nargo.toml b/test_programs/execution_success/struct/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/struct/Nargo.toml rename to test_programs/execution_success/struct/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/struct/Prover.toml b/test_programs/execution_success/struct/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/struct/Prover.toml rename to test_programs/execution_success/struct/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/struct/src/main.nr b/test_programs/execution_success/struct/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/struct/src/main.nr rename to test_programs/execution_success/struct/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/struct_array_inputs/Nargo.toml b/test_programs/execution_success/struct_array_inputs/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/struct_array_inputs/Nargo.toml rename to test_programs/execution_success/struct_array_inputs/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/struct_array_inputs/Prover.toml b/test_programs/execution_success/struct_array_inputs/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/struct_array_inputs/Prover.toml rename to test_programs/execution_success/struct_array_inputs/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/struct_array_inputs/src/main.nr b/test_programs/execution_success/struct_array_inputs/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/struct_array_inputs/src/main.nr rename to test_programs/execution_success/struct_array_inputs/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/struct_fields_ordering/Nargo.toml b/test_programs/execution_success/struct_fields_ordering/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/struct_fields_ordering/Nargo.toml rename to test_programs/execution_success/struct_fields_ordering/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/struct_fields_ordering/Prover.toml b/test_programs/execution_success/struct_fields_ordering/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/struct_fields_ordering/Prover.toml rename to test_programs/execution_success/struct_fields_ordering/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/struct_fields_ordering/src/main.nr b/test_programs/execution_success/struct_fields_ordering/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/struct_fields_ordering/src/main.nr rename to test_programs/execution_success/struct_fields_ordering/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/struct_inputs/Nargo.toml b/test_programs/execution_success/struct_inputs/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/struct_inputs/Nargo.toml rename to test_programs/execution_success/struct_inputs/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/struct_inputs/Prover.toml b/test_programs/execution_success/struct_inputs/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/struct_inputs/Prover.toml rename to test_programs/execution_success/struct_inputs/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/struct_inputs/src/foo.nr b/test_programs/execution_success/struct_inputs/src/foo.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/struct_inputs/src/foo.nr rename to test_programs/execution_success/struct_inputs/src/foo.nr diff --git a/tooling/nargo_cli/tests/execution_success/struct_inputs/src/foo/bar.nr b/test_programs/execution_success/struct_inputs/src/foo/bar.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/struct_inputs/src/foo/bar.nr rename to test_programs/execution_success/struct_inputs/src/foo/bar.nr diff --git a/tooling/nargo_cli/tests/execution_success/struct_inputs/src/main.nr b/test_programs/execution_success/struct_inputs/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/struct_inputs/src/main.nr rename to test_programs/execution_success/struct_inputs/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/submodules/Nargo.toml b/test_programs/execution_success/submodules/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/submodules/Nargo.toml rename to test_programs/execution_success/submodules/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/submodules/Prover.toml b/test_programs/execution_success/submodules/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/submodules/Prover.toml rename to test_programs/execution_success/submodules/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/submodules/src/main.nr b/test_programs/execution_success/submodules/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/submodules/src/main.nr rename to test_programs/execution_success/submodules/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/to_be_bytes/Nargo.toml b/test_programs/execution_success/to_be_bytes/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/to_be_bytes/Nargo.toml rename to test_programs/execution_success/to_be_bytes/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/to_be_bytes/Prover.toml b/test_programs/execution_success/to_be_bytes/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/to_be_bytes/Prover.toml rename to test_programs/execution_success/to_be_bytes/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/to_be_bytes/src/main.nr b/test_programs/execution_success/to_be_bytes/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/to_be_bytes/src/main.nr rename to test_programs/execution_success/to_be_bytes/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/to_bytes_consistent/Nargo.toml b/test_programs/execution_success/to_bytes_consistent/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/to_bytes_consistent/Nargo.toml rename to test_programs/execution_success/to_bytes_consistent/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/to_bytes_consistent/Prover.toml b/test_programs/execution_success/to_bytes_consistent/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/to_bytes_consistent/Prover.toml rename to test_programs/execution_success/to_bytes_consistent/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/to_bytes_consistent/src/main.nr b/test_programs/execution_success/to_bytes_consistent/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/to_bytes_consistent/src/main.nr rename to test_programs/execution_success/to_bytes_consistent/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/to_bytes_integration/Nargo.toml b/test_programs/execution_success/to_bytes_integration/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/to_bytes_integration/Nargo.toml rename to test_programs/execution_success/to_bytes_integration/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/to_bytes_integration/Prover.toml b/test_programs/execution_success/to_bytes_integration/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/to_bytes_integration/Prover.toml rename to test_programs/execution_success/to_bytes_integration/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/to_bytes_integration/src/main.nr b/test_programs/execution_success/to_bytes_integration/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/to_bytes_integration/src/main.nr rename to test_programs/execution_success/to_bytes_integration/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/to_le_bytes/Nargo.toml b/test_programs/execution_success/to_le_bytes/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/to_le_bytes/Nargo.toml rename to test_programs/execution_success/to_le_bytes/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/to_le_bytes/Prover.toml b/test_programs/execution_success/to_le_bytes/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/to_le_bytes/Prover.toml rename to test_programs/execution_success/to_le_bytes/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/to_le_bytes/src/main.nr b/test_programs/execution_success/to_le_bytes/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/to_le_bytes/src/main.nr rename to test_programs/execution_success/to_le_bytes/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/trait_as_return_type/Nargo.toml b/test_programs/execution_success/trait_as_return_type/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/trait_as_return_type/Nargo.toml rename to test_programs/execution_success/trait_as_return_type/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/trait_as_return_type/Prover.toml b/test_programs/execution_success/trait_as_return_type/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/trait_as_return_type/Prover.toml rename to test_programs/execution_success/trait_as_return_type/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/trait_as_return_type/src/main.nr b/test_programs/execution_success/trait_as_return_type/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/trait_as_return_type/src/main.nr rename to test_programs/execution_success/trait_as_return_type/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/trait_impl_base_type/Nargo.toml b/test_programs/execution_success/trait_impl_base_type/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/trait_impl_base_type/Nargo.toml rename to test_programs/execution_success/trait_impl_base_type/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/trait_impl_base_type/Prover.toml b/test_programs/execution_success/trait_impl_base_type/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/trait_impl_base_type/Prover.toml rename to test_programs/execution_success/trait_impl_base_type/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/trait_impl_base_type/src/main.nr b/test_programs/execution_success/trait_impl_base_type/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/trait_impl_base_type/src/main.nr rename to test_programs/execution_success/trait_impl_base_type/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/traits_in_crates_1/Nargo.toml b/test_programs/execution_success/traits_in_crates_1/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/traits_in_crates_1/Nargo.toml rename to test_programs/execution_success/traits_in_crates_1/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/traits_in_crates_1/Prover.toml b/test_programs/execution_success/traits_in_crates_1/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/traits_in_crates_1/Prover.toml rename to test_programs/execution_success/traits_in_crates_1/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/traits_in_crates_1/crate1/Nargo.toml b/test_programs/execution_success/traits_in_crates_1/crate1/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/traits_in_crates_1/crate1/Nargo.toml rename to test_programs/execution_success/traits_in_crates_1/crate1/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/traits_in_crates_1/crate1/src/lib.nr b/test_programs/execution_success/traits_in_crates_1/crate1/src/lib.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/traits_in_crates_1/crate1/src/lib.nr rename to test_programs/execution_success/traits_in_crates_1/crate1/src/lib.nr diff --git a/tooling/nargo_cli/tests/execution_success/traits_in_crates_1/crate2/Nargo.toml b/test_programs/execution_success/traits_in_crates_1/crate2/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/traits_in_crates_1/crate2/Nargo.toml rename to test_programs/execution_success/traits_in_crates_1/crate2/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/traits_in_crates_1/crate2/src/lib.nr b/test_programs/execution_success/traits_in_crates_1/crate2/src/lib.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/traits_in_crates_1/crate2/src/lib.nr rename to test_programs/execution_success/traits_in_crates_1/crate2/src/lib.nr diff --git a/tooling/nargo_cli/tests/execution_success/traits_in_crates_1/src/main.nr b/test_programs/execution_success/traits_in_crates_1/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/traits_in_crates_1/src/main.nr rename to test_programs/execution_success/traits_in_crates_1/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/traits_in_crates_2/Nargo.toml b/test_programs/execution_success/traits_in_crates_2/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/traits_in_crates_2/Nargo.toml rename to test_programs/execution_success/traits_in_crates_2/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/traits_in_crates_2/Prover.toml b/test_programs/execution_success/traits_in_crates_2/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/traits_in_crates_2/Prover.toml rename to test_programs/execution_success/traits_in_crates_2/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/traits_in_crates_2/crate1/Nargo.toml b/test_programs/execution_success/traits_in_crates_2/crate1/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/traits_in_crates_2/crate1/Nargo.toml rename to test_programs/execution_success/traits_in_crates_2/crate1/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/traits_in_crates_2/crate1/src/lib.nr b/test_programs/execution_success/traits_in_crates_2/crate1/src/lib.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/traits_in_crates_2/crate1/src/lib.nr rename to test_programs/execution_success/traits_in_crates_2/crate1/src/lib.nr diff --git a/tooling/nargo_cli/tests/execution_success/traits_in_crates_2/crate2/Nargo.toml b/test_programs/execution_success/traits_in_crates_2/crate2/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/traits_in_crates_2/crate2/Nargo.toml rename to test_programs/execution_success/traits_in_crates_2/crate2/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/traits_in_crates_2/crate2/src/lib.nr b/test_programs/execution_success/traits_in_crates_2/crate2/src/lib.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/traits_in_crates_2/crate2/src/lib.nr rename to test_programs/execution_success/traits_in_crates_2/crate2/src/lib.nr diff --git a/tooling/nargo_cli/tests/execution_success/traits_in_crates_2/src/main.nr b/test_programs/execution_success/traits_in_crates_2/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/traits_in_crates_2/src/main.nr rename to test_programs/execution_success/traits_in_crates_2/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/tuple_inputs/Nargo.toml b/test_programs/execution_success/tuple_inputs/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/tuple_inputs/Nargo.toml rename to test_programs/execution_success/tuple_inputs/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/tuple_inputs/Prover.toml b/test_programs/execution_success/tuple_inputs/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/tuple_inputs/Prover.toml rename to test_programs/execution_success/tuple_inputs/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/tuple_inputs/src/main.nr b/test_programs/execution_success/tuple_inputs/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/tuple_inputs/src/main.nr rename to test_programs/execution_success/tuple_inputs/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/tuples/Nargo.toml b/test_programs/execution_success/tuples/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/tuples/Nargo.toml rename to test_programs/execution_success/tuples/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/tuples/Prover.toml b/test_programs/execution_success/tuples/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/tuples/Prover.toml rename to test_programs/execution_success/tuples/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/tuples/src/main.nr b/test_programs/execution_success/tuples/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/tuples/src/main.nr rename to test_programs/execution_success/tuples/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/type_aliases/Nargo.toml b/test_programs/execution_success/type_aliases/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/type_aliases/Nargo.toml rename to test_programs/execution_success/type_aliases/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/type_aliases/Prover.toml b/test_programs/execution_success/type_aliases/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/type_aliases/Prover.toml rename to test_programs/execution_success/type_aliases/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/type_aliases/src/main.nr b/test_programs/execution_success/type_aliases/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/type_aliases/src/main.nr rename to test_programs/execution_success/type_aliases/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/workspace/Nargo.toml b/test_programs/execution_success/workspace/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/workspace/Nargo.toml rename to test_programs/execution_success/workspace/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/workspace/Prover.toml b/test_programs/execution_success/workspace/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/workspace/Prover.toml rename to test_programs/execution_success/workspace/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/workspace/crates/a/Nargo.toml b/test_programs/execution_success/workspace/crates/a/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/workspace/crates/a/Nargo.toml rename to test_programs/execution_success/workspace/crates/a/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/workspace/crates/a/Prover.toml b/test_programs/execution_success/workspace/crates/a/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/workspace/crates/a/Prover.toml rename to test_programs/execution_success/workspace/crates/a/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/workspace_default_member/a/src/main.nr b/test_programs/execution_success/workspace/crates/a/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/workspace_default_member/a/src/main.nr rename to test_programs/execution_success/workspace/crates/a/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/workspace/crates/b/Nargo.toml b/test_programs/execution_success/workspace/crates/b/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/workspace/crates/b/Nargo.toml rename to test_programs/execution_success/workspace/crates/b/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/workspace/crates/b/Prover.toml b/test_programs/execution_success/workspace/crates/b/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/workspace/crates/b/Prover.toml rename to test_programs/execution_success/workspace/crates/b/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/workspace_missing_toml/crates/b/src/main.nr b/test_programs/execution_success/workspace/crates/b/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/workspace_missing_toml/crates/b/src/main.nr rename to test_programs/execution_success/workspace/crates/b/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/workspace_default_member/Nargo.toml b/test_programs/execution_success/workspace_default_member/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/workspace_default_member/Nargo.toml rename to test_programs/execution_success/workspace_default_member/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/workspace_default_member/Prover.toml b/test_programs/execution_success/workspace_default_member/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/workspace_default_member/Prover.toml rename to test_programs/execution_success/workspace_default_member/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/workspace_default_member/a/Nargo.toml b/test_programs/execution_success/workspace_default_member/a/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/workspace_default_member/a/Nargo.toml rename to test_programs/execution_success/workspace_default_member/a/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/workspace_default_member/a/Prover.toml b/test_programs/execution_success/workspace_default_member/a/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/workspace_default_member/a/Prover.toml rename to test_programs/execution_success/workspace_default_member/a/Prover.toml diff --git a/tooling/nargo_cli/tests/compile_failure/workspace_missing_toml/crates/a/src/main.nr b/test_programs/execution_success/workspace_default_member/a/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/compile_failure/workspace_missing_toml/crates/a/src/main.nr rename to test_programs/execution_success/workspace_default_member/a/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/workspace_default_member/b/Nargo.toml b/test_programs/execution_success/workspace_default_member/b/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/workspace_default_member/b/Nargo.toml rename to test_programs/execution_success/workspace_default_member/b/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/workspace_default_member/b/Prover.toml b/test_programs/execution_success/workspace_default_member/b/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/workspace_default_member/b/Prover.toml rename to test_programs/execution_success/workspace_default_member/b/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/workspace_default_member/b/src/main.nr b/test_programs/execution_success/workspace_default_member/b/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/workspace_default_member/b/src/main.nr rename to test_programs/execution_success/workspace_default_member/b/src/main.nr diff --git a/tooling/nargo_cli/tests/execution_success/xor/Nargo.toml b/test_programs/execution_success/xor/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/xor/Nargo.toml rename to test_programs/execution_success/xor/Nargo.toml diff --git a/tooling/nargo_cli/tests/execution_success/xor/Prover.toml b/test_programs/execution_success/xor/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/execution_success/xor/Prover.toml rename to test_programs/execution_success/xor/Prover.toml diff --git a/tooling/nargo_cli/tests/execution_success/xor/src/main.nr b/test_programs/execution_success/xor/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/execution_success/xor/src/main.nr rename to test_programs/execution_success/xor/src/main.nr diff --git a/tooling/nargo_cli/tests/gates_report.sh b/test_programs/gates_report.sh similarity index 100% rename from tooling/nargo_cli/tests/gates_report.sh rename to test_programs/gates_report.sh diff --git a/tooling/nargo_cli/tests/noir_test_failure/should_fail_mismatch/Nargo.toml b/test_programs/noir_test_failure/should_fail_mismatch/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/noir_test_failure/should_fail_mismatch/Nargo.toml rename to test_programs/noir_test_failure/should_fail_mismatch/Nargo.toml diff --git a/tooling/nargo_cli/tests/noir_test_failure/should_fail_mismatch/Prover.toml b/test_programs/noir_test_failure/should_fail_mismatch/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/noir_test_failure/should_fail_mismatch/Prover.toml rename to test_programs/noir_test_failure/should_fail_mismatch/Prover.toml diff --git a/tooling/nargo_cli/tests/noir_test_failure/should_fail_mismatch/src/main.nr b/test_programs/noir_test_failure/should_fail_mismatch/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/noir_test_failure/should_fail_mismatch/src/main.nr rename to test_programs/noir_test_failure/should_fail_mismatch/src/main.nr diff --git a/tooling/nargo_cli/tests/noir_test_success/should_fail_with_matches/Nargo.toml b/test_programs/noir_test_success/should_fail_with_matches/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/noir_test_success/should_fail_with_matches/Nargo.toml rename to test_programs/noir_test_success/should_fail_with_matches/Nargo.toml diff --git a/tooling/nargo_cli/tests/noir_test_success/should_fail_with_matches/Prover.toml b/test_programs/noir_test_success/should_fail_with_matches/Prover.toml similarity index 100% rename from tooling/nargo_cli/tests/noir_test_success/should_fail_with_matches/Prover.toml rename to test_programs/noir_test_success/should_fail_with_matches/Prover.toml diff --git a/tooling/nargo_cli/tests/noir_test_success/should_fail_with_matches/src/main.nr b/test_programs/noir_test_success/should_fail_with_matches/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/noir_test_success/should_fail_with_matches/src/main.nr rename to test_programs/noir_test_success/should_fail_with_matches/src/main.nr diff --git a/tooling/nargo_cli/tests/rebuild.sh b/test_programs/rebuild.sh similarity index 100% rename from tooling/nargo_cli/tests/rebuild.sh rename to test_programs/rebuild.sh diff --git a/tooling/nargo_cli/tests/test_libraries/bad_impl/Nargo.toml b/test_programs/test_libraries/bad_impl/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/test_libraries/bad_impl/Nargo.toml rename to test_programs/test_libraries/bad_impl/Nargo.toml diff --git a/tooling/nargo_cli/tests/test_libraries/bad_impl/src/lib.nr b/test_programs/test_libraries/bad_impl/src/lib.nr similarity index 100% rename from tooling/nargo_cli/tests/test_libraries/bad_impl/src/lib.nr rename to test_programs/test_libraries/bad_impl/src/lib.nr diff --git a/tooling/nargo_cli/tests/test_libraries/bad_name/Nargo.toml b/test_programs/test_libraries/bad_name/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/test_libraries/bad_name/Nargo.toml rename to test_programs/test_libraries/bad_name/Nargo.toml diff --git a/tooling/nargo_cli/tests/test_libraries/bad_name/src/lib.nr b/test_programs/test_libraries/bad_name/src/lib.nr similarity index 100% rename from tooling/nargo_cli/tests/test_libraries/bad_name/src/lib.nr rename to test_programs/test_libraries/bad_name/src/lib.nr diff --git a/tooling/nargo_cli/tests/test_libraries/bin_dep/Nargo.toml b/test_programs/test_libraries/bin_dep/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/test_libraries/bin_dep/Nargo.toml rename to test_programs/test_libraries/bin_dep/Nargo.toml diff --git a/tooling/nargo_cli/tests/test_libraries/bin_dep/src/main.nr b/test_programs/test_libraries/bin_dep/src/main.nr similarity index 100% rename from tooling/nargo_cli/tests/test_libraries/bin_dep/src/main.nr rename to test_programs/test_libraries/bin_dep/src/main.nr diff --git a/tooling/nargo_cli/tests/test_libraries/diamond_deps_1/Nargo.toml b/test_programs/test_libraries/diamond_deps_1/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/test_libraries/diamond_deps_1/Nargo.toml rename to test_programs/test_libraries/diamond_deps_1/Nargo.toml diff --git a/tooling/nargo_cli/tests/test_libraries/diamond_deps_1/src/lib.nr b/test_programs/test_libraries/diamond_deps_1/src/lib.nr similarity index 100% rename from tooling/nargo_cli/tests/test_libraries/diamond_deps_1/src/lib.nr rename to test_programs/test_libraries/diamond_deps_1/src/lib.nr diff --git a/tooling/nargo_cli/tests/test_libraries/diamond_deps_2/Nargo.toml b/test_programs/test_libraries/diamond_deps_2/Nargo.toml similarity index 100% rename from tooling/nargo_cli/tests/test_libraries/diamond_deps_2/Nargo.toml rename to test_programs/test_libraries/diamond_deps_2/Nargo.toml diff --git a/tooling/nargo_cli/tests/test_libraries/diamond_deps_2/src/lib.nr b/test_programs/test_libraries/diamond_deps_2/src/lib.nr similarity index 100% rename from tooling/nargo_cli/tests/test_libraries/diamond_deps_2/src/lib.nr rename to test_programs/test_libraries/diamond_deps_2/src/lib.nr diff --git a/tooling/nargo_cli/build.rs b/tooling/nargo_cli/build.rs index 0d1acca6ee9..27a9b83d836 100644 --- a/tooling/nargo_cli/build.rs +++ b/tooling/nargo_cli/build.rs @@ -33,11 +33,11 @@ fn main() { // Try to find the directory that Cargo sets when it is running; otherwise fallback to assuming the CWD // is the root of the repository and append the crate path - let manifest_dir = match std::env::var("CARGO_MANIFEST_DIR") { - Ok(dir) => PathBuf::from(dir), - Err(_) => std::env::current_dir().unwrap().join("crates").join("nargo_cli"), + let root_dir = match std::env::var("CARGO_MANIFEST_DIR") { + Ok(dir) => PathBuf::from(dir).parent().unwrap().parent().unwrap().to_path_buf(), + Err(_) => std::env::current_dir().unwrap(), }; - let test_dir = manifest_dir.join("tests"); + let test_dir = root_dir.join("test_programs"); generate_execution_success_tests(&mut test_file, &test_dir); generate_noir_test_success_tests(&mut test_file, &test_dir); diff --git a/tooling/nargo_cli/tests/execution_success/simple_print/Prover.toml b/tooling/nargo_cli/tests/execution_success/simple_print/Prover.toml deleted file mode 100644 index 2c1854573a4..00000000000 --- a/tooling/nargo_cli/tests/execution_success/simple_print/Prover.toml +++ /dev/null @@ -1,2 +0,0 @@ -x = 1 -y = 2 diff --git a/tooling/nargo_cli/tests/execution_success/workspace/crates/b/src/main.nr b/tooling/nargo_cli/tests/execution_success/workspace/crates/b/src/main.nr deleted file mode 100644 index 4e1fd3c9035..00000000000 --- a/tooling/nargo_cli/tests/execution_success/workspace/crates/b/src/main.nr +++ /dev/null @@ -1,3 +0,0 @@ -fn main(x: Field, y: pub Field) { - assert(x != y); -} From a847fca49d167d544cf8647e8ba025b9693f3e18 Mon Sep 17 00:00:00 2001 From: kevaundray Date: Tue, 28 Nov 2023 00:36:40 +0000 Subject: [PATCH 17/18] chore: update barretenberg to 0.16.0 (#3598) --- tooling/bb_abstraction_leaks/build.rs | 2 +- tooling/noir_js_backend_barretenberg/package.json | 2 +- yarn.lock | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tooling/bb_abstraction_leaks/build.rs b/tooling/bb_abstraction_leaks/build.rs index 9c5e51a8115..166e61a5a97 100644 --- a/tooling/bb_abstraction_leaks/build.rs +++ b/tooling/bb_abstraction_leaks/build.rs @@ -10,7 +10,7 @@ use const_format::formatcp; const USERNAME: &str = "AztecProtocol"; const REPO: &str = "aztec-packages"; -const VERSION: &str = "0.15.1"; +const VERSION: &str = "0.16.0"; const TAG: &str = formatcp!("aztec-packages-v{}", VERSION); const API_URL: &str = diff --git a/tooling/noir_js_backend_barretenberg/package.json b/tooling/noir_js_backend_barretenberg/package.json index 360b3e70ec0..af4c6849bf2 100644 --- a/tooling/noir_js_backend_barretenberg/package.json +++ b/tooling/noir_js_backend_barretenberg/package.json @@ -32,7 +32,7 @@ "lint": "NODE_NO_WARNINGS=1 eslint . --ext .ts --ignore-path ./.eslintignore --max-warnings 0" }, "dependencies": { - "@aztec/bb.js": "0.15.1", + "@aztec/bb.js": "0.16.0", "@noir-lang/types": "workspace:*", "fflate": "^0.8.0" }, diff --git a/yarn.lock b/yarn.lock index 6ae655f8ce2..fd2dd3a40d8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -221,9 +221,9 @@ __metadata: languageName: node linkType: hard -"@aztec/bb.js@npm:0.15.1": - version: 0.15.1 - resolution: "@aztec/bb.js@npm:0.15.1" +"@aztec/bb.js@npm:0.16.0": + version: 0.16.0 + resolution: "@aztec/bb.js@npm:0.16.0" dependencies: comlink: ^4.4.1 commander: ^10.0.1 @@ -231,7 +231,7 @@ __metadata: tslib: ^2.4.0 bin: bb.js: dest/node/main.js - checksum: b3d94eb6db1d1579fa7266486d4b1c6ddc408f1d36bd2585b50e623aa90222d273e56464284b94677979840c1119c5385aa961462d3a1af6cb9a2ba1cf9655f9 + checksum: 5f68b4ad16284a3a871e0ad21fea05aed670383bc639c9d07ab3bf9b7a9d15cc8a4e5cda404a9290775ad5023924739543a8aac37d602892dd1fb5087521970b languageName: node linkType: hard @@ -3434,7 +3434,7 @@ __metadata: version: 0.0.0-use.local resolution: "@noir-lang/backend_barretenberg@workspace:tooling/noir_js_backend_barretenberg" dependencies: - "@aztec/bb.js": 0.15.1 + "@aztec/bb.js": 0.16.0 "@noir-lang/types": "workspace:*" "@types/node": ^20.6.2 "@types/prettier": ^3 From 4d133c50a50f21ca23861a9d1987207bd8783d36 Mon Sep 17 00:00:00 2001 From: kevaundray Date: Tue, 28 Nov 2023 00:37:26 +0000 Subject: [PATCH 18/18] chore: Release Noir(0.19.4) (#3548) --- .release-please-manifest.json | 4 +- CHANGELOG.md | 20 +++++++ Cargo.lock | 52 +++++++++---------- Cargo.toml | 2 +- acvm-repo/CHANGELOG.md | 48 +++++++++++++++++ acvm-repo/acir/Cargo.toml | 2 +- acvm-repo/acir_field/Cargo.toml | 2 +- acvm-repo/acvm/Cargo.toml | 2 +- acvm-repo/acvm_js/Cargo.toml | 2 +- acvm-repo/acvm_js/package.json | 2 +- .../barretenberg_blackbox_solver/Cargo.toml | 2 +- acvm-repo/blackbox_solver/Cargo.toml | 2 +- acvm-repo/brillig/Cargo.toml | 2 +- acvm-repo/brillig_vm/Cargo.toml | 2 +- acvm-repo/stdlib/Cargo.toml | 2 +- compiler/source-resolver/package.json | 2 +- compiler/wasm/package.json | 2 +- flake.nix | 2 +- tooling/noir_codegen/package.json | 2 +- tooling/noir_js/package.json | 2 +- .../noir_js_backend_barretenberg/package.json | 2 +- tooling/noir_js_types/package.json | 2 +- tooling/noirc_abi_wasm/package.json | 2 +- 23 files changed, 115 insertions(+), 47 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 73b991cb8af..8a6f95c33e0 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,4 +1,4 @@ { - ".": "0.19.3", - "acvm-repo": "0.34.0" + ".": "0.19.4", + "acvm-repo": "0.35.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index d6077b06b05..077c9973806 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,25 @@ # Changelog +## [0.19.4](https://github.com/noir-lang/noir/compare/v0.19.3...v0.19.4) (2023-11-28) + + +### Features + +* Add --check option to nargo fmt for dry-run formatting verification ([#3530](https://github.com/noir-lang/noir/issues/3530)) ([4469707](https://github.com/noir-lang/noir/commit/4469707d97085fab0f7ade8d015dc827c56156ee)) +* Add support for tuple values in `noir_codegen` ([#3592](https://github.com/noir-lang/noir/issues/3592)) ([346d75f](https://github.com/noir-lang/noir/commit/346d75f9dd9261996d4d7bb80eb7e4118e8f8ce2)) +* Codegen typed interfaces for functions in `noir_codegen` ([#3533](https://github.com/noir-lang/noir/issues/3533)) ([290c463](https://github.com/noir-lang/noir/commit/290c463622a93a34293f73b5bf2aea7ade30a11c)) +* Export `CompiledCircuit` from codegened TS ([#3589](https://github.com/noir-lang/noir/issues/3589)) ([e06c675](https://github.com/noir-lang/noir/commit/e06c67500da11518caffe0e98bdb9cd7f5f89049)) +* Remove type arrays for flat slices ([#3466](https://github.com/noir-lang/noir/issues/3466)) ([8225b2b](https://github.com/noir-lang/noir/commit/8225b2b379ddf145f9418f8517478704f9aac350)) +* Send and receive unflattened public inputs to backend ([#3543](https://github.com/noir-lang/noir/issues/3543)) ([a7bdc67](https://github.com/noir-lang/noir/commit/a7bdc67ef3ec2037bffc4f1f472907cad786c319)) + + +### Bug Fixes + +* Compiler version error message ([#3558](https://github.com/noir-lang/noir/issues/3558)) ([026a358](https://github.com/noir-lang/noir/commit/026a3587b01ddc8f444ff588a7b3f3fd1a0bb386)) +* Remove quotes from println output ([#3574](https://github.com/noir-lang/noir/issues/3574)) ([127b6aa](https://github.com/noir-lang/noir/commit/127b6aa1ec8893275fdfa7795db7c52c4fc1d4dd)) +* Somewhat reduce mem2reg memory usage ([#3572](https://github.com/noir-lang/noir/issues/3572)) ([9b9ed89](https://github.com/noir-lang/noir/commit/9b9ed890e68b6c7f0671b05919bdc86f593c5df5)) +* Use 128 bits for constant bit shift ([#3586](https://github.com/noir-lang/noir/issues/3586)) ([2ca9b05](https://github.com/noir-lang/noir/commit/2ca9b059317f0513ea21153ebdb468c4f6633de5)) + ## [0.19.3](https://github.com/noir-lang/noir/compare/v0.19.2...v0.19.3) (2023-11-22) diff --git a/Cargo.lock b/Cargo.lock index 9536508436b..5e138bf4508 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,7 +4,7 @@ version = 3 [[package]] name = "acir" -version = "0.34.0" +version = "0.35.0" dependencies = [ "acir_field", "base64", @@ -23,7 +23,7 @@ dependencies = [ [[package]] name = "acir_field" -version = "0.34.0" +version = "0.35.0" dependencies = [ "ark-bls12-381", "ark-bn254", @@ -37,7 +37,7 @@ dependencies = [ [[package]] name = "acvm" -version = "0.34.0" +version = "0.35.0" dependencies = [ "acir", "acvm_blackbox_solver", @@ -54,7 +54,7 @@ dependencies = [ [[package]] name = "acvm_blackbox_solver" -version = "0.34.0" +version = "0.35.0" dependencies = [ "acir", "blake2", @@ -67,7 +67,7 @@ dependencies = [ [[package]] name = "acvm_js" -version = "0.34.0" +version = "0.35.0" dependencies = [ "acvm", "barretenberg_blackbox_solver", @@ -88,7 +88,7 @@ dependencies = [ [[package]] name = "acvm_stdlib" -version = "0.34.0" +version = "0.35.0" dependencies = [ "acir", ] @@ -217,7 +217,7 @@ checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "arena" -version = "0.19.3" +version = "0.19.4" dependencies = [ "generational-arena", ] @@ -449,7 +449,7 @@ dependencies = [ [[package]] name = "barretenberg_blackbox_solver" -version = "0.34.0" +version = "0.35.0" dependencies = [ "acir", "acvm_blackbox_solver", @@ -573,7 +573,7 @@ dependencies = [ [[package]] name = "brillig" -version = "0.34.0" +version = "0.35.0" dependencies = [ "acir_field", "serde", @@ -581,7 +581,7 @@ dependencies = [ [[package]] name = "brillig_vm" -version = "0.34.0" +version = "0.35.0" dependencies = [ "acir", "acvm_blackbox_solver", @@ -1596,7 +1596,7 @@ dependencies = [ [[package]] name = "fm" -version = "0.19.3" +version = "0.19.4" dependencies = [ "codespan-reporting", "iter-extended", @@ -2158,7 +2158,7 @@ dependencies = [ [[package]] name = "iter-extended" -version = "0.19.3" +version = "0.19.4" [[package]] name = "itertools" @@ -2380,7 +2380,7 @@ checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389" [[package]] name = "nargo" -version = "0.19.3" +version = "0.19.4" dependencies = [ "acvm", "codespan-reporting", @@ -2400,7 +2400,7 @@ dependencies = [ [[package]] name = "nargo_cli" -version = "0.19.3" +version = "0.19.4" dependencies = [ "acvm", "assert_cmd", @@ -2449,7 +2449,7 @@ dependencies = [ [[package]] name = "nargo_fmt" -version = "0.19.3" +version = "0.19.4" dependencies = [ "bytecount", "noirc_frontend", @@ -2461,7 +2461,7 @@ dependencies = [ [[package]] name = "nargo_toml" -version = "0.19.3" +version = "0.19.4" dependencies = [ "dirs", "fm", @@ -2510,7 +2510,7 @@ dependencies = [ [[package]] name = "noir_debugger" -version = "0.19.3" +version = "0.19.4" dependencies = [ "acvm", "codespan-reporting", @@ -2524,7 +2524,7 @@ dependencies = [ [[package]] name = "noir_lsp" -version = "0.19.3" +version = "0.19.4" dependencies = [ "acvm", "async-lsp", @@ -2549,7 +2549,7 @@ dependencies = [ [[package]] name = "noir_wasm" -version = "0.19.3" +version = "0.19.4" dependencies = [ "acvm", "build-data", @@ -2571,7 +2571,7 @@ dependencies = [ [[package]] name = "noirc_abi" -version = "0.19.3" +version = "0.19.4" dependencies = [ "acvm", "iter-extended", @@ -2588,7 +2588,7 @@ dependencies = [ [[package]] name = "noirc_abi_wasm" -version = "0.19.3" +version = "0.19.4" dependencies = [ "acvm", "build-data", @@ -2605,7 +2605,7 @@ dependencies = [ [[package]] name = "noirc_driver" -version = "0.19.3" +version = "0.19.4" dependencies = [ "acvm", "build-data", @@ -2622,7 +2622,7 @@ dependencies = [ [[package]] name = "noirc_errors" -version = "0.19.3" +version = "0.19.4" dependencies = [ "acvm", "chumsky", @@ -2635,7 +2635,7 @@ dependencies = [ [[package]] name = "noirc_evaluator" -version = "0.19.3" +version = "0.19.4" dependencies = [ "acvm", "fxhash", @@ -2650,7 +2650,7 @@ dependencies = [ [[package]] name = "noirc_frontend" -version = "0.19.3" +version = "0.19.4" dependencies = [ "acvm", "arena", @@ -2672,7 +2672,7 @@ dependencies = [ [[package]] name = "noirc_printable_type" -version = "0.19.3" +version = "0.19.4" dependencies = [ "acvm", "iter-extended", diff --git a/Cargo.toml b/Cargo.toml index b891aa7d935..3ad0d595023 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,7 +38,7 @@ resolver = "2" [workspace.package] # x-release-please-start-version -version = "0.19.3" +version = "0.19.4" # x-release-please-end authors = ["The Noir Team "] edition = "2021" diff --git a/acvm-repo/CHANGELOG.md b/acvm-repo/CHANGELOG.md index 9c55a1ad0c2..ff3ba716680 100644 --- a/acvm-repo/CHANGELOG.md +++ b/acvm-repo/CHANGELOG.md @@ -5,6 +5,54 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.35.0](https://github.com/noir-lang/noir/compare/v0.34.0...v0.35.0) (2023-11-28) + + +### ⚠ BREAKING CHANGES + +* Move circuit serialization circuit into acir ([#3345](https://github.com/noir-lang/noir/issues/3345)) +* expose pedersen hash in acir and bb solver ([#3269](https://github.com/noir-lang/noir/issues/3269)) +* Switch to new pedersen implementation ([#3151](https://github.com/noir-lang/noir/issues/3151)) +* Pass ACIR to ACVM by reference rather than passing ownership ([#2872](https://github.com/noir-lang/noir/issues/2872)) +* **wasm:** improve and simplify wasm compiler interface ([#2976](https://github.com/noir-lang/noir/issues/2976)) +* Maintain shape of foreign call arguments ([#2935](https://github.com/noir-lang/noir/issues/2935)) + +### Features + +* **acvm_js:** Export black box solver functions ([#2812](https://github.com/noir-lang/noir/issues/2812)) ([da8a98e](https://github.com/noir-lang/noir/commit/da8a98ed312fe69cb0bdb8f9d0a70ee7a981398f)) +* **acvm:** Separate ACVM optimizations and transformations ([#2979](https://github.com/noir-lang/noir/issues/2979)) ([5865d1a](https://github.com/noir-lang/noir/commit/5865d1a1bca16e1853663c71f893ff81fa3f7185)) +* Add ACIR serializer C++ codegen ([#2961](https://github.com/noir-lang/noir/issues/2961)) ([7556982](https://github.com/noir-lang/noir/commit/7556982dbebe25eaa17240abbe270b771b55de45)) +* Add conditional compilation of methods based on the underlying field being used ([#3045](https://github.com/noir-lang/noir/issues/3045)) ([2e008e2](https://github.com/noir-lang/noir/commit/2e008e2438795bbc41b0641e830378b76bf2e194)) +* Add debugger commands to introspect (and modify) the current state ([#3391](https://github.com/noir-lang/noir/issues/3391)) ([9e1ad85](https://github.com/noir-lang/noir/commit/9e1ad858cf8a1d9aba0137abe6a749267498bfaf)) +* Expose pedersen hash in acir and bb solver ([#3269](https://github.com/noir-lang/noir/issues/3269)) ([0108b6c](https://github.com/noir-lang/noir/commit/0108b6c1e8dc0dfc766ab3c4944deae9354dec36)) +* Extract Brillig VM to allow step debugging ([#3259](https://github.com/noir-lang/noir/issues/3259)) ([f6431f9](https://github.com/noir-lang/noir/commit/f6431f99711f15a96a4f7fed2f413daece94b5e1)) +* Implement euclidean division and signed division in terms of `AcirVar`s ([#3230](https://github.com/noir-lang/noir/issues/3230)) ([b8b7782](https://github.com/noir-lang/noir/commit/b8b77825410c0e1f95549259a51e2c40de1ec342)) +* Maintain shape of foreign call arguments ([#2935](https://github.com/noir-lang/noir/issues/2935)) ([f7869e6](https://github.com/noir-lang/noir/commit/f7869e6fb492b617e776e538ac4babfa56261d26)) +* Pass ACIR to ACVM by reference rather than passing ownership ([#2872](https://github.com/noir-lang/noir/issues/2872)) ([b3a9c34](https://github.com/noir-lang/noir/commit/b3a9c343993ce3207de62106bda6cb2b2ef3de50)) +* Pass brillig bytecode to VM by reference ([#3030](https://github.com/noir-lang/noir/issues/3030)) ([4ee290b](https://github.com/noir-lang/noir/commit/4ee290b8b6f75bc1974a5750248570eeca8d244e)) +* Refactor debugger and separate core from UI ([#3308](https://github.com/noir-lang/noir/issues/3308)) ([8466810](https://github.com/noir-lang/noir/commit/846681079ab7295b201480a5c8baebc45e858c6f)) +* Replace boolean range constraints with arithmetic opcodes ([#3234](https://github.com/noir-lang/noir/issues/3234)) ([949222c](https://github.com/noir-lang/noir/commit/949222c20d9e65152e3814d02da1c4c41ffc23a5)) +* Save Brillig execution state in ACVM ([#3026](https://github.com/noir-lang/noir/issues/3026)) ([88682da](https://github.com/noir-lang/noir/commit/88682da87ffc9e26da5c9e4b5a4d8e62a6ee43c6)) +* Solve `fixed_base_scalar_mul` black box functions in rust ([#3153](https://github.com/noir-lang/noir/issues/3153)) ([1c1afbc](https://github.com/noir-lang/noir/commit/1c1afbcddf0b5fdb39f00ad28ae90caf699d1265)) +* Switch to new pedersen implementation ([#3151](https://github.com/noir-lang/noir/issues/3151)) ([35fb3f7](https://github.com/noir-lang/noir/commit/35fb3f7076d52db7ca3bef0a70a3dbccaf82f58d)) +* **wasm:** Improve and simplify wasm compiler interface ([#2976](https://github.com/noir-lang/noir/issues/2976)) ([1b5124b](https://github.com/noir-lang/noir/commit/1b5124bc74f7ac5360db04b34d1b7b2284061fd3)) + + +### Bug Fixes + +* ACIR optimizer should update assertion messages ([#3010](https://github.com/noir-lang/noir/issues/3010)) ([758b6b6](https://github.com/noir-lang/noir/commit/758b6b62918907c1a39f3090a77419003551745e)) +* **acvm:** Return false rather than panicking on invalid ECDSA signatures ([#2783](https://github.com/noir-lang/noir/issues/2783)) ([155abc0](https://github.com/noir-lang/noir/commit/155abc0d99fff41c79163c16bf297d41e5dff0fa)) +* Determinism of fallback transformer ([#3100](https://github.com/noir-lang/noir/issues/3100)) ([12daad1](https://github.com/noir-lang/noir/commit/12daad19c902caf5ee9e2eb4b6847bde5a924353)) +* Fix method `program_counter`, change method signature ([#3012](https://github.com/noir-lang/noir/issues/3012)) ([5ea522b](https://github.com/noir-lang/noir/commit/5ea522b840ca0f6f90d02ca00f0de32f515d450f)) +* Minor problems with `aztec` publishing ([#3095](https://github.com/noir-lang/noir/issues/3095)) ([0fc8f20](https://github.com/noir-lang/noir/commit/0fc8f20b8b87d033d27ce18db039399c17f81837)) +* Prevent duplicated assert message transformation ([#3038](https://github.com/noir-lang/noir/issues/3038)) ([082a6d0](https://github.com/noir-lang/noir/commit/082a6d02dad67a25692bed15c340a16a848a320e)) +* Return error rather than panicking on unreadable circuits ([#3179](https://github.com/noir-lang/noir/issues/3179)) ([d4f61d3](https://github.com/noir-lang/noir/commit/d4f61d3d51d515e40a5fd02d35315889f841bf53)) + + +### Miscellaneous Chores + +* Move circuit serialization circuit into acir ([#3345](https://github.com/noir-lang/noir/issues/3345)) ([122119b](https://github.com/noir-lang/noir/commit/122119b7377cec1b7c42c586c64b69b3bdf4d539)) + ## [0.34.0](https://github.com/noir-lang/noir/compare/v0.33.0...v0.34.0) (2023-11-22) diff --git a/acvm-repo/acir/Cargo.toml b/acvm-repo/acir/Cargo.toml index 3bd07e56212..8dd6a69a07d 100644 --- a/acvm-repo/acir/Cargo.toml +++ b/acvm-repo/acir/Cargo.toml @@ -2,7 +2,7 @@ name = "acir" description = "ACIR is the IR that the VM processes, it is analogous to LLVM IR" # x-release-please-start-version -version = "0.34.0" +version = "0.35.0" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/acvm-repo/acir_field/Cargo.toml b/acvm-repo/acir_field/Cargo.toml index c80271ce539..4039a14ce73 100644 --- a/acvm-repo/acir_field/Cargo.toml +++ b/acvm-repo/acir_field/Cargo.toml @@ -2,7 +2,7 @@ name = "acir_field" description = "The field implementation being used by ACIR." # x-release-please-start-version -version = "0.34.0" +version = "0.35.0" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/acvm-repo/acvm/Cargo.toml b/acvm-repo/acvm/Cargo.toml index 332399808a1..ca43c54b204 100644 --- a/acvm-repo/acvm/Cargo.toml +++ b/acvm-repo/acvm/Cargo.toml @@ -2,7 +2,7 @@ name = "acvm" description = "The virtual machine that processes ACIR given a backend/proof system." # x-release-please-start-version -version = "0.34.0" +version = "0.35.0" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/acvm-repo/acvm_js/Cargo.toml b/acvm-repo/acvm_js/Cargo.toml index 2efc618b3f5..190675da35c 100644 --- a/acvm-repo/acvm_js/Cargo.toml +++ b/acvm-repo/acvm_js/Cargo.toml @@ -2,7 +2,7 @@ name = "acvm_js" description = "Typescript wrapper around the ACVM allowing execution of ACIR code" # x-release-please-start-version -version = "0.34.0" +version = "0.35.0" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/acvm-repo/acvm_js/package.json b/acvm-repo/acvm_js/package.json index 55516059540..6b3efc35d1a 100644 --- a/acvm-repo/acvm_js/package.json +++ b/acvm-repo/acvm_js/package.json @@ -1,6 +1,6 @@ { "name": "@noir-lang/acvm_js", - "version": "0.34.0", + "version": "0.35.0", "repository": { "type": "git", "url": "https://github.com/noir-lang/acvm.git" diff --git a/acvm-repo/barretenberg_blackbox_solver/Cargo.toml b/acvm-repo/barretenberg_blackbox_solver/Cargo.toml index c2c5a4f98a1..9669a4184a4 100644 --- a/acvm-repo/barretenberg_blackbox_solver/Cargo.toml +++ b/acvm-repo/barretenberg_blackbox_solver/Cargo.toml @@ -2,7 +2,7 @@ name = "barretenberg_blackbox_solver" description = "A wrapper around a barretenberg WASM binary to execute black box functions for which there is no rust implementation" # x-release-please-start-version -version = "0.34.0" +version = "0.35.0" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/acvm-repo/blackbox_solver/Cargo.toml b/acvm-repo/blackbox_solver/Cargo.toml index 60f6dedc766..170de76875b 100644 --- a/acvm-repo/blackbox_solver/Cargo.toml +++ b/acvm-repo/blackbox_solver/Cargo.toml @@ -2,7 +2,7 @@ name = "acvm_blackbox_solver" description = "A solver for the blackbox functions found in ACIR and Brillig" # x-release-please-start-version -version = "0.34.0" +version = "0.35.0" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/acvm-repo/brillig/Cargo.toml b/acvm-repo/brillig/Cargo.toml index 15b99f2f07d..19488c8fbe8 100644 --- a/acvm-repo/brillig/Cargo.toml +++ b/acvm-repo/brillig/Cargo.toml @@ -2,7 +2,7 @@ name = "brillig" description = "Brillig is the bytecode ACIR uses for non-determinism." # x-release-please-start-version -version = "0.34.0" +version = "0.35.0" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/acvm-repo/brillig_vm/Cargo.toml b/acvm-repo/brillig_vm/Cargo.toml index 2c7b486ecea..21c5cd3a5f5 100644 --- a/acvm-repo/brillig_vm/Cargo.toml +++ b/acvm-repo/brillig_vm/Cargo.toml @@ -2,7 +2,7 @@ name = "brillig_vm" description = "The virtual machine that processes Brillig bytecode, used to introduce non-determinism to the ACVM" # x-release-please-start-version -version = "0.34.0" +version = "0.35.0" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/acvm-repo/stdlib/Cargo.toml b/acvm-repo/stdlib/Cargo.toml index 44c88954b7a..9e0e08e1338 100644 --- a/acvm-repo/stdlib/Cargo.toml +++ b/acvm-repo/stdlib/Cargo.toml @@ -2,7 +2,7 @@ name = "acvm_stdlib" description = "The ACVM standard library." # x-release-please-start-version -version = "0.34.0" +version = "0.35.0" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/compiler/source-resolver/package.json b/compiler/source-resolver/package.json index 23cb1c729a3..85d6c4343aa 100644 --- a/compiler/source-resolver/package.json +++ b/compiler/source-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@noir-lang/source-resolver", - "version": "0.19.3", + "version": "0.19.4", "license": "MIT", "main": "./lib-node/index_node.js", "types": "./types/index_node.d.ts", diff --git a/compiler/wasm/package.json b/compiler/wasm/package.json index 932dbb4a7b6..eb1163ad62b 100644 --- a/compiler/wasm/package.json +++ b/compiler/wasm/package.json @@ -3,7 +3,7 @@ "collaborators": [ "The Noir Team " ], - "version": "0.19.3", + "version": "0.19.4", "license": "(MIT OR Apache-2.0)", "main": "./nodejs/noir_wasm.js", "types": "./web/noir_wasm.d.ts", diff --git a/flake.nix b/flake.nix index f9c458dc6ea..ac858c1714f 100644 --- a/flake.nix +++ b/flake.nix @@ -73,7 +73,7 @@ # Configuration shared between builds config = { # x-release-please-start-version - version = "0.19.3"; + version = "0.19.4"; # x-release-please-end src = pkgs.lib.cleanSourceWith { diff --git a/tooling/noir_codegen/package.json b/tooling/noir_codegen/package.json index f2523654aab..9879991f6e7 100644 --- a/tooling/noir_codegen/package.json +++ b/tooling/noir_codegen/package.json @@ -3,7 +3,7 @@ "collaborators": [ "The Noir Team " ], - "version": "0.19.3", + "version": "0.19.4", "packageManager": "yarn@3.5.1", "license": "(MIT OR Apache-2.0)", "type": "module", diff --git a/tooling/noir_js/package.json b/tooling/noir_js/package.json index 440bd8dec63..7818e689181 100644 --- a/tooling/noir_js/package.json +++ b/tooling/noir_js/package.json @@ -3,7 +3,7 @@ "collaborators": [ "The Noir Team " ], - "version": "0.19.3", + "version": "0.19.4", "packageManager": "yarn@3.5.1", "license": "(MIT OR Apache-2.0)", "type": "module", diff --git a/tooling/noir_js_backend_barretenberg/package.json b/tooling/noir_js_backend_barretenberg/package.json index af4c6849bf2..fbd89d7d350 100644 --- a/tooling/noir_js_backend_barretenberg/package.json +++ b/tooling/noir_js_backend_barretenberg/package.json @@ -3,7 +3,7 @@ "collaborators": [ "The Noir Team " ], - "version": "0.19.3", + "version": "0.19.4", "packageManager": "yarn@3.5.1", "license": "(MIT OR Apache-2.0)", "type": "module", diff --git a/tooling/noir_js_types/package.json b/tooling/noir_js_types/package.json index 4232358ddff..991052f1ad9 100644 --- a/tooling/noir_js_types/package.json +++ b/tooling/noir_js_types/package.json @@ -4,7 +4,7 @@ "The Noir Team " ], "packageManager": "yarn@3.5.1", - "version": "0.19.3", + "version": "0.19.4", "license": "(MIT OR Apache-2.0)", "files": [ "lib", diff --git a/tooling/noirc_abi_wasm/package.json b/tooling/noirc_abi_wasm/package.json index d679ec37194..f1c68df8804 100644 --- a/tooling/noirc_abi_wasm/package.json +++ b/tooling/noirc_abi_wasm/package.json @@ -3,7 +3,7 @@ "collaborators": [ "The Noir Team " ], - "version": "0.19.3", + "version": "0.19.4", "license": "(MIT OR Apache-2.0)", "files": [ "nodejs",