From 401497bad0e946e6deca6147b1a8cbd2a42daf5c Mon Sep 17 00:00:00 2001 From: ChiaMineJP Date: Mon, 20 Dec 2021 22:13:18 +0900 Subject: [PATCH 01/12] Updated documents --- CHANGELOG.md | 7 +++++++ README.md | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 76c4482..cd4d204 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [2.0.0] +This version is compatible with [`534c878f4eb1509e48c324695605bef2e4af7554`](https://github.com/Chia-Network/clvm/tree/534c878f4eb1509e48c324695605bef2e4af7554) of [clvm](https://github.com/Chia-Network/clvm) + +### Changed +- Made `op_div` bug-compatible with `clvm_rs` + ## [1.0.9] This version is compatible with [`389efa3fbe65c77600da63c78d29c0866d292754`](https://github.com/Chia-Network/clvm/tree/389efa3fbe65c77600da63c78d29c0866d292754) of [clvm](https://github.com/Chia-Network/clvm) @@ -245,6 +251,7 @@ At this version, I've managed to improve test complete time to `79s` -> `2s` by Initial (beta) release. +[2.0.0]: https://github.com/Chia-Mine/clvm-js/compare/v1.0.9...v2.0.0 [1.0.9]: https://github.com/Chia-Mine/clvm-js/compare/v1.0.8...v1.0.9 [1.0.8]: https://github.com/Chia-Mine/clvm-js/compare/v1.0.7...v1.0.8 [1.0.7]: https://github.com/Chia-Mine/clvm-js/compare/v1.0.6...v1.0.7 diff --git a/README.md b/README.md index 5e0fd73..ba42e5a 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,8 @@ If you find something not compatible with Python's clvm, please report it to Git ## Compatibility This code is compatible with: -- [`389efa3fbe65c77600da63c78d29c0866d292754`](https://github.com/Chia-Network/clvm/tree/389efa3fbe65c77600da63c78d29c0866d292754) of [clvm](https://github.com/Chia-Network/clvm) - - [Diff to the latest clvm](https://github.com/Chia-Network/clvm/compare/389efa3fbe65c77600da63c78d29c0866d292754...main) +- [`534c878f4eb1509e48c324695605bef2e4af7554`](https://github.com/Chia-Network/clvm/tree/534c878f4eb1509e48c324695605bef2e4af7554) of [clvm](https://github.com/Chia-Network/clvm) + - [Diff to the latest clvm](https://github.com/Chia-Network/clvm/compare/534c878f4eb1509e48c324695605bef2e4af7554...main) - [`f9db7faa370c4743e48be8a9823232e4d906c4d0`](https://github.com/Chia-Network/bls-signatures/tree/f9db7faa370c4743e48be8a9823232e4d906c4d0) of [bls-signatures](https://github.com/Chia-Network/bls-signatures) - [Diff to the latest bls-signatures](https://github.com/Chia-Network/bls-signatures/compare/f9db7faa370c4743e48be8a9823232e4d906c4d0...main) From 94aaddefb70d2a9f0cc77c06e3275a7ee36df13d Mon Sep 17 00:00:00 2001 From: ChiaMineJP Date: Mon, 20 Dec 2021 22:15:07 +0900 Subject: [PATCH 02/12] make op_div bug-compatible with clvm_rs --- src/more_ops.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/more_ops.ts b/src/more_ops.ts index 0774bb6..7ff0f5d 100644 --- a/src/more_ops.ts +++ b/src/more_ops.ts @@ -206,7 +206,16 @@ export function op_div(args: SExp){ throw new EvalError("div with 0", SExp.to(i0)); } cost += (l0+l1)*DIV_COST_PER_BYTE; - const q = division(i0, i1); // i0 / i1 + const divmod_result = divmod(i0, i1) as Tuple; + let q = divmod_result[0]; + const r = divmod_result[1]; + + // this is to preserve a buggy behavior from the initial implementation + // of this operator. + if(q === -1 && r !== 0){ + q += 1; + } + return malloc_cost(cost, SExp.to(q)); } From e6e937f919855934060d7d05629e54d08a948890 Mon Sep 17 00:00:00 2001 From: ChiaMineJP Date: Mon, 20 Dec 2021 22:25:12 +0900 Subject: [PATCH 03/12] Set version to 2.0.0-beta.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 365fe5a..4f92f24 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "clvm", - "version": "1.0.9", + "version": "2.0.0-beta.0", "author": "ChiaMineJP ", "description": "Javascript implementation of chia lisp", "license": "MIT", From 66ae5fb50f1cee286fefd05a13822b3464f9116c Mon Sep 17 00:00:00 2001 From: ChiaMineJP Date: Mon, 20 Dec 2021 23:44:06 +0900 Subject: [PATCH 04/12] Fixed a minor issue --- src/more_ops.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/more_ops.ts b/src/more_ops.ts index 7ff0f5d..d5e13df 100644 --- a/src/more_ops.ts +++ b/src/more_ops.ts @@ -212,8 +212,8 @@ export function op_div(args: SExp){ // this is to preserve a buggy behavior from the initial implementation // of this operator. - if(q === -1 && r !== 0){ - q += 1; + if (q === BigInt(-1) && r !== BigInt(0)) { + q += BigInt(1); } return malloc_cost(cost, SExp.to(q)); From a0923eab0bcc70f9221ccf09c60c6e90d0aa3a87 Mon Sep 17 00:00:00 2001 From: ChiaMineJP Date: Mon, 20 Dec 2021 23:44:30 +0900 Subject: [PATCH 05/12] Set version to 2.0.0-beta.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4f92f24..e678f56 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "clvm", - "version": "2.0.0-beta.0", + "version": "2.0.0-beta.1", "author": "ChiaMineJP ", "description": "Javascript implementation of chia lisp", "license": "MIT", From 8794050ce29e3620ce7929d6f66ceb1ddfcec37a Mon Sep 17 00:00:00 2001 From: ChiaMineJP Date: Mon, 21 Feb 2022 19:54:22 +0900 Subject: [PATCH 06/12] Updated decoding description --- src/serialize.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/serialize.ts b/src/serialize.ts index ad6d11e..11f03d8 100644 --- a/src/serialize.ts +++ b/src/serialize.ts @@ -1,16 +1,18 @@ /* decoding: read a byte -if it's 0xfe, it's nil (which might be same as 0) +if it's 0x80, it's nil (which might be same as 0) if it's 0xff, it's a cons box. Read two items, build cons otherwise, number of leading set bits is length in bytes to read size -0-0x7f are literal one byte values -leading bits is the count of bytes to read of size -0x80-0xbf is a size of one byte (perform logical and of first byte with 0x3f to get size) -0xc0-0xdf is a size of two bytes (perform logical and of first byte with 0x1f) -0xe0-0xef is 3 bytes ((perform logical and of first byte with 0xf)) -0xf0-0xf7 is 4 bytes ((perform logical and of first byte with 0x7)) -0xf7-0xfb is 5 bytes ((perform logical and of first byte with 0x3)) +For example, if bit fields of the reading first byte are: + 10xx xxxx -> 1byte is allocated for size_byte, and the value of the size is 00xx xxxx + 110x xxxx -> 2byte are allocated for size_byte, and the value of the size 000x xxxx xxxx xxxx + 1110 xxxx -> 3byte allocated. The size is 0000 xxxx xxxx xxxx xxxx xxxx + 1111 0xxx -> 4byte allocated. + 1111 10xx -> 5byte allocated. +If the reading first byte is one of the following: + 1000 0000 -> 0byte : nil + 0000 0000 -> 1byte : zero (b'\x00') */ import {SExp} from "./SExp"; import {Bytes, Stream, t} from "./__type_compatibility__"; From 8718a1388302e3e3a44419536ff52a59ea5574f4 Mon Sep 17 00:00:00 2001 From: ChiaMineJP Date: Tue, 22 Feb 2022 10:05:03 +0900 Subject: [PATCH 07/12] Fixed Engish --- src/serialize.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/serialize.ts b/src/serialize.ts index 11f03d8..ddff4e9 100644 --- a/src/serialize.ts +++ b/src/serialize.ts @@ -5,14 +5,14 @@ if it's 0x80, it's nil (which might be same as 0) if it's 0xff, it's a cons box. Read two items, build cons otherwise, number of leading set bits is length in bytes to read size For example, if bit fields of the reading first byte are: - 10xx xxxx -> 1byte is allocated for size_byte, and the value of the size is 00xx xxxx - 110x xxxx -> 2byte are allocated for size_byte, and the value of the size 000x xxxx xxxx xxxx - 1110 xxxx -> 3byte allocated. The size is 0000 xxxx xxxx xxxx xxxx xxxx - 1111 0xxx -> 4byte allocated. - 1111 10xx -> 5byte allocated. + 10xx xxxx -> 1 byte is allocated for size_byte, and the value of the size is 00xx xxxx + 110x xxxx -> 2 bytes are allocated for size_byte, and the value of the size 000x xxxx xxxx xxxx + 1110 xxxx -> 3 bytes allocated. The size is 0000 xxxx xxxx xxxx xxxx xxxx + 1111 0xxx -> 4 bytes allocated. + 1111 10xx -> 5 bytes allocated. If the reading first byte is one of the following: - 1000 0000 -> 0byte : nil - 0000 0000 -> 1byte : zero (b'\x00') + 1000 0000 -> 0 bytes : nil + 0000 0000 -> 1 byte : zero (b'\x00') */ import {SExp} from "./SExp"; import {Bytes, Stream, t} from "./__type_compatibility__"; From a1ed38eb47442e726f84491b0a13067c677f1f98 Mon Sep 17 00:00:00 2001 From: ChiaMineJP Date: Tue, 22 Feb 2022 19:18:42 +0900 Subject: [PATCH 08/12] Fixed English --- src/serialize.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/serialize.ts b/src/serialize.ts index ddff4e9..d976be6 100644 --- a/src/serialize.ts +++ b/src/serialize.ts @@ -4,13 +4,13 @@ read a byte if it's 0x80, it's nil (which might be same as 0) if it's 0xff, it's a cons box. Read two items, build cons otherwise, number of leading set bits is length in bytes to read size -For example, if bit fields of the reading first byte are: +For example, if the bit fields of the first byte read are: 10xx xxxx -> 1 byte is allocated for size_byte, and the value of the size is 00xx xxxx 110x xxxx -> 2 bytes are allocated for size_byte, and the value of the size 000x xxxx xxxx xxxx 1110 xxxx -> 3 bytes allocated. The size is 0000 xxxx xxxx xxxx xxxx xxxx 1111 0xxx -> 4 bytes allocated. 1111 10xx -> 5 bytes allocated. -If the reading first byte is one of the following: +If the first byte read is one of the following: 1000 0000 -> 0 bytes : nil 0000 0000 -> 1 byte : zero (b'\x00') */ From 60e01d33df81d2400d30f2c0d97c95e06b0139bb Mon Sep 17 00:00:00 2001 From: ChiaMineJP Date: Wed, 20 Jul 2022 21:54:32 +0900 Subject: [PATCH 09/12] Replaced npm package with --- CHANGELOG.md | 1 + README.md | 8 ++++---- package.json | 2 +- src/SExp.ts | 2 +- src/__bls_signatures__/index.ts | 2 +- src/__bls_signatures__/loader.d.ts | 2 +- src/__bls_signatures__/loader.js | 2 +- src/__type_compatibility__.ts | 3 +-- tests/as_javascript_test.ts | 2 +- yarn.lock | 14 +++++++------- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd4d204..cdc9a8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ This version is compatible with [`534c878f4eb1509e48c324695605bef2e4af7554`](htt ### Changed - Made `op_div` bug-compatible with `clvm_rs` +- Replaced npm package `@chiamine/bls-signatures` with `bls-signatures` ## [1.0.9] This version is compatible with [`389efa3fbe65c77600da63c78d29c0866d292754`](https://github.com/Chia-Network/clvm/tree/389efa3fbe65c77600da63c78d29c0866d292754) of [clvm](https://github.com/Chia-Network/clvm) diff --git a/README.md b/README.md index ba42e5a..d8c64ad 100644 --- a/README.md +++ b/README.md @@ -26,10 +26,10 @@ If you find something not compatible with Python's clvm, please report it to Git ## Compatibility This code is compatible with: -- [`534c878f4eb1509e48c324695605bef2e4af7554`](https://github.com/Chia-Network/clvm/tree/534c878f4eb1509e48c324695605bef2e4af7554) of [clvm](https://github.com/Chia-Network/clvm) - - [Diff to the latest clvm](https://github.com/Chia-Network/clvm/compare/534c878f4eb1509e48c324695605bef2e4af7554...main) -- [`f9db7faa370c4743e48be8a9823232e4d906c4d0`](https://github.com/Chia-Network/bls-signatures/tree/f9db7faa370c4743e48be8a9823232e4d906c4d0) of [bls-signatures](https://github.com/Chia-Network/bls-signatures) - - [Diff to the latest bls-signatures](https://github.com/Chia-Network/bls-signatures/compare/f9db7faa370c4743e48be8a9823232e4d906c4d0...main) +- [`fc73cd9dc2fc30a1fd461d0f05af9f9679e042c8`](https://github.com/Chia-Network/clvm/tree/fc73cd9dc2fc30a1fd461d0f05af9f9679e042c8) of [clvm](https://github.com/Chia-Network/clvm) + - [Diff to the latest clvm](https://github.com/Chia-Network/clvm/compare/fc73cd9dc2fc30a1fd461d0f05af9f9679e042c8...main) +- [`34f504bd0ef2cd3a219fea8ce6b15ff7684687fd`](https://github.com/Chia-Network/bls-signatures/tree/34f504bd0ef2cd3a219fea8ce6b15ff7684687fd) of [bls-signatures](https://github.com/Chia-Network/bls-signatures) + - [Diff to the latest bls-signatures](https://github.com/Chia-Network/bls-signatures/compare/34f504bd0ef2cd3a219fea8ce6b15ff7684687fd...main) ## Example ```javascript diff --git a/package.json b/package.json index e678f56..927c87c 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "node": ">=12.13.0" }, "dependencies": { - "@chiamine/bls-signatures": "^0.2.1-beta.2", + "bls-signatures": "^1.0.14", "jscrypto": "^1.0.2" }, "devDependencies": { diff --git a/src/SExp.ts b/src/SExp.ts index 7f866f2..26d187b 100644 --- a/src/SExp.ts +++ b/src/SExp.ts @@ -1,4 +1,4 @@ -import {G1Element} from "@chiamine/bls-signatures"; +import {G1Element} from "bls-signatures"; import {None, Optional} from "./__python_types__"; import {CLVMObject, CLVMType} from "./CLVMObject"; import {Bytes, isIterable, Tuple, t, Stream, isBytes, isTuple} from "./__type_compatibility__"; diff --git a/src/__bls_signatures__/index.ts b/src/__bls_signatures__/index.ts index 1f7eeb7..e1ffa88 100644 --- a/src/__bls_signatures__/index.ts +++ b/src/__bls_signatures__/index.ts @@ -1,4 +1,4 @@ -import type {G1Element as G1ElementType, ModuleInstance} from "@chiamine/bls-signatures"; +import type {G1Element as G1ElementType, ModuleInstance} from "bls-signatures"; import * as blsLoader from "./loader"; type TCreateModule = () => Promise; diff --git a/src/__bls_signatures__/loader.d.ts b/src/__bls_signatures__/loader.d.ts index f569aa5..8788733 100644 --- a/src/__bls_signatures__/loader.d.ts +++ b/src/__bls_signatures__/loader.d.ts @@ -1,3 +1,3 @@ -import type {ModuleInstance} from "@chiamine/bls-signatures"; +import type {ModuleInstance} from "bls-signatures"; type TCreateModule = () => Promise; export default TCreateModule; diff --git a/src/__bls_signatures__/loader.js b/src/__bls_signatures__/loader.js index da9fb2e..0731a62 100644 --- a/src/__bls_signatures__/loader.js +++ b/src/__bls_signatures__/loader.js @@ -1,2 +1,2 @@ -const createModuleInstance = require("@chiamine/bls-signatures"); +const createModuleInstance = require("bls-signatures"); module.exports = createModuleInstance; diff --git a/src/__type_compatibility__.ts b/src/__type_compatibility__.ts index b41f288..e68a112 100644 --- a/src/__type_compatibility__.ts +++ b/src/__type_compatibility__.ts @@ -3,8 +3,7 @@ import {Utf8} from "jscrypto/Utf8"; import {Word32Array} from "jscrypto/Word32Array"; import {SHA256} from "jscrypto/SHA256"; import {None} from "./__python_types__"; -import {G1Element} from "@chiamine/bls-signatures"; -import {bigint_from_bytes} from "./casts"; +import {G1Element} from "bls-signatures"; export function to_hexstr(r: Uint8Array) { return (new Word32Array(r)).toString(); diff --git a/tests/as_javascript_test.ts b/tests/as_javascript_test.ts index a529b80..e42cbbb 100644 --- a/tests/as_javascript_test.ts +++ b/tests/as_javascript_test.ts @@ -1,7 +1,7 @@ import {SExp, t, h, b, Bytes, getBLSModule, initialize, None, Tuple, list, str, repr} from "../src"; import {CLVMObject} from "../src/CLVMObject"; import {EvalError} from "../src/EvalError"; -import type {ModuleInstance} from "@chiamine/bls-signatures"; +import type {ModuleInstance} from "bls-signatures"; let BLS: ModuleInstance; diff --git a/yarn.lock b/yarn.lock index f74e03e..eb7e80b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -323,13 +323,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" @@ -1188,6 +1181,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" From f2ce4ef2ab45f9197a451adbea4e179b8299582e Mon Sep 17 00:00:00 2001 From: ChiaMineJP Date: Wed, 20 Jul 2022 22:03:32 +0900 Subject: [PATCH 10/12] Fixed pre_build.js --- pre_build.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pre_build.js b/pre_build.js index e678ca2..d1a279b 100644 --- a/pre_build.js +++ b/pre_build.js @@ -4,7 +4,7 @@ const fs = require("fs"); // clean and create output dir const distDir = path.join(__dirname, ".dist"); if(fs.existsSync(distDir)){ - fs.rmdirSync(distDir, {recursive: true}); + fs.rmSync(distDir, {recursive: true}); } fs.mkdirSync(distDir); const distNpmDir = path.join(distDir, "npm"); @@ -13,10 +13,10 @@ fs.mkdirSync(distNpmDir); // Copy wasm file const browserDir = path.join(distNpmDir, "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", "@chiamine", "bls-signatures", "blsjs.wasm"); +const blsWasmSrcPath = path.join(__dirname, "node_modules", "bls-signatures", "blsjs.wasm"); const blsWasmDestPath = path.join(browserDir, "blsjs.wasm"); if(!fs.existsSync(blsWasmSrcPath)){ console.error("blsjs.wasm not found at:"); From 9b0ae3b92af4c9eb83f3376f56c301bbec5d19f2 Mon Sep 17 00:00:00 2001 From: ChiaMineJP Date: Wed, 20 Jul 2022 22:19:55 +0900 Subject: [PATCH 11/12] Updated CHANGELOG --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cdc9a8c..192ff22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,10 @@ # Changelog ## [2.0.0] -This version is compatible with [`534c878f4eb1509e48c324695605bef2e4af7554`](https://github.com/Chia-Network/clvm/tree/534c878f4eb1509e48c324695605bef2e4af7554) of [clvm](https://github.com/Chia-Network/clvm) +This version is compatible with [`fc73cd9dc2fc30a1fd461d0f05af9f9679e042c8`](https://github.com/Chia-Network/clvm/tree/fc73cd9dc2fc30a1fd461d0f05af9f9679e042c8) of [clvm](https://github.com/Chia-Network/clvm) + +### Breaking Change +The behaviour of `op_div` has changed. See detailed explanation [here](https://www.chia.net/2022/03/04/divided-we-fork.en.html) ### Changed - Made `op_div` bug-compatible with `clvm_rs` From 8c59141db1a34e183d8ad0c7ddc892721cf3d733 Mon Sep 17 00:00:00 2001 From: ChiaMineJP Date: Wed, 20 Jul 2022 22:33:44 +0900 Subject: [PATCH 12/12] Set version to 2.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 927c87c..221ec8c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "clvm", - "version": "2.0.0-beta.1", + "version": "2.0.0", "author": "ChiaMineJP ", "description": "Javascript implementation of chia lisp", "license": "MIT",