@aztec/bb.js 3.0.0-nightly.20251114 → 3.0.0-nightly.20251118
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/build/amd64-linux/bb +0 -0
- package/build/amd64-linux/nodejs_module.node +0 -0
- package/build/amd64-macos/bb +0 -0
- package/build/amd64-macos/nodejs_module.node +0 -0
- package/build/arm64-linux/bb +0 -0
- package/build/arm64-linux/nodejs_module.node +0 -0
- package/build/arm64-macos/bb +0 -0
- package/build/arm64-macos/nodejs_module.node +0 -0
- package/dest/browser/barretenberg/backend.d.ts +9 -23
- package/dest/browser/barretenberg/backend.d.ts.map +1 -1
- package/dest/browser/barretenberg/backend.js +24 -84
- package/dest/browser/barretenberg/index.d.ts +1 -3
- package/dest/browser/barretenberg/index.d.ts.map +1 -1
- package/dest/browser/barretenberg/index.js +15 -24
- package/dest/browser/{bigint-array/index.d.ts → barretenberg/testing/bigint-buffer.d.ts} +1 -1
- package/dest/browser/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
- package/dest/browser/barretenberg/testing/bigint-buffer.js +37 -0
- package/dest/browser/barretenberg/testing/fields.d.ts +16 -0
- package/dest/browser/barretenberg/testing/fields.d.ts.map +1 -0
- package/dest/browser/barretenberg/testing/fields.js +48 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
- package/dest/browser/bb_backends/index.d.ts +8 -5
- package/dest/browser/bb_backends/index.d.ts.map +1 -1
- package/dest/browser/bb_backends/index.js +5 -5
- package/dest/node/barretenberg/backend.d.ts +9 -23
- package/dest/node/barretenberg/backend.d.ts.map +1 -1
- package/dest/node/barretenberg/backend.js +24 -84
- package/dest/node/barretenberg/blake2s.test.js +2 -2
- package/dest/node/barretenberg/index.d.ts +1 -3
- package/dest/node/barretenberg/index.d.ts.map +1 -1
- package/dest/node/barretenberg/index.js +15 -24
- package/dest/node/barretenberg/pedersen.test.js +2 -2
- package/dest/node/barretenberg/poseidon.bench.test.js +27 -68
- package/dest/node/barretenberg/poseidon.test.js +2 -2
- package/dest/node/{bigint-array/index.d.ts → barretenberg/testing/bigint-buffer.d.ts} +1 -1
- package/dest/node/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
- package/dest/node/barretenberg/testing/bigint-buffer.js +37 -0
- package/dest/node/barretenberg/testing/fields.d.ts +16 -0
- package/dest/node/barretenberg/testing/fields.d.ts.map +1 -0
- package/dest/node/barretenberg/testing/fields.js +48 -0
- package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node/bb_backends/index.d.ts +8 -5
- package/dest/node/bb_backends/index.d.ts.map +1 -1
- package/dest/node/bb_backends/index.js +5 -5
- package/dest/node/bb_backends/node/index.d.ts.map +1 -1
- package/dest/node/bb_backends/node/index.js +12 -4
- package/dest/node/bb_backends/node/native_shm.d.ts +2 -1
- package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -1
- package/dest/node/bb_backends/node/native_shm.js +50 -15
- package/dest/node/bb_backends/node/native_socket.d.ts +1 -1
- package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -1
- package/dest/node/bb_backends/node/native_socket.js +28 -19
- package/dest/node-cjs/barretenberg/backend.d.ts +9 -23
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/backend.js +30 -90
- package/dest/node-cjs/barretenberg/blake2s.test.js +6 -6
- package/dest/node-cjs/barretenberg/index.d.ts +1 -3
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/index.js +15 -24
- package/dest/node-cjs/barretenberg/pedersen.test.js +9 -9
- package/dest/node-cjs/barretenberg/poseidon.bench.test.js +36 -77
- package/dest/node-cjs/barretenberg/poseidon.test.js +4 -4
- package/dest/node-cjs/{bigint-array/index.d.ts → barretenberg/testing/bigint-buffer.d.ts} +1 -1
- package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/testing/bigint-buffer.js +43 -0
- package/dest/node-cjs/barretenberg/testing/fields.d.ts +16 -0
- package/dest/node-cjs/barretenberg/testing/fields.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/testing/fields.js +52 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node-cjs/bb_backends/index.d.ts +8 -5
- package/dest/node-cjs/bb_backends/index.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/index.js +5 -5
- package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/index.js +12 -4
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts +2 -1
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/native_shm.js +50 -15
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts +1 -1
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/native_socket.js +28 -19
- package/package.json +1 -1
- package/src/barretenberg/backend.ts +19 -97
- package/src/barretenberg/blake2s.test.ts +1 -1
- package/src/barretenberg/index.ts +14 -24
- package/src/barretenberg/pedersen.test.ts +1 -1
- package/src/barretenberg/poseidon.bench.test.ts +109 -156
- package/src/barretenberg/poseidon.test.ts +1 -1
- package/src/{types → barretenberg/testing}/fields.ts +12 -26
- package/src/bb_backends/index.ts +8 -5
- package/src/bb_backends/node/index.ts +23 -3
- package/src/bb_backends/node/native_shm.ts +51 -14
- package/src/bb_backends/node/native_socket.ts +31 -17
- package/dest/browser/bigint-array/index.d.ts.map +0 -1
- package/dest/browser/bigint-array/index.js +0 -37
- package/dest/browser/serialize/index.d.ts +0 -2
- package/dest/browser/serialize/index.d.ts.map +0 -1
- package/dest/browser/serialize/index.js +0 -2
- package/dest/browser/serialize/serialize.d.ts +0 -18
- package/dest/browser/serialize/serialize.d.ts.map +0 -1
- package/dest/browser/serialize/serialize.js +0 -72
- package/dest/browser/types/fields.d.ts +0 -23
- package/dest/browser/types/fields.d.ts.map +0 -1
- package/dest/browser/types/fields.js +0 -61
- package/dest/browser/types/index.d.ts +0 -3
- package/dest/browser/types/index.d.ts.map +0 -1
- package/dest/browser/types/index.js +0 -3
- package/dest/browser/types/point.d.ts +0 -18
- package/dest/browser/types/point.d.ts.map +0 -1
- package/dest/browser/types/point.js +0 -28
- package/dest/node/bigint-array/index.d.ts.map +0 -1
- package/dest/node/bigint-array/index.js +0 -37
- package/dest/node/serialize/index.d.ts +0 -2
- package/dest/node/serialize/index.d.ts.map +0 -1
- package/dest/node/serialize/index.js +0 -2
- package/dest/node/serialize/serialize.d.ts +0 -18
- package/dest/node/serialize/serialize.d.ts.map +0 -1
- package/dest/node/serialize/serialize.js +0 -72
- package/dest/node/types/fields.d.ts +0 -23
- package/dest/node/types/fields.d.ts.map +0 -1
- package/dest/node/types/fields.js +0 -61
- package/dest/node/types/index.d.ts +0 -3
- package/dest/node/types/index.d.ts.map +0 -1
- package/dest/node/types/index.js +0 -3
- package/dest/node/types/point.d.ts +0 -18
- package/dest/node/types/point.d.ts.map +0 -1
- package/dest/node/types/point.js +0 -28
- package/dest/node-cjs/bigint-array/index.d.ts.map +0 -1
- package/dest/node-cjs/bigint-array/index.js +0 -43
- package/dest/node-cjs/serialize/index.d.ts +0 -2
- package/dest/node-cjs/serialize/index.d.ts.map +0 -1
- package/dest/node-cjs/serialize/index.js +0 -5
- package/dest/node-cjs/serialize/serialize.d.ts +0 -18
- package/dest/node-cjs/serialize/serialize.d.ts.map +0 -1
- package/dest/node-cjs/serialize/serialize.js +0 -82
- package/dest/node-cjs/types/fields.d.ts +0 -23
- package/dest/node-cjs/types/fields.d.ts.map +0 -1
- package/dest/node-cjs/types/fields.js +0 -65
- package/dest/node-cjs/types/index.d.ts +0 -3
- package/dest/node-cjs/types/index.d.ts.map +0 -1
- package/dest/node-cjs/types/index.js +0 -6
- package/dest/node-cjs/types/point.d.ts +0 -18
- package/dest/node-cjs/types/point.d.ts.map +0 -1
- package/dest/node-cjs/types/point.js +0 -32
- package/src/serialize/index.ts +0 -1
- package/src/serialize/serialize.ts +0 -75
- package/src/types/index.ts +0 -2
- package/src/types/point.ts +0 -32
- /package/src/{bigint-array/index.ts → barretenberg/testing/bigint-buffer.ts} +0 -0
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
// For serializing bool.
|
|
2
|
-
export function boolToBuffer(b) {
|
|
3
|
-
const buf = new Uint8Array(1);
|
|
4
|
-
buf[0] = b ? 1 : 0;
|
|
5
|
-
return buf;
|
|
6
|
-
}
|
|
7
|
-
// For serializing numbers to 32 bit big-endian form.
|
|
8
|
-
export function numToUInt32BE(n, bufferSize = 4) {
|
|
9
|
-
const buf = new Uint8Array(bufferSize);
|
|
10
|
-
new DataView(buf.buffer).setUint32(buf.byteLength - 4, n, false);
|
|
11
|
-
return buf;
|
|
12
|
-
}
|
|
13
|
-
// For serializing signed numbers to 32 bit big-endian form.
|
|
14
|
-
export function numToInt32BE(n, bufferSize = 4) {
|
|
15
|
-
const buf = new Uint8Array(bufferSize);
|
|
16
|
-
new DataView(buf.buffer).setInt32(buf.byteLength - 4, n, false);
|
|
17
|
-
return buf;
|
|
18
|
-
}
|
|
19
|
-
export function concatenateUint8Arrays(arrayOfUint8Arrays) {
|
|
20
|
-
const totalLength = arrayOfUint8Arrays.reduce((prev, curr) => prev + curr.length, 0);
|
|
21
|
-
const result = new Uint8Array(totalLength);
|
|
22
|
-
let length = 0;
|
|
23
|
-
for (const array of arrayOfUint8Arrays) {
|
|
24
|
-
result.set(array, length);
|
|
25
|
-
length += array.length;
|
|
26
|
-
}
|
|
27
|
-
return result;
|
|
28
|
-
}
|
|
29
|
-
// For serializing a buffer as a vector.
|
|
30
|
-
export function serializeBufferToVector(buf) {
|
|
31
|
-
return concatenateUint8Arrays([numToInt32BE(buf.length), buf]);
|
|
32
|
-
}
|
|
33
|
-
export function serializeBigInt(n, width = 32) {
|
|
34
|
-
const buf = new Uint8Array(width);
|
|
35
|
-
for (let i = 0; i < width; i++) {
|
|
36
|
-
buf[width - i - 1] = Number((n >> BigInt(i * 8)) & 0xffn);
|
|
37
|
-
}
|
|
38
|
-
return buf;
|
|
39
|
-
}
|
|
40
|
-
// For serializing an array of fixed length elements.
|
|
41
|
-
export function serializeBufferArrayToVector(arr) {
|
|
42
|
-
return concatenateUint8Arrays([numToUInt32BE(arr.length), ...arr.flat()]);
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Serializes a list of objects contiguously for calling into wasm.
|
|
46
|
-
* @param objs - Objects to serialize.
|
|
47
|
-
* @returns A buffer list with the concatenation of all fields.
|
|
48
|
-
*/
|
|
49
|
-
export function serializeBufferable(obj) {
|
|
50
|
-
if (Array.isArray(obj)) {
|
|
51
|
-
return serializeBufferArrayToVector(obj.map(serializeBufferable));
|
|
52
|
-
}
|
|
53
|
-
else if (obj instanceof Uint8Array) {
|
|
54
|
-
return serializeBufferToVector(obj);
|
|
55
|
-
}
|
|
56
|
-
else if (typeof obj === 'boolean') {
|
|
57
|
-
return boolToBuffer(obj);
|
|
58
|
-
}
|
|
59
|
-
else if (typeof obj === 'number') {
|
|
60
|
-
return numToUInt32BE(obj);
|
|
61
|
-
}
|
|
62
|
-
else if (typeof obj === 'bigint') {
|
|
63
|
-
return serializeBigInt(obj);
|
|
64
|
-
}
|
|
65
|
-
else if (typeof obj === 'string') {
|
|
66
|
-
return serializeBufferToVector(new TextEncoder().encode(obj));
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
return obj.toBuffer();
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcmlhbGl6ZS9zZXJpYWxpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0JBQXdCO0FBQ3hCLE1BQU0sVUFBVSxZQUFZLENBQUMsQ0FBVTtJQUNyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxxREFBcUQ7QUFDckQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxDQUFTLEVBQUUsVUFBVSxHQUFHLENBQUM7SUFDckQsTUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakUsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsNERBQTREO0FBQzVELE1BQU0sVUFBVSxZQUFZLENBQUMsQ0FBUyxFQUFFLFVBQVUsR0FBRyxDQUFDO0lBQ3BELE1BQU0sR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZDLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxrQkFBZ0M7SUFDckUsTUFBTSxXQUFXLEdBQUcsa0JB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
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Internal Fr field class for tests.
|
|
3
|
-
* @dev This minimal implementation is provided for testing barretenberg directly.
|
|
4
|
-
* Projects using bb.js should create their own field abstraction using the curve constants
|
|
5
|
-
* exported from the barretenberg binary (see CurveConstants generation).
|
|
6
|
-
*/
|
|
7
|
-
export declare class Fr {
|
|
8
|
-
static ZERO: Fr;
|
|
9
|
-
static MODULUS: bigint;
|
|
10
|
-
static MAX_VALUE: bigint;
|
|
11
|
-
static SIZE_IN_BYTES: number;
|
|
12
|
-
value: Uint8Array;
|
|
13
|
-
constructor(value: Uint8Array | Buffer | bigint);
|
|
14
|
-
static random(): Fr;
|
|
15
|
-
static fromBuffer(buffer: Uint8Array | Buffer): Fr;
|
|
16
|
-
static fromBufferReduce(buffer: Uint8Array | Buffer): Fr;
|
|
17
|
-
static fromString(str: string): Fr;
|
|
18
|
-
toBuffer(): Uint8Array<ArrayBufferLike>;
|
|
19
|
-
toString(): string;
|
|
20
|
-
equals(rhs: Fr): boolean;
|
|
21
|
-
isZero(): boolean;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=fields.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../src/types/fields.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,qBAAa,EAAE;IACb,MAAM,CAAC,IAAI,KAAc;IACzB,MAAM,CAAC,OAAO,SAAuE;IACrF,MAAM,CAAC,SAAS,SAAqB;IACrC,MAAM,CAAC,aAAa,SAAM;IAC1B,KAAK,EAAE,UAAU,CAAC;gBAEN,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM;IAiB/C,MAAM,CAAC,MAAM;IAKb,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAO7C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAOnD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,QAAQ;IAIR,QAAQ;IAIR,MAAM,CAAC,GAAG,EAAE,EAAE;IAId,MAAM;CAGP"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
var _a;
|
|
2
|
-
import { randomBytes } from '../random/index.js';
|
|
3
|
-
import { buffer32BytesToBigIntBE, uint8ArrayToBigIntBE, bigIntToUint8ArrayBE, } from '../bigint-array/index.js';
|
|
4
|
-
/**
|
|
5
|
-
* Internal Fr field class for tests.
|
|
6
|
-
* @dev This minimal implementation is provided for testing barretenberg directly.
|
|
7
|
-
* Projects using bb.js should create their own field abstraction using the curve constants
|
|
8
|
-
* exported from the barretenberg binary (see CurveConstants generation).
|
|
9
|
-
*/
|
|
10
|
-
export class Fr {
|
|
11
|
-
constructor(value) {
|
|
12
|
-
// We convert buffer value to bigint to be able to check it fits within modulus
|
|
13
|
-
const valueBigInt = typeof value === 'bigint'
|
|
14
|
-
? value
|
|
15
|
-
: value instanceof Buffer
|
|
16
|
-
? buffer32BytesToBigIntBE(value)
|
|
17
|
-
: uint8ArrayToBigIntBE(value);
|
|
18
|
-
if (valueBigInt > _a.MAX_VALUE) {
|
|
19
|
-
throw new Error(`Value 0x${valueBigInt.toString(16)} is greater or equal to field modulus.`);
|
|
20
|
-
}
|
|
21
|
-
this.value =
|
|
22
|
-
typeof value === 'bigint' ? bigIntToUint8ArrayBE(value) : value instanceof Buffer ? new Uint8Array(value) : value;
|
|
23
|
-
}
|
|
24
|
-
static random() {
|
|
25
|
-
const r = uint8ArrayToBigIntBE(randomBytes(64)) % _a.MODULUS;
|
|
26
|
-
return new this(r);
|
|
27
|
-
}
|
|
28
|
-
static fromBuffer(buffer) {
|
|
29
|
-
if (buffer.length !== this.SIZE_IN_BYTES) {
|
|
30
|
-
throw new Error(`Expected ${this.SIZE_IN_BYTES} bytes, got ${buffer.length}`);
|
|
31
|
-
}
|
|
32
|
-
return new this(buffer);
|
|
33
|
-
}
|
|
34
|
-
static fromBufferReduce(buffer) {
|
|
35
|
-
if (buffer.length !== this.SIZE_IN_BYTES) {
|
|
36
|
-
throw new Error(`Expected ${this.SIZE_IN_BYTES} bytes, got ${buffer.length}`);
|
|
37
|
-
}
|
|
38
|
-
return new this(uint8ArrayToBigIntBE(buffer instanceof Buffer ? new Uint8Array(buffer) : buffer) % _a.MODULUS);
|
|
39
|
-
}
|
|
40
|
-
static fromString(str) {
|
|
41
|
-
return this.fromBuffer(Buffer.from(str.replace(/^0x/i, ''), 'hex'));
|
|
42
|
-
}
|
|
43
|
-
toBuffer() {
|
|
44
|
-
return this.value;
|
|
45
|
-
}
|
|
46
|
-
toString() {
|
|
47
|
-
return '0x' + this.toBuffer().reduce((accumulator, byte) => accumulator + byte.toString(16).padStart(2, '0'), '');
|
|
48
|
-
}
|
|
49
|
-
equals(rhs) {
|
|
50
|
-
return this.value.every((v, i) => v === rhs.value[i]);
|
|
51
|
-
}
|
|
52
|
-
isZero() {
|
|
53
|
-
return this.value.every(v => v === 0);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
_a = Fr;
|
|
57
|
-
Fr.ZERO = new _a(0n);
|
|
58
|
-
Fr.MODULUS = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n;
|
|
59
|
-
Fr.MAX_VALUE = _a.MODULUS - 1n;
|
|
60
|
-
Fr.SIZE_IN_BYTES = 32;
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2ZpZWxkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsb0JBQW9CLEVBRXBCLG9CQUFvQixHQUNyQixNQUFNLDBCQUEwQixDQUFDO0FBRWxDOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLEVBQUU7SUFPYixZQUFZLEtBQW1DO1FBQzdDLCtFQUErRTtRQUMvRSxNQUFNLFdBQVcsR0FDZixPQUFPLEtBQUssS0FBSyxRQUFRO1lBQ3ZCLENBQUMsQ0FBQyxLQUFLO1lBQ1AsQ0FBQyxDQUFDLEtBQUssWUFBWSxNQUFNO2dCQUN2QixDQUFDLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDO2dCQUNoQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEMsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1FBQy9GLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSztZQUNSLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssWUFBWSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDdEgsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNO1FBQ1gsTUFBTSxDQUFDLEdBQUcsb0JBQW9CLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQztRQUM3RCxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQTJCO1FBQzNDLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLElBQUksQ0FBQyxhQUFhLGVBQWUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDaEYsQ0FBQztRQUNELE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUEyQjtRQUNqRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxJQUFJLENBQUMsYUFBYSxlQUFlLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7UUFDRCxPQUFPLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sWUFBWSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBVztRQUMzQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEgsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OztBQTVETSxPQUFJLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEFBQWIsQ0FBYztBQUNsQixVQUFPLEdBQUcsbUVBQW1FLEFBQXRFLENBQXVFO0FBQzlFLFlBQVMsR0FBRyxFQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQUFBcEIsQ0FBcUI7QUFDOUIsZ0JBQWEsR0FBRyxFQUFFLEFBQUwsQ0FBTSJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
package/dest/node/types/index.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './fields.js';
|
|
2
|
-
export * from './point.js';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxZQUFZLENBQUMifQ==
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Fr } from './fields.js';
|
|
2
|
-
/**
|
|
3
|
-
* Internal Point class for tests.
|
|
4
|
-
* @dev This minimal implementation is provided for testing barretenberg directly.
|
|
5
|
-
* Projects using bb.js should create their own point abstraction using the curve point
|
|
6
|
-
* types and operations exported from the barretenberg API.
|
|
7
|
-
*/
|
|
8
|
-
export declare class Point {
|
|
9
|
-
readonly x: Fr;
|
|
10
|
-
readonly y: Fr;
|
|
11
|
-
static SIZE_IN_BYTES: number;
|
|
12
|
-
static EMPTY: Point;
|
|
13
|
-
constructor(x: Fr, y: Fr);
|
|
14
|
-
static fromBuffer(buffer: Uint8Array): Point;
|
|
15
|
-
toBuffer(): Buffer<ArrayBuffer>;
|
|
16
|
-
equals(rhs: Point): boolean;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=point.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../src/types/point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC;;;;;GAKG;AACH,qBAAa,KAAK;aAKE,CAAC,EAAE,EAAE;aACL,CAAC,EAAE,EAAE;IALvB,MAAM,CAAC,aAAa,SAAM;IAC1B,MAAM,CAAC,KAAK,QAA+B;gBAGzB,CAAC,EAAE,EAAE,EACL,CAAC,EAAE,EAAE;IAGvB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU;IAOpC,QAAQ;IAIR,MAAM,CAAC,GAAG,EAAE,KAAK;CAGlB"}
|
package/dest/node/types/point.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Fr } from './fields.js';
|
|
2
|
-
/**
|
|
3
|
-
* Internal Point class for tests.
|
|
4
|
-
* @dev This minimal implementation is provided for testing barretenberg directly.
|
|
5
|
-
* Projects using bb.js should create their own point abstraction using the curve point
|
|
6
|
-
* types and operations exported from the barretenberg API.
|
|
7
|
-
*/
|
|
8
|
-
export class Point {
|
|
9
|
-
constructor(x, y) {
|
|
10
|
-
this.x = x;
|
|
11
|
-
this.y = y;
|
|
12
|
-
}
|
|
13
|
-
static fromBuffer(buffer) {
|
|
14
|
-
if (buffer.length !== this.SIZE_IN_BYTES) {
|
|
15
|
-
throw new Error(`Expected ${this.SIZE_IN_BYTES} bytes, got ${buffer.length}`);
|
|
16
|
-
}
|
|
17
|
-
return new this(Fr.fromBuffer(buffer.subarray(0, 32)), Fr.fromBuffer(buffer.subarray(32, 64)));
|
|
18
|
-
}
|
|
19
|
-
toBuffer() {
|
|
20
|
-
return Buffer.concat([this.x.toBuffer(), this.y.toBuffer()]);
|
|
21
|
-
}
|
|
22
|
-
equals(rhs) {
|
|
23
|
-
return this.x.equals(rhs.x) && this.y.equals(rhs.y);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
Point.SIZE_IN_BYTES = 64;
|
|
27
|
-
Point.EMPTY = new Point(Fr.ZERO, Fr.ZERO);
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVqQzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxLQUFLO0lBSWhCLFlBQ2tCLENBQUssRUFDTCxDQUFLO1FBREwsTUFBQyxHQUFELENBQUMsQ0FBSTtRQUNMLE1BQUMsR0FBRCxDQUFDLENBQUk7SUFDcEIsQ0FBQztJQUVKLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBa0I7UUFDbEMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLGFBQWEsZUFBZSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNoRixDQUFDO1FBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDOztBQXJCTSxtQkFBYSxHQUFHLEVBQUUsQ0FBQztBQUNuQixXQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bigint-array/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO3D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAG9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,MAAM,CAYvE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,UAAU,CAE/E"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buffer32BytesToBigIntBE = buffer32BytesToBigIntBE;
|
|
4
|
-
exports.uint8ArrayToBigIntBE = uint8ArrayToBigIntBE;
|
|
5
|
-
exports.bigIntToBufferBE = bigIntToBufferBE;
|
|
6
|
-
exports.bigIntToUint8ArrayBE = bigIntToUint8ArrayBE;
|
|
7
|
-
/**
|
|
8
|
-
* Convert a 32-byte BE Buffer to a BigInt.
|
|
9
|
-
*/
|
|
10
|
-
function buffer32BytesToBigIntBE(buf) {
|
|
11
|
-
return ((buf.readBigUInt64BE(0) << 192n) +
|
|
12
|
-
(buf.readBigUInt64BE(8) << 128n) +
|
|
13
|
-
(buf.readBigUInt64BE(16) << 64n) +
|
|
14
|
-
buf.readBigUInt64BE(24));
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Convert a BE Uint8Array to a BigInt.
|
|
18
|
-
*/
|
|
19
|
-
function uint8ArrayToBigIntBE(bytes) {
|
|
20
|
-
const buffer = Buffer.from(bytes);
|
|
21
|
-
return buffer32BytesToBigIntBE(buffer);
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Convert a BigInt to a 32-byte BE Buffer.
|
|
25
|
-
*/
|
|
26
|
-
function bigIntToBufferBE(value, byteLength = 32) {
|
|
27
|
-
if (byteLength != 32) {
|
|
28
|
-
throw new Error(`Only 32 bytes supported for conversion from bigint to buffer, attempted byte length: ${byteLength}`);
|
|
29
|
-
}
|
|
30
|
-
const buf = Buffer.alloc(byteLength);
|
|
31
|
-
buf.writeBigUInt64BE(value >> 192n, 0);
|
|
32
|
-
buf.writeBigUInt64BE((value >> 128n) & 0xffffffffffffffffn, 8);
|
|
33
|
-
buf.writeBigUInt64BE((value >> 64n) & 0xffffffffffffffffn, 16);
|
|
34
|
-
buf.writeBigUInt64BE(value & 0xffffffffffffffffn, 24);
|
|
35
|
-
return buf;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Convert a BigInt to a 32-byte BE Uint8Array.
|
|
39
|
-
*/
|
|
40
|
-
function bigIntToUint8ArrayBE(value, byteLength = 32) {
|
|
41
|
-
return new Uint8Array(bigIntToBufferBE(value, byteLength));
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmlnaW50LWFycmF5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsMERBT0M7QUFLRCxvREFHQztBQUtELDRDQVlDO0FBS0Qsb0RBRUM7QUExQ0Q7O0dBRUc7QUFDSCxTQUFnQix1QkFBdUIsQ0FBQyxHQUFXO0lBQ2pELE9BQU8sQ0FDTCxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hDLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaEMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUNoQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUN4QixDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsS0FBaUI7SUFDcEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxPQUFPLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLEtBQWEsRUFBRSxVQUFVLEdBQUcsRUFBRTtJQUM3RCxJQUFJLFVBQVUsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNyQixNQUFNLElBQUksS0FBSyxDQUNiLHdGQUF3RixVQUFVLEVBQUUsQ0FDckcsQ0FBQztJQUNKLENBQUM7SUFDRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRCxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLEdBQUcsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0QsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEtBQUssR0FBRyxtQkFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLG9CQUFvQixDQUFDLEtBQWEsRUFBRSxVQUFVLEdBQUcsRUFBRTtJQUNqRSxPQUFPLElBQUksVUFBVSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQzdELENBQUMifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/serialize/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./serialize.js"), exports);
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VyaWFsaXplL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQUErQiJ9
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export declare function boolToBuffer(b: boolean): Uint8Array<ArrayBuffer>;
|
|
2
|
-
export declare function numToUInt32BE(n: number, bufferSize?: number): Uint8Array<ArrayBuffer>;
|
|
3
|
-
export declare function numToInt32BE(n: number, bufferSize?: number): Uint8Array<ArrayBuffer>;
|
|
4
|
-
export declare function concatenateUint8Arrays(arrayOfUint8Arrays: Uint8Array[]): Uint8Array<ArrayBuffer>;
|
|
5
|
-
export declare function serializeBufferToVector(buf: Uint8Array): Uint8Array<ArrayBuffer>;
|
|
6
|
-
export declare function serializeBigInt(n: bigint, width?: number): Uint8Array<ArrayBuffer>;
|
|
7
|
-
export declare function serializeBufferArrayToVector(arr: Uint8Array[]): Uint8Array<ArrayBuffer>;
|
|
8
|
-
/** A type that can be written to a buffer. */
|
|
9
|
-
export type Bufferable = boolean | Uint8Array | number | string | {
|
|
10
|
-
toBuffer: () => Uint8Array;
|
|
11
|
-
} | Bufferable[];
|
|
12
|
-
/**
|
|
13
|
-
* Serializes a list of objects contiguously for calling into wasm.
|
|
14
|
-
* @param objs - Objects to serialize.
|
|
15
|
-
* @returns A buffer list with the concatenation of all fields.
|
|
16
|
-
*/
|
|
17
|
-
export declare function serializeBufferable(obj: Bufferable): Uint8Array;
|
|
18
|
-
//# sourceMappingURL=serialize.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/serialize/serialize.ts"],"names":[],"mappings":"AACA,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,2BAItC;AAGD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,2BAItD;AAGD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,2BAIrD;AAED,wBAAgB,sBAAsB,CAAC,kBAAkB,EAAE,UAAU,EAAE,2BAStE;AAGD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,UAAU,2BAEtD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,2BAMpD;AAGD,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,UAAU,EAAE,2BAE7D;AAED,8CAA8C;AAC9C,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;CAAE,GAAG,UAAU,EAAE,CAAC;AAEhH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU,CAgB/D"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.boolToBuffer = boolToBuffer;
|
|
4
|
-
exports.numToUInt32BE = numToUInt32BE;
|
|
5
|
-
exports.numToInt32BE = numToInt32BE;
|
|
6
|
-
exports.concatenateUint8Arrays = concatenateUint8Arrays;
|
|
7
|
-
exports.serializeBufferToVector = serializeBufferToVector;
|
|
8
|
-
exports.serializeBigInt = serializeBigInt;
|
|
9
|
-
exports.serializeBufferArrayToVector = serializeBufferArrayToVector;
|
|
10
|
-
exports.serializeBufferable = serializeBufferable;
|
|
11
|
-
// For serializing bool.
|
|
12
|
-
function boolToBuffer(b) {
|
|
13
|
-
const buf = new Uint8Array(1);
|
|
14
|
-
buf[0] = b ? 1 : 0;
|
|
15
|
-
return buf;
|
|
16
|
-
}
|
|
17
|
-
// For serializing numbers to 32 bit big-endian form.
|
|
18
|
-
function numToUInt32BE(n, bufferSize = 4) {
|
|
19
|
-
const buf = new Uint8Array(bufferSize);
|
|
20
|
-
new DataView(buf.buffer).setUint32(buf.byteLength - 4, n, false);
|
|
21
|
-
return buf;
|
|
22
|
-
}
|
|
23
|
-
// For serializing signed numbers to 32 bit big-endian form.
|
|
24
|
-
function numToInt32BE(n, bufferSize = 4) {
|
|
25
|
-
const buf = new Uint8Array(bufferSize);
|
|
26
|
-
new DataView(buf.buffer).setInt32(buf.byteLength - 4, n, false);
|
|
27
|
-
return buf;
|
|
28
|
-
}
|
|
29
|
-
function concatenateUint8Arrays(arrayOfUint8Arrays) {
|
|
30
|
-
const totalLength = arrayOfUint8Arrays.reduce((prev, curr) => prev + curr.length, 0);
|
|
31
|
-
const result = new Uint8Array(totalLength);
|
|
32
|
-
let length = 0;
|
|
33
|
-
for (const array of arrayOfUint8Arrays) {
|
|
34
|
-
result.set(array, length);
|
|
35
|
-
length += array.length;
|
|
36
|
-
}
|
|
37
|
-
return result;
|
|
38
|
-
}
|
|
39
|
-
// For serializing a buffer as a vector.
|
|
40
|
-
function serializeBufferToVector(buf) {
|
|
41
|
-
return concatenateUint8Arrays([numToInt32BE(buf.length), buf]);
|
|
42
|
-
}
|
|
43
|
-
function serializeBigInt(n, width = 32) {
|
|
44
|
-
const buf = new Uint8Array(width);
|
|
45
|
-
for (let i = 0; i < width; i++) {
|
|
46
|
-
buf[width - i - 1] = Number((n >> BigInt(i * 8)) & 0xffn);
|
|
47
|
-
}
|
|
48
|
-
return buf;
|
|
49
|
-
}
|
|
50
|
-
// For serializing an array of fixed length elements.
|
|
51
|
-
function serializeBufferArrayToVector(arr) {
|
|
52
|
-
return concatenateUint8Arrays([numToUInt32BE(arr.length), ...arr.flat()]);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Serializes a list of objects contiguously for calling into wasm.
|
|
56
|
-
* @param objs - Objects to serialize.
|
|
57
|
-
* @returns A buffer list with the concatenation of all fields.
|
|
58
|
-
*/
|
|
59
|
-
function serializeBufferable(obj) {
|
|
60
|
-
if (Array.isArray(obj)) {
|
|
61
|
-
return serializeBufferArrayToVector(obj.map(serializeBufferable));
|
|
62
|
-
}
|
|
63
|
-
else if (obj instanceof Uint8Array) {
|
|
64
|
-
return serializeBufferToVector(obj);
|
|
65
|
-
}
|
|
66
|
-
else if (typeof obj === 'boolean') {
|
|
67
|
-
return boolToBuffer(obj);
|
|
68
|
-
}
|
|
69
|
-
else if (typeof obj === 'number') {
|
|
70
|
-
return numToUInt32BE(obj);
|
|
71
|
-
}
|
|
72
|
-
else if (typeof obj === 'bigint') {
|
|
73
|
-
return serializeBigInt(obj);
|
|
74
|
-
}
|
|
75
|
-
else if (typeof obj === 'string') {
|
|
76
|
-
return serializeBufferToVector(new TextEncoder().encode(obj));
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
return obj.toBuffer();
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcmlhbGl6ZS9zZXJpYWxpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxvQ0FJQztBQUdELHNDQUlDO0FBR0Qsb0NBSUM7QUFFRCx3REFTQztBQUdELDBEQUVDO0FBRUQsMENBTUM7QUFHRCxvRUFFQztBQVVELGtEQWdCQztBQTFFRCx3QkFBd0I7QUFDeEIsU0FBZ0IsWUFBWSxDQUFDLENBQVU7SUFDckMsTUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQscURBQXFEO0FBQ3JELFNBQWdCLGFBQWEsQ0FBQyxDQUFTLEVBQUUsVUFBVSxHQUFHLENBQUM7SUFDckQsTUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakUsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsNERBQTREO0FBQzVELFNBQWdCLFlBQVksQ0FBQyxDQUFTLEVBQUUsVUFBVSxHQUFHLENBQUM7SUFDcEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsT0FB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
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Internal Fr field class for tests.
|
|
3
|
-
* @dev This minimal implementation is provided for testing barretenberg directly.
|
|
4
|
-
* Projects using bb.js should create their own field abstraction using the curve constants
|
|
5
|
-
* exported from the barretenberg binary (see CurveConstants generation).
|
|
6
|
-
*/
|
|
7
|
-
export declare class Fr {
|
|
8
|
-
static ZERO: Fr;
|
|
9
|
-
static MODULUS: bigint;
|
|
10
|
-
static MAX_VALUE: bigint;
|
|
11
|
-
static SIZE_IN_BYTES: number;
|
|
12
|
-
value: Uint8Array;
|
|
13
|
-
constructor(value: Uint8Array | Buffer | bigint);
|
|
14
|
-
static random(): Fr;
|
|
15
|
-
static fromBuffer(buffer: Uint8Array | Buffer): Fr;
|
|
16
|
-
static fromBufferReduce(buffer: Uint8Array | Buffer): Fr;
|
|
17
|
-
static fromString(str: string): Fr;
|
|
18
|
-
toBuffer(): Uint8Array<ArrayBufferLike>;
|
|
19
|
-
toString(): string;
|
|
20
|
-
equals(rhs: Fr): boolean;
|
|
21
|
-
isZero(): boolean;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=fields.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../src/types/fields.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,qBAAa,EAAE;IACb,MAAM,CAAC,IAAI,KAAc;IACzB,MAAM,CAAC,OAAO,SAAuE;IACrF,MAAM,CAAC,SAAS,SAAqB;IACrC,MAAM,CAAC,aAAa,SAAM;IAC1B,KAAK,EAAE,UAAU,CAAC;gBAEN,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM;IAiB/C,MAAM,CAAC,MAAM;IAKb,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAO7C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAOnD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,QAAQ;IAIR,QAAQ;IAIR,MAAM,CAAC,GAAG,EAAE,EAAE;IAId,MAAM;CAGP"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.Fr = void 0;
|
|
5
|
-
const index_js_1 = require("../random/index.js");
|
|
6
|
-
const index_js_2 = require("../bigint-array/index.js");
|
|
7
|
-
/**
|
|
8
|
-
* Internal Fr field class for tests.
|
|
9
|
-
* @dev This minimal implementation is provided for testing barretenberg directly.
|
|
10
|
-
* Projects using bb.js should create their own field abstraction using the curve constants
|
|
11
|
-
* exported from the barretenberg binary (see CurveConstants generation).
|
|
12
|
-
*/
|
|
13
|
-
class Fr {
|
|
14
|
-
constructor(value) {
|
|
15
|
-
// We convert buffer value to bigint to be able to check it fits within modulus
|
|
16
|
-
const valueBigInt = typeof value === 'bigint'
|
|
17
|
-
? value
|
|
18
|
-
: value instanceof Buffer
|
|
19
|
-
? (0, index_js_2.buffer32BytesToBigIntBE)(value)
|
|
20
|
-
: (0, index_js_2.uint8ArrayToBigIntBE)(value);
|
|
21
|
-
if (valueBigInt > _a.MAX_VALUE) {
|
|
22
|
-
throw new Error(`Value 0x${valueBigInt.toString(16)} is greater or equal to field modulus.`);
|
|
23
|
-
}
|
|
24
|
-
this.value =
|
|
25
|
-
typeof value === 'bigint' ? (0, index_js_2.bigIntToUint8ArrayBE)(value) : value instanceof Buffer ? new Uint8Array(value) : value;
|
|
26
|
-
}
|
|
27
|
-
static random() {
|
|
28
|
-
const r = (0, index_js_2.uint8ArrayToBigIntBE)((0, index_js_1.randomBytes)(64)) % _a.MODULUS;
|
|
29
|
-
return new this(r);
|
|
30
|
-
}
|
|
31
|
-
static fromBuffer(buffer) {
|
|
32
|
-
if (buffer.length !== this.SIZE_IN_BYTES) {
|
|
33
|
-
throw new Error(`Expected ${this.SIZE_IN_BYTES} bytes, got ${buffer.length}`);
|
|
34
|
-
}
|
|
35
|
-
return new this(buffer);
|
|
36
|
-
}
|
|
37
|
-
static fromBufferReduce(buffer) {
|
|
38
|
-
if (buffer.length !== this.SIZE_IN_BYTES) {
|
|
39
|
-
throw new Error(`Expected ${this.SIZE_IN_BYTES} bytes, got ${buffer.length}`);
|
|
40
|
-
}
|
|
41
|
-
return new this((0, index_js_2.uint8ArrayToBigIntBE)(buffer instanceof Buffer ? new Uint8Array(buffer) : buffer) % _a.MODULUS);
|
|
42
|
-
}
|
|
43
|
-
static fromString(str) {
|
|
44
|
-
return this.fromBuffer(Buffer.from(str.replace(/^0x/i, ''), 'hex'));
|
|
45
|
-
}
|
|
46
|
-
toBuffer() {
|
|
47
|
-
return this.value;
|
|
48
|
-
}
|
|
49
|
-
toString() {
|
|
50
|
-
return '0x' + this.toBuffer().reduce((accumulator, byte) => accumulator + byte.toString(16).padStart(2, '0'), '');
|
|
51
|
-
}
|
|
52
|
-
equals(rhs) {
|
|
53
|
-
return this.value.every((v, i) => v === rhs.value[i]);
|
|
54
|
-
}
|
|
55
|
-
isZero() {
|
|
56
|
-
return this.value.every(v => v === 0);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
exports.Fr = Fr;
|
|
60
|
-
_a = Fr;
|
|
61
|
-
Fr.ZERO = new _a(0n);
|
|
62
|
-
Fr.MODULUS = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n;
|
|
63
|
-
Fr.MAX_VALUE = _a.MODULUS - 1n;
|
|
64
|
-
Fr.SIZE_IN_BYTES = 32;
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2ZpZWxkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsaURBQWlEO0FBQ2pELHVEQUtrQztBQUVsQzs7Ozs7R0FLRztBQUNILE1BQWEsRUFBRTtJQU9iLFlBQVksS0FBbUM7UUFDN0MsK0VBQStFO1FBQy9FLE1BQU0sV0FBVyxHQUNmLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFDdkIsQ0FBQyxDQUFDLEtBQUs7WUFDUCxDQUFDLENBQUMsS0FBSyxZQUFZLE1BQU07Z0JBQ3ZCLENBQUMsQ0FBQyxJQUFBLGtDQUF1QixFQUFDLEtBQUssQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLElBQUEsK0JBQW9CLEVBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEMsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1FBQy9GLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSztZQUNSLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBQSwrQkFBb0IsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxZQUFZLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN0SCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU07UUFDWCxNQUFNLENBQUMsR0FBRyxJQUFBLCtCQUFvQixFQUFDLElBQUEsc0JBQVcsRUFBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDN0QsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUEyQjtRQUMzQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxJQUFJLENBQUMsYUFBYSxlQUFlLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7UUFDRCxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBMkI7UUFDakQsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLGFBQWEsZUFBZSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNoRixDQUFDO1FBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFBLCtCQUFvQixFQUFDLE1BQU0sWUFBWSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBVztRQUMzQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEgsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O0FBN0RILGdCQThEQzs7QUE3RFEsT0FBSSxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxBQUFiLENBQWM7QUFDbEIsVUFBTyxHQUFHLG1FQUFtRSxBQUF0RSxDQUF1RTtBQUM5RSxZQUFTLEdBQUcsRUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLEFBQXBCLENBQXFCO0FBQzlCLGdCQUFhLEdBQUcsRUFBRSxBQUFMLENBQU0ifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./fields.js"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./point.js"), exports);
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQTRCO0FBQzVCLHFEQUEyQiJ9
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Fr } from './fields.js';
|
|
2
|
-
/**
|
|
3
|
-
* Internal Point class for tests.
|
|
4
|
-
* @dev This minimal implementation is provided for testing barretenberg directly.
|
|
5
|
-
* Projects using bb.js should create their own point abstraction using the curve point
|
|
6
|
-
* types and operations exported from the barretenberg API.
|
|
7
|
-
*/
|
|
8
|
-
export declare class Point {
|
|
9
|
-
readonly x: Fr;
|
|
10
|
-
readonly y: Fr;
|
|
11
|
-
static SIZE_IN_BYTES: number;
|
|
12
|
-
static EMPTY: Point;
|
|
13
|
-
constructor(x: Fr, y: Fr);
|
|
14
|
-
static fromBuffer(buffer: Uint8Array): Point;
|
|
15
|
-
toBuffer(): Buffer<ArrayBuffer>;
|
|
16
|
-
equals(rhs: Point): boolean;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=point.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../src/types/point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC;;;;;GAKG;AACH,qBAAa,KAAK;aAKE,CAAC,EAAE,EAAE;aACL,CAAC,EAAE,EAAE;IALvB,MAAM,CAAC,aAAa,SAAM;IAC1B,MAAM,CAAC,KAAK,QAA+B;gBAGzB,CAAC,EAAE,EAAE,EACL,CAAC,EAAE,EAAE;IAGvB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU;IAOpC,QAAQ;IAIR,MAAM,CAAC,GAAG,EAAE,KAAK;CAGlB"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Point = void 0;
|
|
4
|
-
const fields_js_1 = require("./fields.js");
|
|
5
|
-
/**
|
|
6
|
-
* Internal Point class for tests.
|
|
7
|
-
* @dev This minimal implementation is provided for testing barretenberg directly.
|
|
8
|
-
* Projects using bb.js should create their own point abstraction using the curve point
|
|
9
|
-
* types and operations exported from the barretenberg API.
|
|
10
|
-
*/
|
|
11
|
-
class Point {
|
|
12
|
-
constructor(x, y) {
|
|
13
|
-
this.x = x;
|
|
14
|
-
this.y = y;
|
|
15
|
-
}
|
|
16
|
-
static fromBuffer(buffer) {
|
|
17
|
-
if (buffer.length !== this.SIZE_IN_BYTES) {
|
|
18
|
-
throw new Error(`Expected ${this.SIZE_IN_BYTES} bytes, got ${buffer.length}`);
|
|
19
|
-
}
|
|
20
|
-
return new this(fields_js_1.Fr.fromBuffer(buffer.subarray(0, 32)), fields_js_1.Fr.fromBuffer(buffer.subarray(32, 64)));
|
|
21
|
-
}
|
|
22
|
-
toBuffer() {
|
|
23
|
-
return Buffer.concat([this.x.toBuffer(), this.y.toBuffer()]);
|
|
24
|
-
}
|
|
25
|
-
equals(rhs) {
|
|
26
|
-
return this.x.equals(rhs.x) && this.y.equals(rhs.y);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.Point = Point;
|
|
30
|
-
Point.SIZE_IN_BYTES = 64;
|
|
31
|
-
Point.EMPTY = new Point(fields_js_1.Fr.ZERO, fields_js_1.Fr.ZERO);
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQWlDO0FBRWpDOzs7OztHQUtHO0FBQ0gsTUFBYSxLQUFLO0lBSWhCLFlBQ2tCLENBQUssRUFDTCxDQUFLO1FBREwsTUFBQyxHQUFELENBQUMsQ0FBSTtRQUNMLE1BQUMsR0FBRCxDQUFDLENBQUk7SUFDcEIsQ0FBQztJQUVKLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBa0I7UUFDbEMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLGFBQWEsZUFBZSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNoRixDQUFDO1FBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsY0FBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDOztBQXRCSCxzQkF1QkM7QUF0QlEsbUJBQWEsR0FBRyxFQUFFLENBQUM7QUFDbkIsV0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLGNBQUUsQ0FBQyxJQUFJLEVBQUUsY0FBRSxDQUFDLElBQUksQ0FBQyxDQUFDIn0=
|
package/src/serialize/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './serialize.js';
|