From ab5d6635ea4d0604dd79357cc8f65e39effe038a Mon Sep 17 00:00:00 2001 From: acolytec3 <17355484+acolytec3@users.noreply.github.com> Date: Wed, 6 Mar 2024 15:28:48 -0500 Subject: [PATCH] More clean up --- package.json | 6 +++++- scripts/ts-build.sh | 5 +++-- scripts/wasmToB64.js | 2 +- test/index.spec.ts | 15 ++++++++++----- wasm/rustbn_bg.wasm | Bin 0 -> 185998 bytes 5 files changed, 19 insertions(+), 9 deletions(-) create mode 100644 wasm/rustbn_bg.wasm diff --git a/package.json b/package.json index e55cea8..ff70c42 100644 --- a/package.json +++ b/package.json @@ -21,13 +21,17 @@ "scripts": { "build:node": "babel dist/esm --out-dir dist/cjs", "build:esm": "tsc", - "build": "rm -rf dist && npm run build:esm && npm run build:node && cp dist/esm/*.map dist/cjs && cp dist/esm/*.d.ts dist/cjs", + "build": "rm -rf dist && scripts/ts-build.sh", "prepare": "npm run build", "test": "vitest run test/*", "wasm2b64": "node scripts/wasmToB64.js" }, "main": "dist/cjs/rustbn.js", "module": "dist/esm/rustbn.js", + "exports": { + "require": "dist/cjs/rustbn.js", + "import": "dist/esm/rustbn.js" + }, "dependencies": { "@scure/base": "^1.1.5" }, diff --git a/scripts/ts-build.sh b/scripts/ts-build.sh index 922aa74..5ba9d69 100755 --- a/scripts/ts-build.sh +++ b/scripts/ts-build.sh @@ -44,12 +44,13 @@ build_node() { } EOT echo "> npm run build:node" - printf "${BLUE}[Node build] Working... " + printf "${BLUE}[Node build] Working...\n" cp dist/esm/*.map dist/cjs cp dist/esm/*.d.ts dist/cjs - npm run build:node + pwd + npx babel --config-file ./.babelrc dist/esm --out-dir dist/cjs green "DONE" diff --git a/scripts/wasmToB64.js b/scripts/wasmToB64.js index 4044c1f..208588b 100644 --- a/scripts/wasmToB64.js +++ b/scripts/wasmToB64.js @@ -1,5 +1,5 @@ // Converts WASM bytecode to JSON object to create JSON that can be loaded in ESM module without requiring `fetch` -const wasmBytes = require('fs').readFileSync('./dist/cjs/rustbn_bg.wasm') +const wasmBytes = require('fs').readFileSync('./wasm/rustbn_bg.wasm') const encoded = Buffer.from(wasmBytes, 'binary').toString('base64'); const json = { wasm: encoded diff --git a/test/index.spec.ts b/test/index.spec.ts index 3c11d27..d10d139 100644 --- a/test/index.spec.ts +++ b/test/index.spec.ts @@ -5,37 +5,42 @@ describe('Curve operations', () => { beforeAll(async () => { bn128 = await initRustBN() }) - it('successful addition', function (st) { + it('successful addition', function () { let input = '0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002' let output = '0x030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd315ed738c0e0a7c92e7845f96b2ae9c0a68a6a449e3538fc7ff3ebf7a5a18a2c4' assert.equal(bn128.ec_add(input), output) }) - it('successful multiplication', function (st) { + it('successful multiplication', function () { let input = '000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000042' let output = '0x12e017e752e718f7d1750138f3fd97d930073164499793d9b5405a9ff30e765a11d73265f2f8035c1eb99695a20bc0e550afbc7d506f9f1a1ffcb9f0ade01454' assert.equal(bn128.ec_mul(input), output) }) - it('successful pairing #1', function (st) { + it('successful pairing #1', function () { let input = '00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa' let output = '0x0000000000000000000000000000000000000000000000000000000000000001' assert.equal(bn128.ec_pairing(input), output) }) - it('successful pairing #2', function (st) { + it('successful pairing #2', function () { let input = '1c76476f4def4bb94541d57ebba1193381ffa7aa76ada664dd31c16024c43f593034dd2920f673e204fee2811c678745fc819b55d3e9d294e45c9b03a76aef41198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa' let output = '0x0000000000000000000000000000000000000000000000000000000000000000' assert.equal(bn128.ec_pairing(input), output) }) - it('successful pairing #3', function (st) { + it('successful pairing #3', function () { let input = '1c76476f4def4bb94541d57ebba1193381ffa7aa76ada664dd31c16024c43f593034dd2920f673e204fee2811c678745fc819b55d3e9d294e45c9b03a76aef41209dd15ebff5d46c4bd888e51a93cf99a7329636c63514396b4a452003a35bf704bf11ca01483bfa8b34b43561848d28905960114c8ac04049af4b6315a416782bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7ac41fadbf933c2a51be344d120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c9bb048165fe5e4de877550' let output = '0x0000000000000000000000000000000000000000000000000000000000000000' assert.equal(bn128.ec_pairing(input), output) }) + it.only('should pair', function() { + let input = '00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa' + const res = bn128.ec_pairing(input) + console.log(res) + }) }) \ No newline at end of file diff --git a/wasm/rustbn_bg.wasm b/wasm/rustbn_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..c7e42de4f85d81d36bb1603bd3c6a110f4956e5d GIT binary patch literal 185998 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