Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
ab016eb
Switch point to be browser compatible
jonybur Jun 16, 2023
e35ae60
Webpack config changes
jonybur Jun 16, 2023
38ab0ea
Package.json changes
jonybur Jun 16, 2023
c51086f
Add web entrypoint
jonybur Jun 16, 2023
2ec7f60
Remove old webpack
jonybur Jun 16, 2023
5cda723
Enable browser imports
jonybur Jun 16, 2023
d5b9d56
Remove comment
jonybur Jun 18, 2023
914b96d
Fixes to allow compilation (wip)
jonybur Jun 18, 2023
068aea5
First working version
jonybur Jun 20, 2023
0aa28fc
Readd barretenberg_wasm node code
jonybur Jun 21, 2023
dd0cddb
Revert node files
jonybur Jun 21, 2023
fcb81f9
Revret random file
jonybur Jun 21, 2023
3bf4cfc
Revert barretenberg_wasm
jonybur Jun 21, 2023
45c2fac
Revert simple test
jonybur Jun 21, 2023
a8fbafb
Fix type issue
jonybur Jun 21, 2023
9a2131a
Adds point for node and browser
jonybur Jun 21, 2023
e174be9
Roll back web entrypoint
jonybur Jun 21, 2023
218e7c0
Cleanup
jonybur Jun 21, 2023
0697d6b
Remove need for config on nextjs
jonybur Jun 22, 2023
a91d6f4
Wasm path fix, wip double target outputs
jonybur Jun 22, 2023
80d6a0b
Allow multiple targets
jonybur Jun 23, 2023
226f016
Readd two entrypoints
jonybur Jun 23, 2023
557ce64
Replace imports
jonybur Jun 23, 2023
74de092
Add exports to package json
jonybur Jun 23, 2023
6a503c5
Fix build
jonybur Jun 23, 2023
dc767bc
Single entrypoint
jonybur Jun 23, 2023
cb839eb
Improve webpack configuration
jonybur Jun 23, 2023
d41d42d
Webpack improvements
jonybur Jun 23, 2023
480c3ea
Fix wasm link
jonybur Jun 23, 2023
10fbdf4
Fix wasm links
jonybur Jun 23, 2023
d5bfde0
Typo
jonybur Jun 23, 2023
7a3271d
Prettier
jonybur Jun 23, 2023
9024a6c
Add bbjs workflow
jonybur Jun 26, 2023
2fdf85f
Add bb build phase
jonybur Jun 26, 2023
6f694a3
Add cpp build
jonybur Jun 26, 2023
16aef23
Set up working-directory
jonybur Jun 26, 2023
60697f5
Update workflow
jonybur Jun 26, 2023
bf36f42
Remove bbjs workflow
jonybur Jun 26, 2023
b95b162
Improve paths to scripts
jonybur Jun 29, 2023
732f269
Update deps
jonybur Jun 29, 2023
921a579
Refactor
jonybur Jul 12, 2023
0725a19
Add tsconfig reference file
jonybur Jul 12, 2023
1997a3a
Ignore tsbuildinfo
jonybur Jul 12, 2023
68157a9
Remove tsbuildinfo files
jonybur Jul 12, 2023
18afd8a
Remove unused deps
jonybur Jul 12, 2023
89ab4f3
Set up nodemon in bb.js-dev
jonybur Jul 17, 2023
23cc31e
Fix prettier issues
jonybur Jul 17, 2023
e8aff77
Fix eslint
jonybur Jul 17, 2023
67981e2
Merge branch 'master' of github.com:AztecProtocol/barretenberg into j…
jonybur Jul 17, 2023
365e575
Fix docker file
jonybur Jul 18, 2023
752cfcb
Test fix
jonybur Jul 18, 2023
8f28b8a
Fix script path
jonybur Jul 18, 2023
b0b9648
Reinstantiate script path
jonybur Jul 18, 2023
8856636
Add docker env variable
jonybur Jul 18, 2023
01ae15d
Fix isDocker var
jonybur Jul 18, 2023
184d2f5
Try to fix tsconfig paths
jonybur Jul 18, 2023
bf0e9e7
Fix signature
jonybur Jul 18, 2023
170d127
Add jest config
jonybur Jul 18, 2023
eeb3024
Fix jest
jonybur Jul 18, 2023
15e86ea
Remove jest config
jonybur Jul 18, 2023
272cb35
Fix jest tests
jonybur Jul 18, 2023
15f6e69
Fix moduleNameMapper
jonybur Jul 18, 2023
4b3f7da
Change moduleNameMapper
jonybur Jul 18, 2023
bf11890
moduleNameMapper issue debugging
jonybur Jul 18, 2023
018f821
Fix rootDir
jonybur Jul 18, 2023
f2b4e84
Remove globals in ts-jest
jonybur Jul 19, 2023
d618b4a
Root dir set to src
jonybur Jul 19, 2023
70117c2
Merge branch 'master' of github.com:AztecProtocol/barretenberg into j…
jonybur Jul 19, 2023
465622f
Add bbjs release workflow
jonybur Jul 20, 2023
38edbde
Fix barretenberg
jonybur Jul 20, 2023
d981161
Fix workflow
jonybur Jul 20, 2023
ff4b441
Remove release please condition
jonybur Jul 20, 2023
4609184
Fix build step
jonybur Jul 20, 2023
7d1fed7
Add WASI-SDK step
jonybur Jul 20, 2023
b4f20ca
Fix tests
jonybur Jul 20, 2023
4f5f5f9
Remove simple.rawtest, ts-node dep, ignore browser/wasm file
jonybur Jul 20, 2023
6c658a7
Merge branch 'master' of github.com:AztecProtocol/barretenberg into j…
jonybur Jul 20, 2023
ff68b79
Remove workflow
jonybur Jul 20, 2023
68d5cb5
Update yarn.lock
jonybur Jul 20, 2023
6251826
Fix cmake issue
jonybur Jul 21, 2023
30a1e15
Add docker history output
jonybur Jul 21, 2023
1a93b95
Revert docker config
jonybur Jul 21, 2023
472ca76
Merge branch 'master' of github.com:AztecProtocol/barretenberg into j…
jonybur Jul 21, 2023
2834f86
Readd cmake
jonybur Jul 21, 2023
7002874
Debug information for folders
jonybur Jul 21, 2023
4645fe4
Add apk update
jonybur Jul 21, 2023
fc632ae
Revert acir_tests Dockerfile
jonybur Jul 21, 2023
a6c4484
Add cmake to ts/Dockerfile
jonybur Jul 21, 2023
d3ed0e0
Roll back changes
jonybur Jul 21, 2023
465cfa1
Readd cmake
jonybur Jul 21, 2023
5ca0d26
fix: fix attempts for bbjs-cra branch (#620)
ludamad Jul 21, 2023
d4dfaef
fix: bbjs with cra
ludamad Jul 24, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion acir_tests/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ COPY . .
# Run all native tests.
RUN ./run_acir_tests.sh
# Just run double_verify_proof as a sanity check as bb.js is quite slow.
RUN BB=../ts/dest/main.js ./run_acir_tests.sh double_verify_proof
RUN BB=./run_bb.sh ./run_acir_tests.sh double_verify_proof
4 changes: 4 additions & 0 deletions acir_tests/run_bb.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/bash
# Used to call this script from a stable path
DIR=$(dirname "$0")
exec node "$DIR/../ts/dest/node/main.js" $@
9 changes: 8 additions & 1 deletion ts/.eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,13 @@ const contexts = [
'EnumExpression',
];

let tsconfigPaths;
if (process.env.DOCKER_ENV) {
tsconfigPaths = ['./tsconfig.node.json', './tsconfig.browser.json'];
} else {
tsconfigPaths = ['./ts/tsconfig.node.json', './ts/tsconfig.browser.json'];
}

module.exports = {
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
root: true,
Expand All @@ -36,7 +43,7 @@ module.exports = {
{
files: ['*.ts', '*.tsx'],
parserOptions: {
project: true,
project: tsconfigPaths,
},
},
{
Expand Down
2 changes: 2 additions & 0 deletions ts/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,7 @@
node_modules
dest
.tsbuildinfo
.tsbuildinfo.browser
.tsbuildinfo.node
*.log
crs
6 changes: 4 additions & 2 deletions ts/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/barretenberg-wasm-linux-clang

FROM node:18-alpine

COPY --from=0 /usr/src/barretenberg /usr/src/barretenberg
WORKDIR /usr/src/barretenberg/ts
COPY .yarn .yarn
Expand All @@ -10,5 +11,6 @@ COPY yarn.lock yarn.lock
COPY .yarnrc.yml .yarnrc.yml
RUN yarn --immutable
COPY . .
RUN yarn formatting && yarn build:ts
CMD ["yarn", "test"]
ENV DOCKER_ENV=true
RUN yarn formatting && yarn build:ts:browser && yarn build:ts:node
CMD ["yarn", "test"]
4 changes: 2 additions & 2 deletions ts/bb.js-dev
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
# Add a symlink to this somewhere in your path.
# Now you can run bb.js-dev anywhere to execute latest code, no 'yarn build' required.
SCRIPT_PATH=$(dirname $(realpath $0))
export TS_NODE_PROJECT="$SCRIPT_PATH/tsconfig.json"
NODE_OPTIONS="--loader $SCRIPT_PATH/node_modules/ts-node/esm/transpile-only.mjs --no-warnings" node $SCRIPT_PATH/src/main.ts $@
export TS_NODE_PROJECT="$SCRIPT_PATH/tsconfig.node.json"
npx nodemon --ext '.ts' --watch 'src/**/*.ts' --exec "ts-node -r tsconfig-paths/register" $SCRIPT_PATH/src/main.ts $@

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replaces with nodemon to allow for the tsconfig paths to work

38 changes: 14 additions & 24 deletions ts/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,52 +8,41 @@
"displayName": "bb.js",
"tsconfig": "./tsconfig.json"
},
"main": "./dest/index.js",
"bin": "./dest/main.js",
"files": [
"src/",
"dest/",
"!dest/browser/*.wasm",
"README.md"
],
"scripts": {
"clean": "rm -rf ./dest .tsbuildinfo",
"build": "yarn clean && yarn build:wasm && yarn build:ts",
"clean": "rm -rf ./dest .tsbuildinfo.browser .tsbuildinfo.node",
"build": "yarn clean && yarn build:wasm && yarn build:ts:browser && yarn build:ts:node",

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two individual tsconfigs (node/web)

"build:dev": "tsc -b --watch",
"build:wasm": "cd ../cpp && cmake --preset wasm-threads && cmake --build --preset wasm-threads && cmake --preset wasm && cmake --build --preset wasm",
"build:ts": "tsc -b && webpack && chmod +x ./dest/main.js",
"build:ts:browser": "tsc -b tsconfig.browser.json && BUILD_TARGET=browser webpack && chmod +x ./dest/browser/main.js && BUILD_TARGET=browser node replace_imports.cjs",
"build:ts:node": "tsc -b tsconfig.node.json && chmod +x ./dest/node/main.js && BUILD_TARGET=node node replace_imports.cjs",
"build:bindings": "cd .. && ./scripts/bindgen.sh",
"serve": "webpack serve",
"formatting": "prettier --check ./src && eslint --max-warnings 0 ./src",
"formatting:fix": "prettier -w ./src",
"test": "yarn test:jest && yarn test:bin",
"test:jest": "NODE_OPTIONS='--loader ts-node/esm' NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --passWithNoTests",
"test": "yarn build:ts:browser && yarn build:ts:node && yarn test:jest && yarn test:bin",
"test:jest": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --passWithNoTests",
"test:bin": "cd ./bin-test && ./bin-test.sh",
"test-debug": "NODE_OPTIONS='--loader ts-node/esm' NODE_NO_WARNINGS=1 node --inspect-brk=0.0.0.0 --experimental-vm-modules $(yarn bin jest) --no-cache --passWithNoTests --runInBand",
"simple_test": "NODE_OPTIONS='--loader ts-node/esm' NODE_NO_WARNINGS=1 node ./src/examples/simple.rawtest.ts",
"test-debug": "NODE_NO_WARNINGS=1 node --inspect-brk=0.0.0.0 --experimental-vm-modules $(yarn bin jest) --no-cache --passWithNoTests --runInBand",
"prepack": "yarn build",
"deploy": "npm publish --access public"
},
"jest": {
"preset": "ts-jest/presets/default-esm",
"transform": {
"./src/.*\\.ts": [
"ts-jest",
{
"useESM": true
}
]
},
"moduleNameMapper": {
"^(\\.{1,2}/.*)\\.js$": "$1"
},
"testRegex": "./src/.*\\.test\\.ts$",
"rootDir": "./src"
"testRegex": "./dest/node/.*\\.test\\.js$",
"rootDir": "./dest"
},
"dependencies": {
"comlink": "^4.4.1",
"commander": "^10.0.1",
"debug": "^4.3.4",
"ts-node": "^10.9.1",
"tslib": "^2.4.0"
"idb-keyval": "^6.2.1"
},
"devDependencies": {
"@jest/globals": "^29.4.3",
Expand All @@ -69,12 +58,13 @@
"eslint": "^8.35.0",
"eslint-config-prettier": "^8.8.0",
"html-webpack-plugin": "^5.5.1",
"idb-keyval": "^6.2.1",
"jest": "^29.5.0",
"prettier": "^2.8.4",
"replace-in-file": "^7.0.1",

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Used in replace_imports

"resolve-typescript-plugin": "^2.0.1",
"ts-jest": "^29.1.0",
"ts-loader": "^9.4.2",
"tsconfig-paths-webpack-plugin": "^4.0.1",
"typescript": "^5.0.4",
"webpack": "^5.82.1",
"webpack-cli": "^5.1.1",
Expand Down
33 changes: 33 additions & 0 deletions ts/replace_imports.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
const replaceInFile = require('replace-in-file');
const fs = require('fs');
const path = require('path');

const buildTarget = process.env.BUILD_TARGET;
const dynamic_imports = ['barretenberg_wasm', 'crs', 'random', 'types'];

async function replaceImports() {
try {
dynamic_imports.forEach(async item => {
await replaceInFile({
files: path.resolve(__dirname, `dest/${buildTarget}/${item}/*`),
from: new RegExp(`'dynamic\\/${item}';`, 'g'),
to: `'./${buildTarget}/index.js';`,
});
});
const filePath = path.resolve(__dirname, `dest/${buildTarget}/barretenberg_wasm/${buildTarget}/index.js`);
// Grab the contents for a hacky check if this has ran twice
const contents = fs.readFileSync(filePath, 'utf8');
// hack to allow for shared .wasm files between build targets
if (contents.includes('../../') && !contents.includes('../../../')) {
await replaceInFile({
files: filePath,
from: /\.\.\/\.\.\//g,
to: `../../../`,
});
}
} catch (error) {
console.error('Error occurred:', error);
}
}

replaceImports();
2 changes: 1 addition & 1 deletion ts/src/barretenberg_wasm/barretenberg_wasm.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ describe('barretenberg wasm worker', () => {
let wasm!: BarretenbergWasmWorker;

beforeAll(async () => {
({ wasm, worker } = await BarretenbergWasm.newWorker(2));
({ wasm, worker } = (await BarretenbergWasm.newWorker(2)) as any);
}, 20000);

afterAll(async () => {
Expand Down
18 changes: 11 additions & 7 deletions ts/src/barretenberg_wasm/barretenberg_wasm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,14 @@ import { EventEmitter } from 'events';
import createDebug from 'debug';
import { Remote, proxy } from 'comlink';
import { randomBytes } from '../random/index.js';
// Webpack config swaps this import with ./browser/index.js
// You can toggle between these two imports to sanity check the type-safety.
import { fetchCode, getNumCpu, createWorker, getRemoteBarretenbergWasm, threadLogger, killSelf } from './node/index.js';
// import { fetchCode, getNumCpu, createWorker, randomBytes } from './browser/index.js';
import {
fetchCode,
getNumCpu,
createWorker,
getRemoteBarretenbergWasm,
threadLogger,
killSelf,
} from 'dynamic/barretenberg_wasm';

@jonybur jonybur Jul 17, 2023

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Avoids having to have two different (identical) entry points for the application.

Ideally, we would want two entrypoints, but since the only change node's barretenberg_wasm and browser's barretenberg_wasm have between them is the imports, we would end up having two identical BarretenbergWasm classes (same for every file that has the dynamic/... imports set up)

Webpack aliases were not bundling the result with the correct path either. Also I do believe it's a cleaner approach to be more explicit about the dynamic nature of these imports.


const debug = createDebug('bb.js:wasm');

Expand Down Expand Up @@ -68,7 +72,7 @@ export class BarretenbergWasm {

// Annoyingly the wasm declares if it's memory is shared or not. So now we need two wasms if we want to be
// able to fallback on "non shared memory" situations.
const code = await fetchCode(threads > 1 ? 'barretenberg-threads.wasm' : 'barretenberg.wasm');
const code = await fetchCode(threads > 1);
const { instance, module } = await WebAssembly.instantiate(code, this.getImportObj(this.memory));

this.instance = instance;
Expand All @@ -78,8 +82,8 @@ export class BarretenbergWasm {

// Create worker threads. Create 1 less than requested, as main thread counts as a thread.
this.logger('creating worker threads...');
this.workers = await Promise.all(Array.from({ length: threads - 1 }).map(createWorker));
this.remoteWasms = await Promise.all(this.workers.map(getRemoteBarretenbergWasm));
this.workers = (await Promise.all(Array.from({ length: threads - 1 }).map(createWorker))) as any;
this.remoteWasms = await Promise.all(this.workers.map(getRemoteBarretenbergWasm as any));
await Promise.all(this.remoteWasms.map(w => w.initThread(module, this.memory)));
this.logger('init complete.');
}
Expand Down
9 changes: 6 additions & 3 deletions ts/src/barretenberg_wasm/browser/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,16 @@ import { wrap } from 'comlink';
import { BarretenbergWasmWorker, type BarretenbergWasm } from '../barretenberg_wasm.js';
import debug from 'debug';

export async function fetchCode(name: string) {
const res = await fetch('/' + name);
export async function fetchCode(multithreading: boolean) {
const wasmModuleUrl = multithreading
? new URL(`../../barretenberg-threads.wasm`, import.meta.url)
: new URL(`../../barretenberg.wasm`, import.meta.url);
const res = await fetch(wasmModuleUrl.href);
return await res.arrayBuffer();
}

export function createWorker() {
const worker = new Worker('barretenberg_wasm.js');
const worker = new Worker(new URL(`./worker.js`, import.meta.url));
const debugStr = debug.disable();
debug.enable(debugStr);
worker.postMessage({ debug: debugStr });
Expand Down
4 changes: 2 additions & 2 deletions ts/src/barretenberg_wasm/node/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ import { wrap } from 'comlink';
import { nodeEndpoint } from './node_endpoint.js';
import { writeSync } from 'fs';

export async function fetchCode(name: string) {
export async function fetchCode(multithreading: boolean) {
const __dirname = dirname(fileURLToPath(import.meta.url));
return await readFile(__dirname + '/../../' + name);
return await readFile(__dirname + `/../../${multithreading ? 'barretenberg-threads.wasm' : 'barretenberg.wasm'}`);
}

export function createWorker() {
Expand Down
4 changes: 3 additions & 1 deletion ts/src/crs/browser/cached_net_crs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ export class CachedNetCrs {

constructor(public readonly numPoints: number) {}

static async new(numPoints: number) {
// This is to keep signrature equal with the node version of CRS
// eslint-disable-next-line @typescript-eslint/no-unused-vars
static async new(numPoints: number, _?: string) {
const crs = new CachedNetCrs(numPoints);
await crs.init();
return crs;
Expand Down
2 changes: 1 addition & 1 deletion ts/src/crs/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export { Crs } from './node/index.js';
export { Crs } from 'dynamic/crs';
37 changes: 0 additions & 37 deletions ts/src/examples/simple.rawtest.ts

This file was deleted.

2 changes: 1 addition & 1 deletion ts/src/random/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export * from './node/index.js';
export * from 'dynamic/random';
1 change: 1 addition & 0 deletions ts/src/types/browser/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './point.js';
50 changes: 50 additions & 0 deletions ts/src/types/browser/point.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import { Fr } from '../index.js';
import { BufferReader } from '../../serialize/buffer_reader.js';

export class Point {
static SIZE_IN_BYTES = 64;
static EMPTY = new Point(Fr.ZERO, Fr.ZERO);

constructor(public readonly x: Fr, public readonly y: Fr) {}

static random() {
// TODO: This is not a point on the curve!
return new Point(Fr.random(), Fr.random());
}

static fromBuffer(buffer: Uint8Array | BufferReader) {
const reader = BufferReader.asReader(buffer);
return new this(Fr.fromBuffer(reader), Fr.fromBuffer(reader));
}

static fromString(address: string) {
address = address.replace(/^0x/i, '');
const byteValues = new Uint8Array(Math.ceil(address.length / 2));
for (let i = 0; i < byteValues.length; i++) {
byteValues[i] = Number.parseInt(address.substr(i * 2, 2), 16);
}
return Point.fromBuffer(byteValues);
}

toBuffer() {
const xBuffer = this.x.toBuffer();
const yBuffer = this.y.toBuffer();
const combined = new Uint8Array(xBuffer.length + yBuffer.length);
combined.set(xBuffer, 0);
combined.set(yBuffer, xBuffer.length);
return combined;
}

toString() {
const buffer = this.toBuffer();
let hexString = '0x';
for (let i = 0; i < buffer.length; i++) {
hexString += buffer[i].toString(16).padStart(2, '0');
}
return hexString;
}

equals(rhs: Point) {
return this.x.equals(rhs.x) && this.y.equals(rhs.y);
}
}
2 changes: 1 addition & 1 deletion ts/src/types/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
export * from './ptr.js';
export * from './fields.js';
export * from './point.js';
export * from 'dynamic/types';
export * from './fixed_size_buffer.js';
export * from './raw_buffer.js';
1 change: 1 addition & 0 deletions ts/src/types/node/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './point.js';
4 changes: 2 additions & 2 deletions ts/src/types/point.ts → ts/src/types/node/point.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Fr } from './index.js';
import { BufferReader } from '../serialize/buffer_reader.js';
import { Fr } from '../index.js';
import { BufferReader } from '../../serialize/buffer_reader.js';

export class Point {
static SIZE_IN_BYTES = 64;
Expand Down
Loading