@aztec/bb.js 0.0.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dest/async_map/index.d.ts +10 -0
- package/dest/async_map/index.d.ts.map +1 -0
- package/dest/async_map/index.js +16 -0
- package/dest/barretenberg-threads.wasm +0 -0
- package/dest/barretenberg.wasm +0 -0
- package/dest/barretenberg_api/blake2s.test.d.ts +2 -0
- package/dest/barretenberg_api/blake2s.test.d.ts.map +1 -0
- package/dest/barretenberg_api/blake2s.test.js +30 -0
- package/dest/barretenberg_api/common.test.d.ts +2 -0
- package/dest/barretenberg_api/common.test.d.ts.map +1 -0
- package/dest/barretenberg_api/common.test.js +18 -0
- package/dest/barretenberg_api/index.d.ts +101 -0
- package/dest/barretenberg_api/index.d.ts.map +1 -0
- package/dest/barretenberg_api/index.js +371 -0
- package/dest/barretenberg_api/pedersen.test.d.ts +2 -0
- package/dest/barretenberg_api/pedersen.test.d.ts.map +1 -0
- package/dest/barretenberg_api/pedersen.test.js +69 -0
- package/dest/barretenberg_api/schnorr.test.d.ts +2 -0
- package/dest/barretenberg_api/schnorr.test.d.ts.map +1 -0
- package/dest/barretenberg_api/schnorr.test.js +113 -0
- package/dest/barretenberg_binder/heap_allocator.d.ts +22 -0
- package/dest/barretenberg_binder/heap_allocator.d.ts.map +1 -0
- package/dest/barretenberg_binder/heap_allocator.js +59 -0
- package/dest/barretenberg_binder/heap_allocator_sync.d.ts +22 -0
- package/dest/barretenberg_binder/heap_allocator_sync.d.ts.map +1 -0
- package/dest/barretenberg_binder/heap_allocator_sync.js +58 -0
- package/dest/barretenberg_binder/index.d.ts +32 -0
- package/dest/barretenberg_binder/index.d.ts.map +1 -0
- package/dest/barretenberg_binder/index.js +73 -0
- package/dest/barretenberg_wasm/barretenberg_wasm.d.ts +49 -0
- package/dest/barretenberg_wasm/barretenberg_wasm.d.ts.map +1 -0
- package/dest/barretenberg_wasm/barretenberg_wasm.js +190 -0
- package/dest/barretenberg_wasm/barretenberg_wasm.test.d.ts +2 -0
- package/dest/barretenberg_wasm/barretenberg_wasm.test.d.ts.map +1 -0
- package/dest/barretenberg_wasm/barretenberg_wasm.test.js +43 -0
- package/dest/barretenberg_wasm/browser/index.d.ts +8 -0
- package/dest/barretenberg_wasm/browser/index.d.ts.map +1 -0
- package/dest/barretenberg_wasm/browser/index.js +26 -0
- package/dest/barretenberg_wasm/browser/worker.d.ts +2 -0
- package/dest/barretenberg_wasm/browser/worker.d.ts.map +1 -0
- package/dest/barretenberg_wasm/browser/worker.js +11 -0
- package/dest/barretenberg_wasm/index.d.ts +2 -0
- package/dest/barretenberg_wasm/index.d.ts.map +1 -0
- package/dest/barretenberg_wasm/index.js +2 -0
- package/dest/barretenberg_wasm/node/index.d.ts +17 -0
- package/dest/barretenberg_wasm/node/index.d.ts.map +1 -0
- package/dest/barretenberg_wasm/node/index.js +40 -0
- package/dest/barretenberg_wasm/node/node_endpoint.d.ts +8 -0
- package/dest/barretenberg_wasm/node/node_endpoint.d.ts.map +1 -0
- package/dest/barretenberg_wasm/node/node_endpoint.js +28 -0
- package/dest/barretenberg_wasm/node/worker.d.ts +2 -0
- package/dest/barretenberg_wasm/node/worker.d.ts.map +1 -0
- package/dest/barretenberg_wasm/node/worker.js +9 -0
- package/dest/barretenberg_wasm.js +2 -0
- package/dest/barretenberg_wasm.js.LICENSE.txt +5 -0
- package/dest/bigint-array/index.d.ts +3 -0
- package/dest/bigint-array/index.d.ts.map +1 -0
- package/dest/bigint-array/index.js +21 -0
- package/dest/bindgen/function_declaration.d.ts +11 -0
- package/dest/bindgen/function_declaration.d.ts.map +1 -0
- package/dest/bindgen/function_declaration.js +2 -0
- package/dest/bindgen/index.d.ts +2 -0
- package/dest/bindgen/index.d.ts.map +1 -0
- package/dest/bindgen/index.js +15 -0
- package/dest/bindgen/mappings.d.ts +4 -0
- package/dest/bindgen/mappings.d.ts.map +1 -0
- package/dest/bindgen/mappings.js +63 -0
- package/dest/bindgen/rust.d.ts +2 -0
- package/dest/bindgen/rust.d.ts.map +1 -0
- package/dest/bindgen/rust.js +43 -0
- package/dest/bindgen/to_camel_case.d.ts +2 -0
- package/dest/bindgen/to_camel_case.d.ts.map +1 -0
- package/dest/bindgen/to_camel_case.js +11 -0
- package/dest/bindgen/typescript.d.ts +2 -0
- package/dest/bindgen/typescript.d.ts.map +1 -0
- package/dest/bindgen/typescript.js +80 -0
- package/dest/crs/browser/cached_net_crs.d.ts +25 -0
- package/dest/crs/browser/cached_net_crs.d.ts.map +1 -0
- package/dest/crs/browser/cached_net_crs.js +54 -0
- package/dest/crs/browser/index.d.ts +2 -0
- package/dest/crs/browser/index.d.ts.map +1 -0
- package/dest/crs/browser/index.js +2 -0
- package/dest/crs/index.d.ts +2 -0
- package/dest/crs/index.d.ts.map +1 -0
- package/dest/crs/index.js +2 -0
- package/dest/crs/net_crs.d.ts +36 -0
- package/dest/crs/net_crs.d.ts.map +1 -0
- package/dest/crs/net_crs.js +59 -0
- package/dest/crs/node/file_crs.d.ts +37 -0
- package/dest/crs/node/file_crs.d.ts.map +1 -0
- package/dest/crs/node/file_crs.js +51 -0
- package/dest/crs/node/index.d.ts +31 -0
- package/dest/crs/node/index.d.ts.map +1 -0
- package/dest/crs/node/index.js +41 -0
- package/dest/examples/simple.rawtest.d.ts +2 -0
- package/dest/examples/simple.rawtest.d.ts.map +1 -0
- package/dest/examples/simple.rawtest.js +24 -0
- package/dest/examples/simple.test.d.ts +2 -0
- package/dest/examples/simple.test.d.ts.map +1 -0
- package/dest/examples/simple.test.js +22 -0
- package/dest/factory/index.d.ts +21 -0
- package/dest/factory/index.d.ts.map +1 -0
- package/dest/factory/index.js +34 -0
- package/dest/index.d.ts +4 -0
- package/dest/index.d.ts.map +1 -0
- package/dest/index.html +1 -0
- package/dest/index.js +4 -0
- package/dest/main-dev.d.ts +3 -0
- package/dest/main-dev.d.ts.map +1 -0
- package/dest/main-dev.js +3 -0
- package/dest/main.d.ts +10 -0
- package/dest/main.d.ts.map +1 -0
- package/dest/main.js +288 -0
- package/dest/random/browser/index.d.ts +2 -0
- package/dest/random/browser/index.d.ts.map +1 -0
- package/dest/random/browser/index.js +31 -0
- package/dest/random/index.d.ts +2 -0
- package/dest/random/index.d.ts.map +1 -0
- package/dest/random/index.js +2 -0
- package/dest/random/node/index.d.ts +2 -0
- package/dest/random/node/index.d.ts.map +1 -0
- package/dest/random/node/index.js +5 -0
- package/dest/serialize/buffer_reader.d.ts +28 -0
- package/dest/serialize/buffer_reader.d.ts.map +1 -0
- package/dest/serialize/buffer_reader.js +66 -0
- package/dest/serialize/index.d.ts +4 -0
- package/dest/serialize/index.d.ts.map +1 -0
- package/dest/serialize/index.js +4 -0
- package/dest/serialize/output_type.d.ts +11 -0
- package/dest/serialize/output_type.d.ts.map +1 -0
- package/dest/serialize/output_type.js +44 -0
- package/dest/serialize/serialize.d.ts +53 -0
- package/dest/serialize/serialize.d.ts.map +1 -0
- package/dest/serialize/serialize.js +139 -0
- package/dest/simple_test.js +2 -0
- package/dest/simple_test.js.LICENSE.txt +14 -0
- package/dest/types/fields.d.ts +33 -0
- package/dest/types/fields.d.ts.map +1 -0
- package/dest/types/fields.js +86 -0
- package/dest/types/fixed_size_buffer.d.ts +26 -0
- package/dest/types/fixed_size_buffer.d.ts.map +1 -0
- package/dest/types/fixed_size_buffer.js +54 -0
- package/dest/types/index.d.ts +6 -0
- package/dest/types/index.d.ts.map +1 -0
- package/dest/types/index.js +6 -0
- package/dest/types/point.d.ts +17 -0
- package/dest/types/point.d.ts.map +1 -0
- package/dest/types/point.js +32 -0
- package/dest/types/ptr.d.ts +13 -0
- package/dest/types/ptr.d.ts.map +1 -0
- package/dest/types/ptr.js +20 -0
- package/dest/types/raw_buffer.d.ts +3 -0
- package/dest/types/raw_buffer.d.ts.map +1 -0
- package/dest/types/raw_buffer.js +5 -0
- package/package.json +79 -0
- package/src/async_map/index.ts +15 -0
- package/src/barretenberg_api/blake2s.test.ts +39 -0
- package/src/barretenberg_api/common.test.ts +21 -0
- package/src/barretenberg_api/index.ts +461 -0
- package/src/barretenberg_api/pedersen.test.ts +84 -0
- package/src/barretenberg_api/schnorr.test.ts +169 -0
- package/src/barretenberg_binder/heap_allocator.ts +62 -0
- package/src/barretenberg_binder/heap_allocator_sync.ts +61 -0
- package/src/barretenberg_binder/index.ts +76 -0
- package/src/barretenberg_wasm/barretenberg_wasm.test.ts +52 -0
- package/src/barretenberg_wasm/barretenberg_wasm.ts +222 -0
- package/src/barretenberg_wasm/browser/index.ts +32 -0
- package/src/barretenberg_wasm/browser/worker.ts +13 -0
- package/src/barretenberg_wasm/index.ts +1 -0
- package/src/barretenberg_wasm/node/index.ts +46 -0
- package/src/barretenberg_wasm/node/node_endpoint.ts +28 -0
- package/src/barretenberg_wasm/node/worker.ts +10 -0
- package/src/bigint-array/index.ts +21 -0
- package/src/bindgen/function_declaration.ts +11 -0
- package/src/bindgen/index.ts +17 -0
- package/src/bindgen/mappings.ts +66 -0
- package/src/bindgen/rust.ts +52 -0
- package/src/bindgen/to_camel_case.ts +10 -0
- package/src/bindgen/typescript.ts +91 -0
- package/src/crs/browser/cached_net_crs.ts +60 -0
- package/src/crs/browser/index.ts +1 -0
- package/src/crs/index.ts +1 -0
- package/src/crs/net_crs.ts +69 -0
- package/src/crs/node/file_crs.ts +60 -0
- package/src/crs/node/index.ts +48 -0
- package/src/examples/simple.rawtest.ts +32 -0
- package/src/examples/simple.test.ts +27 -0
- package/src/factory/index.ts +36 -0
- package/src/index.html +9 -0
- package/src/index.ts +3 -0
- package/src/main-dev.ts +2 -0
- package/src/main.ts +329 -0
- package/src/random/browser/index.ts +32 -0
- package/src/random/index.ts +1 -0
- package/src/random/node/index.ts +5 -0
- package/src/serialize/buffer_reader.ts +82 -0
- package/src/serialize/index.ts +3 -0
- package/src/serialize/output_type.ts +53 -0
- package/src/serialize/serialize.ts +157 -0
- package/src/types/fields.ts +98 -0
- package/src/types/fixed_size_buffer.ts +59 -0
- package/src/types/index.ts +5 -0
- package/src/types/point.ts +35 -0
- package/src/types/ptr.ts +20 -0
- package/src/types/raw_buffer.ts +3 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { Fr } from './index.js';
|
|
3
|
+
import { BufferReader } from '../serialize/buffer_reader.js';
|
|
4
|
+
export declare class Point {
|
|
5
|
+
readonly x: Fr;
|
|
6
|
+
readonly y: Fr;
|
|
7
|
+
static SIZE_IN_BYTES: number;
|
|
8
|
+
static EMPTY: Point;
|
|
9
|
+
constructor(x: Fr, y: Fr);
|
|
10
|
+
static random(): Point;
|
|
11
|
+
static fromBuffer(buffer: Uint8Array | BufferReader): Point;
|
|
12
|
+
static fromString(address: string): Point;
|
|
13
|
+
toBuffer(): Buffer;
|
|
14
|
+
toString(): string;
|
|
15
|
+
equals(rhs: Point): boolean;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=point.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../src/types/point.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,qBAAa,KAAK;aAIY,CAAC,EAAE,EAAE;aAAkB,CAAC,EAAE,EAAE;IAHxD,MAAM,CAAC,aAAa,SAAM;IAC1B,MAAM,CAAC,KAAK,QAA+B;gBAEf,CAAC,EAAE,EAAE,EAAkB,CAAC,EAAE,EAAE;IAExD,MAAM,CAAC,MAAM;IAKb,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY;IAKnD,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM;IAIjC,QAAQ;IAIR,QAAQ;IAIR,MAAM,CAAC,GAAG,EAAE,KAAK;CAGlB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Fr } from './index.js';
|
|
2
|
+
import { BufferReader } from '../serialize/buffer_reader.js';
|
|
3
|
+
class Point {
|
|
4
|
+
constructor(x, y) {
|
|
5
|
+
this.x = x;
|
|
6
|
+
this.y = y;
|
|
7
|
+
}
|
|
8
|
+
static random() {
|
|
9
|
+
// TODO: This is not a point on the curve!
|
|
10
|
+
return new Point(Fr.random(), Fr.random());
|
|
11
|
+
}
|
|
12
|
+
static fromBuffer(buffer) {
|
|
13
|
+
const reader = BufferReader.asReader(buffer);
|
|
14
|
+
return new this(Fr.fromBuffer(reader), Fr.fromBuffer(reader));
|
|
15
|
+
}
|
|
16
|
+
static fromString(address) {
|
|
17
|
+
return Point.fromBuffer(Buffer.from(address.replace(/^0x/i, ''), 'hex'));
|
|
18
|
+
}
|
|
19
|
+
toBuffer() {
|
|
20
|
+
return Buffer.concat([this.x.toBuffer(), this.y.toBuffer()]);
|
|
21
|
+
}
|
|
22
|
+
toString() {
|
|
23
|
+
return '0x' + this.toBuffer().toString('hex');
|
|
24
|
+
}
|
|
25
|
+
equals(rhs) {
|
|
26
|
+
return this.x.equals(rhs.x) && this.y.equals(rhs.y);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
Point.SIZE_IN_BYTES = 64;
|
|
30
|
+
Point.EMPTY = new Point(Fr.ZERO, Fr.ZERO);
|
|
31
|
+
export { Point };
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFN0QsTUFBYSxLQUFLO0lBSWhCLFlBQTRCLENBQUssRUFBa0IsQ0FBSztRQUE1QixNQUFDLEdBQUQsQ0FBQyxDQUFJO1FBQWtCLE1BQUMsR0FBRCxDQUFDLENBQUk7SUFBRyxDQUFDO0lBRTVELE1BQU0sQ0FBQyxNQUFNO1FBQ1gsMENBQTBDO1FBQzFDLE9BQU8sSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWlDO1FBQ2pELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFlO1FBQy9CLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7QUE3Qk0sbUJBQWEsR0FBRyxFQUFFLENBQUM7QUFDbkIsV0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBRmhDLEtBQUsifQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BufferReader } from '../serialize/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Holds an opaque pointer into WASM memory.
|
|
4
|
+
* Currently only 4 bytes, but could grow to 8 bytes with wasm64.
|
|
5
|
+
*/
|
|
6
|
+
export declare class Ptr {
|
|
7
|
+
readonly value: Uint8Array;
|
|
8
|
+
static SIZE_IN_BYTES: number;
|
|
9
|
+
constructor(value: Uint8Array);
|
|
10
|
+
static fromBuffer(buffer: Uint8Array | BufferReader): Ptr;
|
|
11
|
+
toBuffer(): Uint8Array;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ptr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ptr.d.ts","sourceRoot":"","sources":["../../src/types/ptr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD;;;GAGG;AACH,qBAAa,GAAG;aAGc,KAAK,EAAE,UAAU;IAF7C,MAAM,CAAC,aAAa,SAAK;gBAEG,KAAK,EAAE,UAAU;IAE7C,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY;IAKnD,QAAQ;CAGT"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BufferReader } from '../serialize/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Holds an opaque pointer into WASM memory.
|
|
4
|
+
* Currently only 4 bytes, but could grow to 8 bytes with wasm64.
|
|
5
|
+
*/
|
|
6
|
+
class Ptr {
|
|
7
|
+
constructor(value) {
|
|
8
|
+
this.value = value;
|
|
9
|
+
}
|
|
10
|
+
static fromBuffer(buffer) {
|
|
11
|
+
const reader = BufferReader.asReader(buffer);
|
|
12
|
+
return new this(reader.readBytes(this.SIZE_IN_BYTES));
|
|
13
|
+
}
|
|
14
|
+
toBuffer() {
|
|
15
|
+
return this.value;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
Ptr.SIZE_IN_BYTES = 4;
|
|
19
|
+
export { Ptr };
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHRyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3B0ci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQ7OztHQUdHO0FBQ0gsTUFBYSxHQUFHO0lBR2QsWUFBNEIsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUFHLENBQUM7SUFFakQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFpQztRQUNqRCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOztBQVhNLGlCQUFhLEdBQUcsQ0FBQyxDQUFDO1NBRGQsR0FBRyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw_buffer.d.ts","sourceRoot":"","sources":["../../src/types/raw_buffer.ts"],"names":[],"mappings":"AAEA,qBAAa,SAAU,SAAQ,UAAU;CAAG"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Used when the data is to be sent exactly as is. i.e. no length prefix will be added.
|
|
2
|
+
// This is useful for sending structured data that can be parsed-as-you-go, as opposed to just an array of bytes.
|
|
3
|
+
export class RawBuffer extends Uint8Array {
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3X2J1ZmZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9yYXdfYnVmZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVGQUF1RjtBQUN2RixpSEFBaUg7QUFDakgsTUFBTSxPQUFPLFNBQVUsU0FBUSxVQUFVO0NBQUcifQ==
|
package/package.json
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@aztec/bb.js",
|
|
3
|
+
"version": "0.0.1-alpha.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"typedoc": {
|
|
6
|
+
"entryPoint": "./src/index.ts",
|
|
7
|
+
"displayName": "Barretenberg.js",
|
|
8
|
+
"tsconfig": "./tsconfig.json"
|
|
9
|
+
},
|
|
10
|
+
"bin": {
|
|
11
|
+
"bb.js": "./dest/main.js",
|
|
12
|
+
"bb.js-dev": "./src/main-dev.ts"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/",
|
|
16
|
+
"dest/",
|
|
17
|
+
"README.md"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
21
|
+
"build": "yarn clean && yarn build:wasm && tsc -b && webpack && chmod +x ./dest/main.js",
|
|
22
|
+
"build:dev": "tsc -b --watch",
|
|
23
|
+
"build:wasm": "cd ../cpp && cmake --preset wasm-threads && cmake --build --preset wasm-threads && cmake --preset wasm && cmake --build --preset wasm",
|
|
24
|
+
"serve": "webpack serve",
|
|
25
|
+
"formatting": "prettier --check ./src && eslint --max-warnings 0 ./src",
|
|
26
|
+
"formatting:fix": "prettier -w ./src",
|
|
27
|
+
"test": "NODE_OPTIONS='--loader ts-node/esm' NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --passWithNoTests",
|
|
28
|
+
"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",
|
|
29
|
+
"simple_test": "NODE_OPTIONS='--loader ts-node/esm' NODE_NO_WARNINGS=1 node ./src/examples/simple.rawtest.ts"
|
|
30
|
+
},
|
|
31
|
+
"jest": {
|
|
32
|
+
"preset": "ts-jest/presets/default-esm",
|
|
33
|
+
"transform": {
|
|
34
|
+
"./src/.*\\.ts": [
|
|
35
|
+
"ts-jest",
|
|
36
|
+
{
|
|
37
|
+
"useESM": true
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"moduleNameMapper": {
|
|
42
|
+
"^(\\.{1,2}/.*)\\.js$": "$1"
|
|
43
|
+
},
|
|
44
|
+
"testRegex": "./src/.*\\.test\\.ts$",
|
|
45
|
+
"rootDir": "./src"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"commander": "^10.0.1",
|
|
49
|
+
"ts-node": "^10.9.1",
|
|
50
|
+
"tslib": "^2.4.0"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@jest/globals": "^29.4.3",
|
|
54
|
+
"@types/debug": "^4.1.7",
|
|
55
|
+
"@types/detect-node": "^2.0.0",
|
|
56
|
+
"@types/jest": "^29.4.0",
|
|
57
|
+
"@types/node": "^18.7.23",
|
|
58
|
+
"@types/source-map-support": "^0.5.6",
|
|
59
|
+
"@typescript-eslint/eslint-plugin": "^5.54.1",
|
|
60
|
+
"@typescript-eslint/parser": "^5.54.1",
|
|
61
|
+
"buffer": "^6.0.3",
|
|
62
|
+
"comlink": "^4.4.1",
|
|
63
|
+
"copy-webpack-plugin": "^11.0.0",
|
|
64
|
+
"debug": "^4.3.4",
|
|
65
|
+
"eslint": "^8.35.0",
|
|
66
|
+
"eslint-config-prettier": "^8.8.0",
|
|
67
|
+
"html-webpack-plugin": "^5.5.1",
|
|
68
|
+
"idb-keyval": "^6.2.1",
|
|
69
|
+
"jest": "^29.5.0",
|
|
70
|
+
"prettier": "^2.8.4",
|
|
71
|
+
"resolve-typescript-plugin": "^2.0.1",
|
|
72
|
+
"ts-jest": "^29.1.0",
|
|
73
|
+
"ts-loader": "^9.4.2",
|
|
74
|
+
"typescript": "^5.0.4",
|
|
75
|
+
"webpack": "^5.82.1",
|
|
76
|
+
"webpack-cli": "^5.1.1",
|
|
77
|
+
"webpack-dev-server": "^4.15.0"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Much the same as Array.map, only it takes an async fn as an element handler, and ensures that each element handler
|
|
3
|
+
* is executed sequentially.
|
|
4
|
+
* The pattern of `await Promise.all(arr.map(async e => { ... }))` only works if one's happy with each element handler
|
|
5
|
+
* being run concurrently.
|
|
6
|
+
* If one required sequential execution of async fn's, the only alternative was regular loops with mutable state vars.
|
|
7
|
+
* The equivalent with asyncMap: `await asyncMap(arr, async e => { ... })`.
|
|
8
|
+
*/
|
|
9
|
+
export async function asyncMap<T, U>(arr: T[], fn: (e: T, i: number) => Promise<U>): Promise<U[]> {
|
|
10
|
+
const results: U[] = [];
|
|
11
|
+
for (let i = 0; i < arr.length; ++i) {
|
|
12
|
+
results.push(await fn(arr[i], i));
|
|
13
|
+
}
|
|
14
|
+
return results;
|
|
15
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { newBarretenbergApiSync } from '../factory/index.js';
|
|
2
|
+
import { Buffer32, Fr } from '../types/index.js';
|
|
3
|
+
import { BarretenbergApiSync } from './index.js';
|
|
4
|
+
|
|
5
|
+
describe('blake2s', () => {
|
|
6
|
+
let api: BarretenbergApiSync;
|
|
7
|
+
|
|
8
|
+
beforeAll(async () => {
|
|
9
|
+
api = await newBarretenbergApiSync();
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
afterAll(async () => {
|
|
13
|
+
await api.destroy();
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
it('blake2s', () => {
|
|
17
|
+
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
18
|
+
const expected = Buffer32.fromBuffer(
|
|
19
|
+
new Uint8Array([
|
|
20
|
+
0x44, 0xdd, 0xdb, 0x39, 0xbd, 0xb2, 0xaf, 0x80, 0xc1, 0x47, 0x89, 0x4c, 0x1d, 0x75, 0x6a, 0xda, 0x3d, 0x1c,
|
|
21
|
+
0x2a, 0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
22
|
+
]),
|
|
23
|
+
);
|
|
24
|
+
const result = api.blake2s(input);
|
|
25
|
+
expect(result).toEqual(expected);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('blake2sToField', () => {
|
|
29
|
+
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
30
|
+
const expected = Fr.fromBufferReduce(
|
|
31
|
+
new Uint8Array([
|
|
32
|
+
0x44, 0xdd, 0xdb, 0x39, 0xbd, 0xb2, 0xaf, 0x80, 0xc1, 0x47, 0x89, 0x4c, 0x1d, 0x75, 0x6a, 0xda, 0x3d, 0x1c,
|
|
33
|
+
0x2a, 0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
34
|
+
]),
|
|
35
|
+
);
|
|
36
|
+
const result = api.blake2sToField(input);
|
|
37
|
+
expect(result).toEqual(expected);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BarretenbergApiAsync, newBarretenbergApiAsync } from '../factory/index.js';
|
|
2
|
+
|
|
3
|
+
describe('env', () => {
|
|
4
|
+
let api: BarretenbergApiAsync;
|
|
5
|
+
|
|
6
|
+
beforeAll(async () => {
|
|
7
|
+
api = await newBarretenbergApiAsync(3);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
afterAll(async () => {
|
|
11
|
+
await api.destroy();
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it('thread test', async () => {
|
|
15
|
+
// Main thread doesn't do anything in this test, so -1.
|
|
16
|
+
const threads = (await api.getNumThreads()) - 1;
|
|
17
|
+
const iterations = 100000;
|
|
18
|
+
const result = await api.testThreads(threads, iterations);
|
|
19
|
+
expect(result).toBe(iterations);
|
|
20
|
+
});
|
|
21
|
+
});
|