diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 163f09b..9424bf5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,12 +13,12 @@ jobs: name: test runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - - name: Setup Node 12 - uses: actions/setup-node@v1 + - name: Setup Node 16 + uses: actions/setup-node@v3 with: - node-version: '12.x' + node-version: 16 - name: Get yarn version run: echo "yarn_version=$(yarn -v)" >> $GITHUB_ENV diff --git a/CHANGELOG.md b/CHANGELOG.md index 12b5a1a..70393c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## [0.9.6] +### Changed +- Updated `clvm` to v2.0.0 +- Replaced `clvm_rs` with `clvm_wasm` +- Renamed `--experiment-backend` flag to `--backend` +- Now `--backend python` must be `--backend js` +### Added +- Added tests for `div` operator + ## [0.9.5] ### Changed - Updated `clvm` to v1.0.9 @@ -68,6 +77,7 @@ This version was deleted/unpublished because I published useless uncompiled modu ## [0.1.0] - 2021-06-29 Initial release. +[0.9.6]: https://github.com/Chia-Mine/clvm_tools-js/compare/v0.9.5...v0.9.6 [0.9.5]: https://github.com/Chia-Mine/clvm_tools-js/compare/v0.9.4...v0.9.5 [0.9.4]: https://github.com/Chia-Mine/clvm_tools-js/compare/v0.9.3...v0.9.4 [0.9.3]: https://github.com/Chia-Mine/clvm_tools-js/compare/v0.9.2...v0.9.3 diff --git a/README.md b/README.md index 99a97ff..571a0b9 100644 --- a/README.md +++ b/README.md @@ -44,10 +44,10 @@ See details [here](https://github.com/Chia-Network/clvm_rs/issues/108). ## Compatibility This code is compatible with: -- [`c23032ee0aa667358564fd876ad78168a61bf595`](https://github.com/Chia-Network/clvm_tools/tree/c23032ee0aa667358564fd876ad78168a61bf595) of [clvm_tools](https://github.com/Chia-Network/clvm_tools) - - [Diff to the latest clvm_tools](https://github.com/Chia-Network/clvm_tools/compare/c23032ee0aa667358564fd876ad78168a61bf595...main) -- [`a6ff35de34308021bdf74dcfae1192838acb378a`](https://github.com/Chia-Network/clvm_rs/tree/a6ff35de34308021bdf74dcfae1192838acb378a) of [clvm_rs@0.1.15](https://github.com/Chia-Network/clvm_rs) - - [Diff to the latest clvm_rs](https://github.com/Chia-Network/clvm_rs/compare/a6ff35de34308021bdf74dcfae1192838acb378a...main) +- [`dca2c8e56917055fd86c93cb408e6e99730f558b`](https://github.com/Chia-Network/clvm_tools/tree/dca2c8e56917055fd86c93cb408e6e99730f558b) of [clvm_tools](https://github.com/Chia-Network/clvm_tools) + - [Diff to the latest clvm_tools](https://github.com/Chia-Network/clvm_tools/compare/dca2c8e56917055fd86c93cb408e6e99730f558b...main) +- [`611a7b8e13d086fb2e674b5501acbfacd9aad687`](https://github.com/Chia-Network/clvm_rs/tree/611a7b8e13d086fb2e674b5501acbfacd9aad687) of [clvm_rs@0.1.15](https://github.com/Chia-Network/clvm_rs) + - [Diff to the latest clvm_rs](https://github.com/Chia-Network/clvm_rs/compare/611a7b8e13d086fb2e674b5501acbfacd9aad687...main) ## Examples ### Command line @@ -66,7 +66,7 @@ $ npx clvm_tools brun "(+ 1 (q . 3))" "2" const clvm_tools = require("clvm_tools"); // You can skip async-initialization below until `op_pubkey_for_exp` or `op_point_add` is called -// or dispatch run/brun command with "--experiment-backend rust" option +// or dispatch run/brun command with "--backend rust" option await clvm_tools.initialize(); clvm_tools.go("run", "(mod ARGUMENT (+ ARGUMENT 3))"); @@ -75,7 +75,7 @@ clvm_tools.go("brun", "(+ 1 (q . 3))", "2"); // 5 // use clvm_rs for backend -clvm_tools.go("brun", "(+ 1 (q . 3))", "2", "--time", "--experiment-backend", "rust"); +clvm_tools.go("brun", "(+ 1 (q . 3))", "2", "--time", "--backend", "rust"); // assemble_from_ir: 0.00034061598777768154 // to_sexp_f: 0.0005161969661706678 // run_program: 0.0003017840385446391 @@ -133,7 +133,7 @@ clvm_tools.setPrintFunction(printFn); Some parts of `clvm_tools`/`clvm` depend on WebAssembly. For example: - `op_point_add` and `op_pubkey_for_exp` relies on wasm build of [bls-signatures](https://github.com/Chia-Mine/bls-signatures/tree/npm). -- option `--experiment-backend clvm_rs` for `run` and `brun` commands relies on wasm build of [clvm_rs](https://github.com/Chia-Network/clvm_rs) +- option `--backend rust` for `run` and `brun` commands relies on wasm build of [clvm_rs](https://github.com/Chia-Network/clvm_rs) #### .wasm file installation In order for those wasm files to be loaded correctly, you need to make sure that the wasm files are stored in the same folder as the main js file, which `clvm_tools` is bundled into. diff --git a/clvm_tools/cmds.ts b/clvm_tools/cmds.ts index 653e530..d97f619 100644 --- a/clvm_tools/cmds.ts +++ b/clvm_tools/cmds.ts @@ -195,8 +195,7 @@ export function launch_tool(args: string[], tool_name: "run"|"brun", default_sta help: "Output result as data, not as a program"}, ); parser.add_argument( - ["--experiment-backend"], {type: "str", - help: "force use of 'rust' or 'python' backend"}, + ["--backend"], {type: "str", help: "force use of 'rust' or 'js' backend"}, ); parser.add_argument( ["-i", "--include"], @@ -288,11 +287,28 @@ export function launch_tool(args: string[], tool_name: "run"|"brun", default_sta try{ const arg_max_cost = parsedArgs["max_cost"] as number; const max_cost = Math.max(0, (arg_max_cost !== 0 ? arg_max_cost - cost_offset : 0)); - const use_rust = ( - tool_name !== "run" - && !pre_eval_f - && parsedArgs["experiment_backend"] === "rust" - ); + + let use_rust = false; + if(parsedArgs["backend"] === "rust"){ + use_rust = true; + } + else if(parsedArgs["backend"] === "js"){ + use_rust = false; + } + /* // If you uncomment the lines below, the default runtime will be clvm_wasm + else{ + const is_stage0 = !( + typeof (parsedArgs["stage"] as typeof stage_2).run_program_for_search_paths === "function" + || typeof (parsedArgs["stage"] as typeof stage_1).make_invocation === "function" + ) + + use_rust = ( + tool_name !== "run" + && !pre_eval_f + && is_stage0 + ); + } + // */ if(use_rust){ if(input_serialized === None){ diff --git a/costs/run-benchmark.js b/costs/run-benchmark.js index 1781b67..74cb502 100644 --- a/costs/run-benchmark.js +++ b/costs/run-benchmark.js @@ -124,7 +124,7 @@ function run_benchmark_file(fn, existing_results){ const command = [ "node", - `"${commandPath}"`, "brun", "-c", "--quiet", "--time", `--experiment-backend ${useRust ? "rust" : "js"}`, + `"${commandPath}"`, "brun", "-c", "--quiet", "--time", `--backend ${useRust ? "rust" : "js"}`, `"${toOSPath(fn)}"`, `"${toOSPath(envPath)}"` ].join(" "); for(let i=0;i=12.22.0" + "node": ">=14.14.0" }, "dependencies": { - "clvm": "^1.0.9", - "clvm_rs": "^0.1.15" + "clvm": "^2.0.0", + "clvm_wasm": "^0.1.21" }, "devDependencies": { "@types/jest": "^26.0.23", @@ -53,8 +53,8 @@ "ts-jest": "^27.0.3", "ts-loader": "^9.2.3", "typescript": "^4.2.4", - "webpack": "^5.39.1", - "webpack-cli": "^4.7.2" + "webpack": "^5.74.0", + "webpack-cli": "^4.10.0" }, "browserslist": [ "edge >= 79", diff --git a/platform/clvm_rs.ts b/platform/clvm_rs.ts index cbbc309..5ccb0e0 100644 --- a/platform/clvm_rs.ts +++ b/platform/clvm_rs.ts @@ -55,10 +55,10 @@ export function run_clvm(program: Uint8Array, args: Uint8Array) { const defaultClvmRsWasmPath = (() => { if(typeof document !== "undefined" && document.currentScript){ const scriptDir = (document.currentScript as HTMLScriptElement).src.replace(/\/[^/]+$/, ""); - return scriptDir + "/clvm_rs_bg.wasm"; + return scriptDir + "/clvm_wasm_bg.wasm"; } else{ - return "./clvm_rs_bg.wasm"; + return "./clvm_wasm_bg.wasm"; } })(); @@ -69,7 +69,7 @@ export type TInitOption = { export async function initialize(option?: TInitOption){ if (typeof window === "undefined") { // eslint-disable-next-line @typescript-eslint/no-var-requires - const path = require.resolve("clvm_rs/clvm_rs_bg.wasm"); + const path = require.resolve("clvm_wasm/clvm_wasm_bg.wasm"); // eslint-disable-next-line @typescript-eslint/no-var-requires const bytes = require("fs").readFileSync(path); diff --git a/pre_build.js b/pre_build.js index b744249..7d80b47 100644 --- a/pre_build.js +++ b/pre_build.js @@ -9,14 +9,14 @@ if(!fs.existsSync(distDir)){ // clean and create output dir const npmDir = path.join(__dirname, ".dist", "npm"); if(fs.existsSync(npmDir)){ - fs.rmdirSync(npmDir, {recursive: true}); + fs.rmSync(npmDir, {recursive: true}); } fs.mkdirSync(npmDir); // Copy wasm file const browserDir = path.join(npmDir, "browser"); if(fs.existsSync(browserDir)){ - fs.rmdirSync(browserDir, {recursive: true}); + fs.rmSync(browserDir, {recursive: true}); } fs.mkdirSync(browserDir); const blsWasmSrcPath = path.join(__dirname, "node_modules", "clvm", "browser", "blsjs.wasm"); @@ -29,10 +29,10 @@ if(!fs.existsSync(blsWasmSrcPath)){ } fs.copyFileSync(blsWasmSrcPath, blsWasmDestPath); -const clvmrsWasmSrcPath = require.resolve("clvm_rs/clvm_rs_bg.wasm"); -const clvmrsWasmDestPath = path.join(browserDir, "clvm_rs_bg.wasm"); +const clvmrsWasmSrcPath = require.resolve("clvm_wasm/clvm_wasm_bg.wasm"); +const clvmrsWasmDestPath = path.join(browserDir, "clvm_wasm_bg.wasm"); if(!fs.existsSync(clvmrsWasmSrcPath)){ - console.error("clvm_rs_bg.wasm not found at:"); + console.error("clvm_wasm_bg.wasm not found at:"); console.error(clvmrsWasmSrcPath); console.error("Probably you haven't execute npm install yet"); return; diff --git a/tests/brun/div-6.txt b/tests/brun/div-6.txt new file mode 100644 index 0000000..efce4b9 --- /dev/null +++ b/tests/brun/div-6.txt @@ -0,0 +1,3 @@ +brun -c '(/ (q . 3) (q . 10))' +cost = 1046 +() diff --git a/tests/brun/div-7.txt b/tests/brun/div-7.txt new file mode 100644 index 0000000..9249e03 --- /dev/null +++ b/tests/brun/div-7.txt @@ -0,0 +1,3 @@ +brun -c '(/ (q . -3) (q . 10))' +cost = 1046 +() diff --git a/tests/brun/div-8.txt b/tests/brun/div-8.txt new file mode 100644 index 0000000..9eb6cef --- /dev/null +++ b/tests/brun/div-8.txt @@ -0,0 +1,3 @@ +brun -c '(/ (q . 3) (q . -10))' +cost = 1046 +() diff --git a/tests/brun/div-9.txt b/tests/brun/div-9.txt new file mode 100644 index 0000000..dc9b13c --- /dev/null +++ b/tests/brun/div-9.txt @@ -0,0 +1,3 @@ +brun -c '(/ (q . -3) (q . -10))' +cost = 1046 +() diff --git a/tests/brun/trace-1.txt b/tests/brun/trace-1.txt index 75bbf6b..091f08c 100644 --- a/tests/brun/trace-1.txt +++ b/tests/brun/trace-1.txt @@ -1,4 +1,4 @@ -brun --experiment-backend javascript -c -v '(+ (q . 10) (f 1))' '(51)' +brun --backend js -c -v '(+ (q . 10) (f 1))' '(51)' cost = 860 61 diff --git a/tests/brun/trace-2.txt b/tests/brun/trace-2.txt index 81fdb14..a1d8745 100644 --- a/tests/brun/trace-2.txt +++ b/tests/brun/trace-2.txt @@ -1,4 +1,4 @@ -brun --experiment-backend javascript -c -v '(x)' +brun --backend js -c -v '(x)' FAIL: clvm raise () (a 2 3) [((x))] => (didn't finish) diff --git a/tests/cmds_test.ts b/tests/cmds_test.ts index b3c690c..3d5f2c2 100644 --- a/tests/cmds_test.ts +++ b/tests/cmds_test.ts @@ -71,7 +71,7 @@ function invoke_tool(cmd_line: string){ const args = shlex.split(cmd_line); if(use_rust && args[0] === "brun"){ - args.push("--experiment-backend", "rust"); + args.push("--backend", "rust"); } const v = console_scripts[args[0] as "run"|"brun"|"opc"|"opd"|"read_ir"](args); diff --git a/webpack.config.js b/webpack.config.js index 323ebd8..96d9186 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -29,7 +29,7 @@ module.exports = { "crypto": false, }, alias: { - "clvm_rs": false, + "clvm_wasm": false, }, }, target: ["es5"], @@ -46,5 +46,6 @@ module.exports = { library: ["clvm_tools"], libraryTarget: "umd", globalObject: "this", + hashFunction: "xxhash64" }, }; \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index ef099d9..c63318a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -309,13 +309,6 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@chiamine/bls-signatures@^0.2.1-beta.2": - version "0.2.1-beta.2" - resolved "https://registry.yarnpkg.com/@chiamine/bls-signatures/-/bls-signatures-0.2.1-beta.2.tgz#6ce2ef0b2ed76bf1e650bc93ba2640e69c3240b1" - integrity sha512-Pd7ZHvn4ao5UX1DwxWofat/xLwo2TGeAY7HdhJ3YHtXQxsfHJS1OirCTGjO6cx/miW57pAXW7pwlXYQXo67paw== - dependencies: - binascii "0.0.2" - "@discoveryjs/json-ext@^0.5.0": version "0.5.3" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz#90420f9f9c6d3987f176a19a7d8e764271a2f55d" @@ -605,10 +598,10 @@ dependencies: "@babel/types" "^7.3.0" -"@types/eslint-scope@^3.7.0": - version "3.7.1" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.1.tgz#8dc390a7b4f9dd9f1284629efce982e41612116e" - integrity sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g== +"@types/eslint-scope@^3.7.3": + version "3.7.4" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" + integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== dependencies: "@types/eslint" "*" "@types/estree" "*" @@ -621,11 +614,16 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^0.0.50": +"@types/estree@*": version "0.0.50" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== +"@types/estree@^0.0.51": + version "0.0.51" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== + "@types/graceful-fs@^4.1.2": version "4.1.5" resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" @@ -915,22 +913,22 @@ "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.4.tgz#f03ce6311c0883a83d04569e2c03c6238316d2aa" - integrity sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ== +"@webpack-cli/configtest@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" + integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== -"@webpack-cli/info@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.3.0.tgz#9d78a31101a960997a4acd41ffd9b9300627fe2b" - integrity sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w== +"@webpack-cli/info@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" + integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.5.2": - version "1.5.2" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.5.2.tgz#ea584b637ff63c5a477f6f21604b5a205b72c9ec" - integrity sha512-vgJ5OLWadI8aKjDlOH3rb+dYyPd2GTZuQC/Tihjct6F9GpXGZINo3Y/IVuZVTM1eDQB+/AOsjPUWH/WySDaXvw== +"@webpack-cli/serve@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" + integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -975,11 +973,16 @@ acorn@^7.1.1, acorn@^7.4.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.2.4, acorn@^8.4.1: +acorn@^8.2.4: version "8.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c" integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== +acorn@^8.7.1: + version "8.8.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" + integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== + agent-base@6: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -1179,6 +1182,13 @@ binascii@0.0.2: resolved "https://registry.yarnpkg.com/binascii/-/binascii-0.0.2.tgz#a7f8a8801dbccf8b1756b743daa0fee9e2d9e0ee" integrity sha1-p/iogB28z4sXVrdD2qD+6eLZ4O4= +bls-signatures@^1.0.14: + version "1.0.14" + resolved "https://registry.yarnpkg.com/bls-signatures/-/bls-signatures-1.0.14.tgz#cfd735d2241e244b187cf28c37b19181894c8732" + integrity sha512-QDPMfwetbfjwijtgmfrQ+VZc0hItMDopmhSfkDVDdlk10nHm1v0sQMc+CULKYbmaOT/8HZBOAHWlbWe89cqNYA== + dependencies: + binascii "0.0.2" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -1351,18 +1361,18 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" -clvm@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/clvm/-/clvm-1.0.9.tgz#397b25f4eaf185debee65603651ae29a5e73024d" - integrity sha512-HA7ap/pdZdK4ywZptFBwOqtax6jMHBb4QfVVPFii9cXbDYIEErVbiYa584rtB5/FxtRb+OOeNdeIEnmyxFnQrQ== +clvm@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/clvm/-/clvm-2.0.0.tgz#e875af5ef715e5291300390d9cf7100ad664fbb8" + integrity sha512-jUHC01ZZYHaKDGUSkpsA76lzVSdVvac4kF/YL58PiKIRP4N9UfWFiFlrebrwLEgKmW7+hA556YjNq5M8GKas4Q== dependencies: - "@chiamine/bls-signatures" "^0.2.1-beta.2" + bls-signatures "^1.0.14" jscrypto "^1.0.2" -clvm_rs@^0.1.15: - version "0.1.15" - resolved "https://registry.yarnpkg.com/clvm_rs/-/clvm_rs-0.1.15.tgz#879fcc371764d13c9879544d48295926e7d051f4" - integrity sha512-A7CMl2FWzxHmh6A6z4VIDn9HsFQe2XWpjoJVb6XWCyU8WGuhy/TvKYsh33fHZHS3oxgFa98EdwWGzQ1/IxJX7g== +clvm_wasm@^0.1.21: + version "0.1.21" + resolved "https://registry.yarnpkg.com/clvm_wasm/-/clvm_wasm-0.1.21.tgz#68eb5d1db95cd2afecf9ef838a80bea2f7f89323" + integrity sha512-XQbCDXGJcr4AmgzpDKA8B3+ldCelFZus/Y9Z6pY60jzluDiK8In8T9t4p4pup1iYc4ahBhRDRQS0nvFE5NfNwQ== co@^4.6.0: version "4.6.0" @@ -1398,16 +1408,16 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colorette@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.3.0.tgz#ff45d2f0edb244069d3b772adeb04fed38d0a0af" - integrity sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w== - colorette@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== +colorette@^2.0.14: + version "2.0.19" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== + combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -1604,7 +1614,7 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.0: +enhanced-resolve@^5.0.0: version "5.8.2" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz#15ddc779345cbb73e97c611cd00c01c1e7bf4d8b" integrity sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA== @@ -1612,6 +1622,14 @@ enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.0: graceful-fs "^4.2.4" tapable "^2.2.0" +enhanced-resolve@^5.10.0: + version "5.10.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" + integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + enquirer@^2.3.5: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" @@ -1653,10 +1671,10 @@ es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.1" -es-module-lexer@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.7.1.tgz#c2c8e0f46f2df06274cdaf0dd3f3b33e0a0b267d" - integrity sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw== +es-module-lexer@^0.9.0: + version "0.9.3" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" + integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== es-to-primitive@^1.2.1: version "1.2.1" @@ -2144,6 +2162,11 @@ graceful-fs@^4.1.6, graceful-fs@^4.2.0: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== +graceful-fs@^4.2.9: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + has-bigints@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" @@ -2929,12 +2952,12 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -json-parse-even-better-errors@^2.3.0: +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== @@ -4112,7 +4135,7 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -v8-compile-cache@^2.0.3, v8-compile-cache@^2.2.0: +v8-compile-cache@^2.0.3: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== @@ -4155,10 +4178,10 @@ walker@^1.0.7: dependencies: makeerror "1.0.x" -watchpack@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.2.0.tgz#47d78f5415fe550ecd740f99fe2882323a58b1ce" - integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA== +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -4173,23 +4196,22 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -webpack-cli@^4.7.2: - version "4.8.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.8.0.tgz#5fc3c8b9401d3c8a43e2afceacfa8261962338d1" - integrity sha512-+iBSWsX16uVna5aAYN6/wjhJy1q/GKk4KjKvfg90/6hykCTSgozbfz5iRgDTSJt/LgSbYxdBX3KBHeobIs+ZEw== +webpack-cli@^4.10.0: + version "4.10.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" + integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.0.4" - "@webpack-cli/info" "^1.3.0" - "@webpack-cli/serve" "^1.5.2" - colorette "^1.2.1" + "@webpack-cli/configtest" "^1.2.0" + "@webpack-cli/info" "^1.5.0" + "@webpack-cli/serve" "^1.7.0" + colorette "^2.0.14" commander "^7.0.0" - execa "^5.0.0" + cross-spawn "^7.0.3" fastest-levenshtein "^1.0.12" import-local "^3.0.2" interpret "^2.2.0" rechoir "^0.7.0" - v8-compile-cache "^2.2.0" webpack-merge "^5.7.3" webpack-merge@^5.7.3: @@ -4200,40 +4222,40 @@ webpack-merge@^5.7.3: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-sources@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.0.tgz#b16973bcf844ebcdb3afde32eda1c04d0b90f89d" - integrity sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw== +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5.39.1: - version "5.50.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.50.0.tgz#5562d75902a749eb4d75131f5627eac3a3192527" - integrity sha512-hqxI7t/KVygs0WRv/kTgUW8Kl3YC81uyWQSo/7WUs5LsuRw0htH/fCwbVBGCuiX/t4s7qzjXFcf41O8Reiypag== +webpack@^5.74.0: + version "5.74.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" + integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== dependencies: - "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.50" + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" + acorn "^8.7.1" acorn-import-assertions "^1.7.6" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.0" - es-module-lexer "^0.7.1" + enhanced-resolve "^5.10.0" + es-module-lexer "^0.9.0" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" - json-parse-better-errors "^1.0.2" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" schema-utils "^3.1.0" tapable "^2.1.1" terser-webpack-plugin "^5.1.3" - watchpack "^2.2.0" - webpack-sources "^3.2.0" + watchpack "^2.4.0" + webpack-sources "^3.2.3" whatwg-encoding@^1.0.5: version "1.0.5"