diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..49c30e9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +node_modules +build +codegen \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..685528f --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Noir recursion diff --git a/circuits/recurse/Nargo.toml b/circuits/recurse/Nargo.toml new file mode 100644 index 0000000..ab6e185 --- /dev/null +++ b/circuits/recurse/Nargo.toml @@ -0,0 +1,8 @@ +[package] +name = "recurse" +type = "lib" +authors = [""] +compiler_version = ">=0.26.0" + +[dependencies] +simple = { path = "../simple" } \ No newline at end of file diff --git a/circuits/recurse/export/main.json b/circuits/recurse/export/main.json new file mode 100644 index 0000000..c285ba2 --- /dev/null +++ b/circuits/recurse/export/main.json @@ -0,0 +1 @@ +{"noir_version":"0.26.0+c46b164ce56e6a8f81255fb17eb6539bd040f336","hash":12993080274337799997,"abi":{"parameters":[{"name":"x","type":{"kind":"field"},"visibility":"private"},{"name":"y","type":{"kind":"field"},"visibility":"private"}],"param_witnesses":{"x":[{"start":0,"end":1}],"y":[{"start":1,"end":2}]},"return_type":{"abi_type":{"kind":"boolean"},"visibility":"public"},"return_witnesses":[25]},"bytecode":"H4sIAAAAAAAA/+1X207jMBCdNN3QUGDJsrD0A/Z9nHve+JWmJP//tI8LNThoGowqkTNVK9VS5CiX4zM3e05A72O1vf66+3B7zejzCNz85GaeNgwQiz10MdiGWfpiJnwUufvI8176TP7zMno3zIH4/0X84/sm+AJn6eGReJ4FNBpPbuZpwwzG2uufMN4avhitGYLXllgZl3neVWlnMrPmtGnrgvOiLWtTm6IuntM6y7o6r6umbSpuTJ51pi+arOvtYDMDYPWOWEg6ST4D+w9p83wHa/vtOs3LruCyq5u6a6q+qHiz7vvnivNNy22bl5yZrG+rlNu02S7bdMXGvPEKyZOwhN+M5jgslnx/uMuOyMN/GKHnfiG++0/YWpFrjbkkHp5qm4YER2HOndPRuBHhikTL7ggfIy9XxMYYKeBeELaQ7cZoMWM6XGekdWiA8yKVvhgO+Ji+1xnFo3fDLDujmPZ3Rj6co+mMrJMuhPExfX0SoNaWyTStM+r7BeEKNcbZyIcqzIBOoDBHkuXSzbYIzpJl5KrBWOskKVksMW3JIpNpqmS5JFxhLkknydGSBWnzFZ2eZLnCYe1Ilms6S5a9ZDSCea2Ae0PHLVms3Tf4GKlIlqXjisb9SdhCthutxTykZNE6NMB5sSNZbt1sN4+zZNkdH52RdZKULAnpSxaZTFMlyy3hCjUhnSQfd0ZIaTUV6xcwrpo2J0CsOyWbQ7DNyJoLgLx+43jxobppJGfJ957O3fReMhrBvFfAfaDj7qat3Q/4GKlwtQfLHeG76T90Goc0Mpce6bjr0cbkUSHWK3CsZccfeO5X4hm9Ao/vA4c8IwAA","debug_symbols":"tdfRCoJAEAXQf5lnH9wZ3V39lehhKwNBLNKCEP89F7WC1kDkvjns3AMiF9yOqsvRteWlbijvKKZ811FzdbWfmtbdWsqVshEV9Wl4Et1HdC6rgvLE9NHvKifvVfVZtf0+IgW0GWgL0E6Adgq0NdA2QNsC7QzZne3FlNDqiCskzkhckHi4nEk2J7TZ8EFTJK6RuEHiFolnQJxjJK6QOCNxQeLbG7pcf06RuEbiBokvNJTDuE9kaxMS7pKNpwTH8v8FtJo2v+nxZ07haMbRgqPDHTISpn0iXZcYhoe7le5QFf6O4c/u9XG+cgxj+7yOJ/0L","file_map":{"47":{"source":"use dep::std;\nuse dep::simple;\n\n// #[recursive]\n#[export]\nfn main(x: Field, y: Field) -> pub bool {\n let mut res = simple::not_odd(x);\n res &= simple::not_odd(y);\n res &= simple::not_equal(x, y);\n res\n}\n\n#[test]\nfn test_not_equal() {\n assert(main(2, 4));\n // Uncomment to make test fail\n // assert(not_equal(1, 1));\n}\n","path":"/home/jz/Documents/code/aztec/recurseNoirTS/circuits/recurse/src/lib.nr"},"48":{"source":"#[export]\npub fn not_equal(x: Field, y: Field) -> bool {\n x != y\n}\n\n#[export]\npub fn not_odd(x: Field) -> bool {\n !(((x as u8) & 1) as bool)\n}\n\n#[test]\nfn test_not_equal() {\n assert(not_equal(1, 2));\n // Uncomment to make test fail\n // assert(not_equal(1, 1));\n}\n\nfn test_not_odd() {\n assert(not_odd(2));\n // Uncomment to make test fail\n // assert(not_equal(1, 1));\n}\n","path":"/home/jz/Documents/code/aztec/recurseNoirTS/circuits/simple/src/lib.nr"}}} \ No newline at end of file diff --git a/circuits/recurse/export/main_call.json b/circuits/recurse/export/main_call.json new file mode 100644 index 0000000..ba2fcbb --- /dev/null +++ b/circuits/recurse/export/main_call.json @@ -0,0 +1 @@ +{"noir_version":"0.26.0+c46b164ce56e6a8f81255fb17eb6539bd040f336","hash":11451067821145455187,"abi":{"parameters":[{"name":"x","type":{"kind":"field"},"visibility":"private"},{"name":"y","type":{"kind":"field"},"visibility":"private"}],"param_witnesses":{"x":[{"start":0,"end":1}],"y":[{"start":1,"end":2}]},"return_type":{"abi_type":{"kind":"boolean"},"visibility":"private"},"return_witnesses":[25]},"bytecode":"H4sIAAAAAAAA/+1X207jMBCdNN3QUGDJsrD0A/Z9nHve+JWmJP//tI8LNThoGowqkTNVK9VS5CiX4zM3e05A72O1vf66+3B7zejzCNz85GaeNgwQiz10MdiGWfpiJnwUufvI8176TP7zMno3zIH4/0X84/sm+AJn6eGReJ4FNBpPbuZpwwzG2uufMN4avhitGYLXllgZl3neVWlnMrPmtGnrgvOiLWtTm6IuntM6y7o6r6umbSpuTJ51pi+arOvtYDMDYPWOWEg6ST4D+w9p83wHa/vtOs3LruCyq5u6a6q+qHiz7vvnivNNy22bl5yZrG+rlNu02S7bdMXGvPEKyZOwhN+M5jgslnx/uMuOyMN/GKHnfiG++0/YWpFrjbkkHp5qm4YER2HOndPRuBHhikTL7ggfIy9XxMYYKeBeELaQ7cZoMWM6XGekdWiA8yKVvhgO+Ji+1xnFo3fDLDujmPZ3Rj6co+mMrJMuhPExfX0SoNaWyTStM+r7BeEKNcbZyIcqzIBOoDBHkuXSzbYIzpJl5KrBWOskKVksMW3JIpNpqmS5JFxhLkknydGSBWnzFZ2eZLnCYe1Ilms6S5a9ZDSCea2Ae0PHLVms3Tf4GKlIlqXjisb9SdhCthutxTykZNE6NMB5sSNZbt1sN4+zZNkdH52RdZKULAnpSxaZTFMlyy3hCjUhnSQfd0ZIaTUV6xcwrpo2J0CsOyWbQ7DNyJoLgLx+43jxobppJGfJ957O3fReMhrBvFfAfaDj7qat3Q/4GKlwtQfLHeG76T90Goc0Mpce6bjr0cbkUSHWK3CsZccfeO5X4hm9Ao/vA4c8IwAA","debug_symbols":"tdffCoIwFAbwdznXXrhz3B99lehilYEgFmlBiO+eo4ywFYh8dzvsnB+M8cHWU33a+646NS0VPaVUbHpqz74JVdv5S0eFSiWhsjmMK1ZDQseqLqnI7JB8t3I2tcpHqxu2CSmgzUBbgHYGtDXQNkDbAm0HtHNkdtYH890qZo4rJM5IXJB4PJzyviXNKy5UI3GDxC0Sd0g8B+KcInGFxBmJCxJfn9Df8WeNxA0St0g8nlC2cTxM5EsnJJ4lo6cJ5/4fwKhXp7Hzx5zC0YyjBUfHM6RdnA4TetnEWNz8pfK7ugx/jLB3bfbTl2Msu/v5uTM8AA==","file_map":{"47":{"source":"use dep::std;\nuse dep::simple;\n\n#[export]\nfn main_call(x: Field, y: Field) -> bool {\n let mut res = simple::not_odd(x);\n res &= simple::not_odd(y);\n res &= simple::not_equal(x, y);\n res\n}\n\n// #[recursive]\n// #[export]\n// fn main(x: Field, y: Field) -> pub bool {}\n\n#[test]\nfn test_not_equal() {\n assert(main_call(2, 4));\n // Uncomment to make test fail\n // assert(not_equal(1, 1));\n}\n","path":"/home/jz/Documents/code/aztec/recurseNoirTS/circuits/recurse/src/lib.nr"},"48":{"source":"#[export]\npub fn not_equal(x: Field, y: Field) -> bool {\n x != y\n}\n\n#[export]\npub fn not_odd(x: Field) -> bool {\n !(((x as u8) & 1) as bool)\n}\n\n#[test]\nfn test_not_equal() {\n assert(not_equal(1, 2));\n // Uncomment to make test fail\n // assert(not_equal(1, 1));\n}\n\nfn test_not_odd() {\n assert(not_odd(2));\n // Uncomment to make test fail\n // assert(not_equal(1, 1));\n}\n","path":"/home/jz/Documents/code/aztec/recurseNoirTS/circuits/simple/src/lib.nr"}}} \ No newline at end of file diff --git a/circuits/recurse/src/lib.nr b/circuits/recurse/src/lib.nr new file mode 100644 index 0000000..f2ce0f8 --- /dev/null +++ b/circuits/recurse/src/lib.nr @@ -0,0 +1,21 @@ +use dep::std; +use dep::simple; + +#[export] +fn main_call(x: Field, y: Field) -> bool { + let mut res = simple::not_odd(x); + res &= simple::not_odd(y); + res &= simple::not_equal(x, y); + res +} + +// #[recursive] +// #[export] +// fn main(x: Field, y: Field) -> pub bool {} + +#[test] +fn test_not_equal() { + assert(main_call(2, 4)); + // Uncomment to make test fail + // assert(not_equal(1, 1)); +} diff --git a/circuits/simple/Nargo.toml b/circuits/simple/Nargo.toml new file mode 100644 index 0000000..e0f7635 --- /dev/null +++ b/circuits/simple/Nargo.toml @@ -0,0 +1,7 @@ +[package] +name = "simple" +type = "lib" +authors = [""] +compiler_version = ">=0.26.0" + +[dependencies] \ No newline at end of file diff --git a/circuits/simple/export/not_equal.json b/circuits/simple/export/not_equal.json new file mode 100644 index 0000000..541f9e6 --- /dev/null +++ b/circuits/simple/export/not_equal.json @@ -0,0 +1 @@ +{"noir_version":"0.26.0+c46b164ce56e6a8f81255fb17eb6539bd040f336","hash":17779628616883538135,"abi":{"parameters":[{"name":"x","type":{"kind":"field"},"visibility":"private"},{"name":"y","type":{"kind":"field"},"visibility":"private"}],"param_witnesses":{"x":[{"start":0,"end":1}],"y":[{"start":1,"end":2}]},"return_type":{"abi_type":{"kind":"boolean"},"visibility":"private"},"return_witnesses":[5]},"bytecode":"H4sIAAAAAAAA/7VUSQ7DIAwMJKl67U9slmBu+UpRyf9fUFVVqEQdbpiRkH2wzHjGoKYTazkcc4l7iRY253IwGS0+wcREHpxPGyGhJ/8yZG0mRyGmGCCisxkPH+0BJ+pe0AdUgry0HC/4aqYaWiqmJfQBJTkr5vlvF24N/nUdz+9V3VtwVn4v5/Jo8Lx4sAuSGWHmPKDvMsk+3hFzL/IeQdVy0qx3rw6Smq7Ce6mruVUj//vkPwR1AkL+BQAA","debug_symbols":"lY9NCoAgGETvMmsX/VHgVaLFlxkIoqIWhHj3lOgA7uYxb/MStBUUlTUBPKEDXxOCI1MpRPIRfO4ZpDnKWDLDqbQEn5a8MfRt+tCmjy16gZu8ol3LWlK/y4g/rGB83PfkFw==","file_map":{"47":{"source":"#[export]\npub fn not_equal(x: Field, y: Field) -> bool {\n x != y\n}\n\n#[export]\npub fn not_odd(x: Field) -> bool {\n !(((x as u8) & 1) as bool)\n}\n\n#[test]\nfn test_not_equal() {\n assert(not_equal(1, 2));\n // Uncomment to make test fail\n // assert(not_equal(1, 1));\n}\n\nfn test_not_odd() {\n assert(not_odd(2));\n // Uncomment to make test fail\n // assert(not_equal(1, 1));\n}\n","path":"/home/jz/Documents/code/aztec/recurseNoirTS/circuits/simple/src/lib.nr"}}} \ No newline at end of file diff --git a/circuits/simple/export/not_odd.json b/circuits/simple/export/not_odd.json new file mode 100644 index 0000000..8c93ab7 --- /dev/null +++ b/circuits/simple/export/not_odd.json @@ -0,0 +1 @@ +{"noir_version":"0.26.0+c46b164ce56e6a8f81255fb17eb6539bd040f336","hash":15860874175066265550,"abi":{"parameters":[{"name":"x","type":{"kind":"field"},"visibility":"private"}],"param_witnesses":{"x":[{"start":0,"end":1}]},"return_type":{"abi_type":{"kind":"boolean"},"visibility":"private"},"return_witnesses":[9]},"bytecode":"H4sIAAAAAAAA/81WzW7DIAx2wpIm2mHqm5i/ALe+Smnh/U87rktWIrGMatJiplpCpoR+/mxscAN3GefxluZsHi38lCbpU9K4TzghFhbo0mBzxLYQg2WtT/M++94WYtZmcb0VsJoN7i37T2lP8wDntcDjWFhrYCOnpHGf8NXZRb9nzi9j2NhkxLZzLImTUsGIwCU/o3DealTaT5Zbrq2+CitlsMoa551Bx5UMPGonQ1zk7sderJiItVAnydsKZ0flM/uGNe89CzUFjVOwzgZnojZ4Ocd4NaguHr1XE0ouozcCvXCzWRf0hX/xYlBIWKC/jBgdFuZ8X+bRpXlf4L8KK8yHbN8H0NZKbmvL5VjgWe3SyMGpMFkKPDVuB3RFUsvvjv6MilwpLsauAm4PtIW8vvRLh/RfnVGtR4M4L0Qei0PSA/ytMxo331add0Yj/N4ZlXCepjM6pLH+HuDxS0BlO0+mfZ1RjAegK9QB6iT5tjOi5LkXayQ812LCZmt5IcAnVgpzjegNAAA=","debug_symbols":"ldLNCsIwEATgd9lzDubHVvMq4mGtEQIhLU0UJOTdTRA9FHqY2w7Ld5opFOaJs59jIlvoQPZSKC0ce0qZ10xWKiPIxXu7tKyCHj44smasV0ESBQoFGgUGBUcUDCgYUXBCwRkubqdq/RfDVkhYKFhoTLTw4tXzLbi+3/57xuk35xbze/l+6gc=","file_map":{"47":{"source":"#[export]\npub fn not_equal(x: Field, y: Field) -> bool {\n x != y\n}\n\n#[export]\npub fn not_odd(x: Field) -> bool {\n !(((x as u8) & 1) as bool)\n}\n\n#[test]\nfn test_not_equal() {\n assert(not_equal(1, 2));\n // Uncomment to make test fail\n // assert(not_equal(1, 1));\n}\n\nfn test_not_odd() {\n assert(not_odd(2));\n // Uncomment to make test fail\n // assert(not_equal(1, 1));\n}\n","path":"/home/jz/Documents/code/aztec/recurseNoirTS/circuits/simple/src/lib.nr"}}} \ No newline at end of file diff --git a/circuits/simple/src/lib.nr b/circuits/simple/src/lib.nr new file mode 100644 index 0000000..9027a2f --- /dev/null +++ b/circuits/simple/src/lib.nr @@ -0,0 +1,22 @@ +#[export] +pub fn not_equal(x: Field, y: Field) -> bool { + x != y +} + +#[export] +pub fn not_odd(x: Field) -> bool { + !(((x as u8) & 1) as bool) +} + +#[test] +fn test_not_equal() { + assert(not_equal(1, 2)); + // Uncomment to make test fail + // assert(not_equal(1, 1)); +} + +fn test_not_odd() { + assert(not_odd(2)); + // Uncomment to make test fail + // assert(not_equal(1, 1)); +} diff --git a/main.ts b/main.ts new file mode 100644 index 0000000..581cfd7 --- /dev/null +++ b/main.ts @@ -0,0 +1,11 @@ +import { CompiledCircuit } from '@noir-lang/types'; +import { not_equal, not_odd, main_call, main } from './codegen'; +import { setTimeout } from "timers/promises"; + + +async function start() { + let res = await main_call("02", "04"); + console.log(res); +} + +start(); diff --git a/package.json b/package.json new file mode 100644 index 0000000..3a2e03a --- /dev/null +++ b/package.json @@ -0,0 +1,21 @@ +{ + "license": "UNLICENSED", + "scripts": { + "clean": "rm -rf build", + "compile": "yarn clean && tsc", + "start": "node build/main.js", + "clean:codegen": "rm -rf codegen", + "export:simple": "nargo export --program-dir=./circuits/simple", + "export:recurse": "nargo export --program-dir=./circuits/recurse", + "export:all": "yarn clean:codegen && yarn export:simple && yarn export:recurse", + "codegen": "yarn noir-codegen ./circuits/**/export/*.json", + "compile:all": "yarn export:all && yarn codegen && yarn compile" + }, + "devDependencies": { + "@noir-lang/backend_barretenberg": "^0.26.0", + "@noir-lang/noir_codegen": "^0.26.0", + "@noir-lang/noir_js": "^0.26.0", + "@types/node": "^20.12.2", + "typescript": "^5.4.3" + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..31428b3 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,109 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ + + /* Projects */ + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + "lib": ["ES6"], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "commonjs", /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ + // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ + // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ + // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + "resolveJsonModule": true, /* Enable importing .json files. */ + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + "outDir": "./build", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..e2b25d4 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,497 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@aztec/bb.js@0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@aztec/bb.js/-/bb.js-0.30.1.tgz#32d7667ffab730aefa8ba5ec514d5c068d535ab5" + integrity sha512-HmBjU87LECD3RagU22IH/qDEbzKMK24seCS+W5KYAQj6MXDDKWUrin969K9tdop72uwE/TkKR4pBd8rY9JpNqg== + dependencies: + comlink "^4.4.1" + commander "^10.0.1" + debug "^4.3.4" + tslib "^2.4.0" + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@noir-lang/acvm_js@0.42.0": + version "0.42.0" + resolved "https://registry.yarnpkg.com/@noir-lang/acvm_js/-/acvm_js-0.42.0.tgz#a14be995daac989f47987e1d268e79fa3f07cfe0" + integrity sha512-yyTTzPo5fKzsxPL+midEnd52GZXiZLAmBqy7xsILRivdEaaHKXOYGSQWh2slWEfBvv/PcBk89XINydGTqSpeWA== + +"@noir-lang/backend_barretenberg@^0.26.0": + version "0.26.0" + resolved "https://registry.yarnpkg.com/@noir-lang/backend_barretenberg/-/backend_barretenberg-0.26.0.tgz#030d854ad622ccccc933012d9f335ef4cacfe194" + integrity sha512-64iRlAL+p9fx1BIk+1ZlNBGFS/y99AumdSbXIVAJzBO30wJ2eoR4hy5YLjLBw+ncFUHXpek7/JZ5aZbzXv4KAg== + dependencies: + "@aztec/bb.js" "0.30.1" + "@noir-lang/types" "0.26.0" + fflate "^0.8.0" + +"@noir-lang/noir_codegen@^0.26.0": + version "0.26.0" + resolved "https://registry.yarnpkg.com/@noir-lang/noir_codegen/-/noir_codegen-0.26.0.tgz#13e43189327fbed1899b0d7aaee036ab0d2ef8b2" + integrity sha512-8NIpVQYgXRqz5Fl4u7+V2SQpi2WiGgRbXGY2M4CJpf3XIRlktOh9wDqon5AstBwowzYY/zA0SDnofTy4XVLxKQ== + dependencies: + "@noir-lang/types" "0.26.0" + glob "^10.3.10" + ts-command-line-args "^2.5.1" + +"@noir-lang/noir_js@^0.26.0": + version "0.26.0" + resolved "https://registry.yarnpkg.com/@noir-lang/noir_js/-/noir_js-0.26.0.tgz#94da60d6b284b34c1663c0d73999765a63de252f" + integrity sha512-6G/Hg6UXxCeQIyBMLeBn/UFgVQDFY00nn4hUlKFeVZ4YkHoimEq+Fx1wXSlDXoJmCts0RaGvDKPDbqY4iT1MrA== + dependencies: + "@noir-lang/acvm_js" "0.42.0" + "@noir-lang/noirc_abi" "0.26.0" + "@noir-lang/types" "0.26.0" + +"@noir-lang/noirc_abi@0.26.0": + version "0.26.0" + resolved "https://registry.yarnpkg.com/@noir-lang/noirc_abi/-/noirc_abi-0.26.0.tgz#5052ab7a55228cc04d77cebf8753ea42636963ff" + integrity sha512-VRbySH2TNNAXH1JvPgPm/UKuL7ijooa4UaSuqBauytvzwGsYMPv2oKErp6fSSFm22eVPIGE992IOrRbTdYgMQQ== + dependencies: + "@noir-lang/types" "0.26.0" + +"@noir-lang/types@0.26.0": + version "0.26.0" + resolved "https://registry.yarnpkg.com/@noir-lang/types/-/types-0.26.0.tgz#81a1b7bb683d2f96be49f728c801594d3972a30b" + integrity sha512-xD2mJXbqFAxz0NTdILqTbiR3UhkPF8oO35QkUY6MzkUwz+NnLgJaAqaDWPLeWx8mrqhJQdo3fCdQ6XBsaubklA== + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@types/node@^20.12.2": + version "20.12.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.2.tgz#9facdd11102f38b21b4ebedd9d7999663343d72e" + integrity sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ== + dependencies: + undici-types "~5.26.4" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +array-back@^3.0.1, array-back@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" + integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== + +array-back@^4.0.1, array-back@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" + integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +comlink@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/comlink/-/comlink-4.4.1.tgz#e568b8e86410b809e8600eb2cf40c189371ef981" + integrity sha512-+1dlx0aY5Jo1vHy/tSsIGpSkN4tS9rZSW8FIhG0JH/crs9wwweswIo/POr451r7bZww3hFbPAKnTpimzL/mm4Q== + +command-line-args@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" + integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== + dependencies: + array-back "^3.1.0" + find-replace "^3.0.0" + lodash.camelcase "^4.3.0" + typical "^4.0.0" + +command-line-usage@^6.1.0: + version "6.1.3" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.3.tgz#428fa5acde6a838779dfa30e44686f4b6761d957" + integrity sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw== + dependencies: + array-back "^4.0.2" + chalk "^2.4.2" + table-layout "^1.0.2" + typical "^5.2.0" + +commander@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +deep-extend@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +fflate@^0.8.0: + version "0.8.2" + resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.8.2.tgz#fc8631f5347812ad6028bbe4a2308b2792aa1dea" + integrity sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A== + +find-replace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" + integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== + dependencies: + array-back "^3.0.1" + +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +glob@^10.3.10: + version "10.3.12" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.12.tgz#3a65c363c2e9998d220338e88a5f6ac97302960b" + integrity sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.6" + minimatch "^9.0.1" + minipass "^7.0.4" + path-scurry "^1.10.2" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +jackspeak@^2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + +lru-cache@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" + integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== + +minimatch@^9.0.1: + version "9.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" + integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + dependencies: + brace-expansion "^2.0.1" + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: + version "7.0.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" + integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-scurry@^1.10.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.2.tgz#8f6357eb1239d5fa1da8b9f70e9c080675458ba7" + integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +reduce-flatten@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" + integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +string-format@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-format/-/string-format-2.0.0.tgz#f2df2e7097440d3b65de31b6d40d54c96eaffb9b" + integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== + +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0: + name string-width-cjs + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + name strip-ansi-cjs + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +table-layout@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" + integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== + dependencies: + array-back "^4.0.1" + deep-extend "~0.6.0" + typical "^5.2.0" + wordwrapjs "^4.0.0" + +ts-command-line-args@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz#e64456b580d1d4f6d948824c274cf6fa5f45f7f0" + integrity sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw== + dependencies: + chalk "^4.1.0" + command-line-args "^5.1.1" + command-line-usage "^6.1.0" + string-format "^2.0.0" + +tslib@^2.4.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +typescript@^5.4.3: + version "5.4.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.3.tgz#5c6fedd4c87bee01cd7a528a30145521f8e0feff" + integrity sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg== + +typical@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" + integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== + +typical@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" + integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wordwrapjs@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" + integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== + dependencies: + reduce-flatten "^2.0.0" + typical "^5.2.0" + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1"