@aztec/bb.js 0.0.0-devnet → 0.0.0-test.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 +10 -2
- package/dest/browser/522.6386c00ebfb22619e11b.js +3 -0
- package/dest/browser/barretenberg/backend.d.ts +7 -2
- package/dest/browser/barretenberg/backend.d.ts.map +1 -1
- package/dest/browser/barretenberg/index.d.ts +6 -2
- package/dest/browser/barretenberg/index.d.ts.map +1 -1
- package/dest/browser/barretenberg-threads.js +32 -0
- package/dest/browser/barretenberg.js +32 -0
- package/dest/browser/barretenberg_api/index.d.ts +5 -2
- package/dest/browser/barretenberg_api/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/index.d.ts +2 -2
- package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -1
- package/dest/browser/bigint-array/index.d.ts +17 -2
- package/dest/browser/bigint-array/index.d.ts.map +1 -1
- package/dest/browser/crs/net_crs.d.ts.map +1 -1
- package/dest/browser/crs/node/index.d.ts +6 -4
- package/dest/browser/crs/node/index.d.ts.map +1 -1
- package/dest/browser/index.d.ts.map +1 -1
- package/dest/browser/index.js +10583 -16082
- package/dest/browser/index.js.LICENSE.txt +16 -0
- package/dest/browser/main.worker.worker.js.LICENSE.txt +5 -0
- package/dest/browser/proof/index.d.ts +10 -0
- package/dest/browser/proof/index.d.ts.map +1 -1
- package/dest/browser/retry/index.d.ts +26 -0
- package/dest/browser/retry/index.d.ts.map +1 -0
- package/dest/browser/thread.worker.worker.js.LICENSE.txt +5 -0
- package/dest/browser/thread.worker.worker.worker.js.LICENSE.txt +5 -0
- package/dest/browser/types/fields.d.ts +6 -5
- package/dest/browser/types/fields.d.ts.map +1 -1
- package/dest/node/barretenberg/__snapshots__/pedersen.test.js.snap +156 -0
- package/dest/node/barretenberg/__snapshots__/poseidon.test.js.snap +40 -0
- package/dest/node/barretenberg/backend.d.ts +7 -2
- package/dest/node/barretenberg/backend.d.ts.map +1 -1
- package/dest/node/barretenberg/backend.js +54 -4
- package/dest/node/barretenberg/blake2s.test.js +2 -2
- package/dest/node/barretenberg/index.d.ts +6 -2
- package/dest/node/barretenberg/index.d.ts.map +1 -1
- package/dest/node/barretenberg/index.js +15 -20
- package/dest/node/barretenberg/pedersen.test.js +2 -2
- package/dest/node/barretenberg/poseidon.test.js +2 -2
- package/dest/node/barretenberg_api/index.d.ts +5 -2
- package/dest/node/barretenberg_api/index.d.ts.map +1 -1
- package/dest/node/barretenberg_api/index.js +32 -2
- package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +16 -11
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +7 -9
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +3 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.js +3 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +31 -8
- package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/node/index.js +3 -3
- package/dest/node/barretenberg_wasm/index.d.ts +2 -2
- package/dest/node/barretenberg_wasm/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/index.js +12 -10
- package/dest/node/barretenberg_wasm/index.test.js +3 -3
- package/dest/node/bigint-array/index.d.ts +17 -2
- package/dest/node/bigint-array/index.d.ts.map +1 -1
- package/dest/node/bigint-array/index.js +34 -18
- package/dest/node/crs/net_crs.d.ts.map +1 -1
- package/dest/node/crs/net_crs.js +6 -5
- package/dest/node/crs/node/index.d.ts +6 -4
- package/dest/node/crs/node/index.d.ts.map +1 -1
- package/dest/node/crs/node/index.js +16 -13
- package/dest/node/examples/simple.test.js +2 -2
- package/dest/node/index.d.ts.map +1 -1
- package/dest/node/index.js +1 -1
- package/dest/node/main.d.ts.map +1 -1
- package/dest/node/main.js +57 -65
- package/dest/node/proof/index.d.ts +10 -0
- package/dest/node/proof/index.d.ts.map +1 -1
- package/dest/node/proof/index.js +1 -1
- package/dest/node/retry/index.d.ts +26 -0
- package/dest/node/retry/index.d.ts.map +1 -0
- package/dest/node/retry/index.js +50 -0
- package/dest/node/types/fields.d.ts +6 -5
- package/dest/node/types/fields.d.ts.map +1 -1
- package/dest/node/types/fields.js +15 -10
- package/dest/node-cjs/barretenberg/backend.d.ts +7 -2
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/backend.js +56 -5
- package/dest/node-cjs/barretenberg/blake2s.test.js +2 -2
- package/dest/node-cjs/barretenberg/index.d.ts +6 -2
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/index.js +15 -19
- package/dest/node-cjs/barretenberg/pedersen.test.js +2 -2
- package/dest/node-cjs/barretenberg/poseidon.test.js +2 -2
- package/dest/node-cjs/barretenberg_api/index.d.ts +5 -2
- package/dest/node-cjs/barretenberg_api/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_api/index.js +32 -2
- package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +16 -11
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +7 -9
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +6 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +6 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +31 -8
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +3 -3
- package/dest/node-cjs/barretenberg_wasm/index.d.ts +2 -2
- package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/index.js +12 -10
- package/dest/node-cjs/barretenberg_wasm/index.test.js +3 -3
- package/dest/node-cjs/bigint-array/index.d.ts +17 -2
- package/dest/node-cjs/bigint-array/index.d.ts.map +1 -1
- package/dest/node-cjs/bigint-array/index.js +39 -21
- package/dest/node-cjs/crs/net_crs.d.ts.map +1 -1
- package/dest/node-cjs/crs/net_crs.js +6 -5
- package/dest/node-cjs/crs/node/index.d.ts +6 -4
- package/dest/node-cjs/crs/node/index.d.ts.map +1 -1
- package/dest/node-cjs/crs/node/index.js +16 -13
- package/dest/node-cjs/examples/simple.test.js +2 -2
- package/dest/node-cjs/index.d.ts.map +1 -1
- package/dest/node-cjs/index.js +1 -1
- package/dest/node-cjs/main.d.ts.map +1 -1
- package/dest/node-cjs/main.js +57 -65
- package/dest/node-cjs/proof/index.d.ts +10 -0
- package/dest/node-cjs/proof/index.d.ts.map +1 -1
- package/dest/node-cjs/proof/index.js +1 -1
- package/dest/node-cjs/retry/index.d.ts +26 -0
- package/dest/node-cjs/retry/index.d.ts.map +1 -0
- package/dest/node-cjs/retry/index.js +56 -0
- package/dest/node-cjs/types/fields.d.ts +6 -5
- package/dest/node-cjs/types/fields.d.ts.map +1 -1
- package/dest/node-cjs/types/fields.js +14 -9
- package/package.json +5 -5
- package/src/barretenberg/backend.ts +79 -3
- package/src/barretenberg/blake2s.test.ts +1 -1
- package/src/barretenberg/index.ts +27 -21
- package/src/barretenberg/pedersen.test.ts +1 -1
- package/src/barretenberg/poseidon.test.ts +1 -1
- package/src/barretenberg_api/index.ts +49 -2
- package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +4 -6
- package/src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts +14 -10
- package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +7 -10
- package/src/barretenberg_wasm/fetch_code/browser/barretenberg-threads.ts +3 -0
- package/src/barretenberg_wasm/fetch_code/browser/barretenberg.ts +3 -0
- package/src/barretenberg_wasm/fetch_code/browser/index.ts +28 -7
- package/src/barretenberg_wasm/fetch_code/node/index.ts +2 -2
- package/src/barretenberg_wasm/index.test.ts +2 -2
- package/src/barretenberg_wasm/index.ts +22 -11
- package/src/bigint-array/index.ts +39 -17
- package/src/crs/net_crs.ts +18 -9
- package/src/crs/node/index.ts +31 -15
- package/src/examples/simple.test.ts +1 -1
- package/src/index.ts +1 -0
- package/src/main.ts +61 -70
- package/src/proof/index.ts +11 -0
- package/src/retry/index.ts +50 -0
- package/src/types/fields.ts +24 -13
- package/dest/browser/522.index.js +0 -10
- /package/src/barretenberg_wasm/fetch_code/{browser/wasm-module.d.ts → wasm-module.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/barretenberg_wasm_base/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/barretenberg_wasm_base/index.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,SAAS,CAAC,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAM;IACvD,SAAS,CAAC,MAAM,EAAG,WAAW,CAAC,MAAM,CAAC;IACtC,SAAS,CAAC,QAAQ,EAAG,WAAW,CAAC,QAAQ,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAqC;IAE5E,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM;;8BAOzB,GAAG,UAAU,MAAM;iCAMhB,MAAM,MAAM,MAAM,OAAO,MAAM;;;;YAepD;;;;eAIG;2BACY,MAAM;gCAUD,MAAM,cAAc,MAAM;gCAa1B,MAAM,YAAY,MAAM,cAAc,MAAM;;;;IAe/D,OAAO,IAAI,GAAG;IAIrB;;OAEG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG;IAc/B,OAAO;IAId;;OAEG;IACI,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAIzC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU;IAOlD,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,iBAAiB;CAQ1B"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import createDebug from 'debug';
|
|
2
2
|
import { randomBytes } from '../../random/index.js';
|
|
3
|
-
const debug = createDebug('bb.js:wasm');
|
|
4
3
|
/**
|
|
5
4
|
* Base implementation of BarretenbergWasm.
|
|
6
5
|
* Contains code that is common to the "main thread" implementation and the "child thread" implementation.
|
|
@@ -8,7 +7,7 @@ const debug = createDebug('bb.js:wasm');
|
|
|
8
7
|
export class BarretenbergWasmBase {
|
|
9
8
|
constructor() {
|
|
10
9
|
this.memStore = {};
|
|
11
|
-
this.logger =
|
|
10
|
+
this.logger = createDebug('bb.js:bb_wasm_base');
|
|
12
11
|
}
|
|
13
12
|
getImportObj(memory) {
|
|
14
13
|
/* eslint-disable camelcase */
|
|
@@ -47,9 +46,9 @@ export class BarretenbergWasmBase {
|
|
|
47
46
|
const m = this.getMemory();
|
|
48
47
|
const str2 = `${str} (mem: ${(m.length / (1024 * 1024)).toFixed(2)}MiB)`;
|
|
49
48
|
this.logger(str2);
|
|
50
|
-
if (str2.startsWith('WARNING:')) {
|
|
51
|
-
|
|
52
|
-
}
|
|
49
|
+
// if (str2.startsWith('WARNING:')) {
|
|
50
|
+
// this.logger(new Error().stack!);
|
|
51
|
+
// }
|
|
53
52
|
},
|
|
54
53
|
get_data: (keyAddr, outBufAddr) => {
|
|
55
54
|
const key = this.stringFromAddress(keyAddr);
|
|
@@ -122,4 +121,4 @@ export class BarretenbergWasmBase {
|
|
|
122
121
|
return textDecoder.decode(m.slice(addr, i));
|
|
123
122
|
}
|
|
124
123
|
}
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fYmFzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSxPQUFPLENBQUM7QUFDaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFBakM7UUFDWSxhQUFRLEdBQWtDLEVBQUUsQ0FBQztRQUc3QyxXQUFNLEdBQTBCLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBNEg5RSxDQUFDO0lBMUhXLFlBQVksQ0FBQyxNQUEwQjtRQUMvQyw4QkFBOEI7UUFDOUIsTUFBTSxTQUFTLEdBQUc7WUFDaEIsK0NBQStDO1lBQy9DLHdFQUF3RTtZQUN4RSw0R0FBNEc7WUFDNUcsc0JBQXNCLEVBQUU7Z0JBQ3RCLFVBQVUsRUFBRSxDQUFDLEdBQVEsRUFBRSxNQUFjLEVBQUUsRUFBRTtvQkFDdkMsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUM7b0JBQ2hCLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDdkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUM3QixHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztnQkFDRCxjQUFjLEVBQUUsQ0FBQyxFQUFVLEVBQUUsRUFBVSxFQUFFLEdBQVcsRUFBRSxFQUFFO29CQUN0RCxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQztvQkFDaEIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7b0JBQ25ELE1BQU0sSUFBSSxHQUFHLElB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
|
|
@@ -13,7 +13,7 @@ export declare class HeapAllocator {
|
|
|
13
13
|
private inScratchRemaining;
|
|
14
14
|
private outScratchRemaining;
|
|
15
15
|
constructor(wasm: BarretenbergWasmMain);
|
|
16
|
-
|
|
16
|
+
getInputs(buffers: (Uint8Array | number)[]): number[];
|
|
17
17
|
getOutputPtrs(outLens: (number | undefined)[]): number[];
|
|
18
18
|
addOutputPtr(ptr: number): void;
|
|
19
19
|
freeAll(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heap_allocator.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;GAOG;AACH,qBAAa,aAAa;IAKZ,OAAO,CAAC,IAAI;IAJxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,mBAAmB,CAAQ;gBAEf,IAAI,EAAE,oBAAoB;IAE9C,
|
|
1
|
+
{"version":3,"file":"heap_allocator.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;GAOG;AACH,qBAAa,aAAa;IAKZ,OAAO,CAAC,IAAI;IAJxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,mBAAmB,CAAQ;gBAEf,IAAI,EAAE,oBAAoB;IAE9C,SAAS,CAAC,OAAO,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE;IAmB1C,aAAa,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE;IAgB7C,YAAY,CAAC,GAAG,EAAE,MAAM;IAMxB,OAAO;CAKR"}
|
|
@@ -13,18 +13,23 @@ export class HeapAllocator {
|
|
|
13
13
|
this.inScratchRemaining = 1024;
|
|
14
14
|
this.outScratchRemaining = 1024;
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
return buffers.map(
|
|
18
|
-
if (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
getInputs(buffers) {
|
|
17
|
+
return buffers.map(bufOrNum => {
|
|
18
|
+
if (typeof bufOrNum === 'object') {
|
|
19
|
+
if (bufOrNum.length <= this.inScratchRemaining) {
|
|
20
|
+
const ptr = (this.inScratchRemaining -= bufOrNum.length);
|
|
21
|
+
this.wasm.writeMemory(ptr, bufOrNum);
|
|
22
|
+
return ptr;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const ptr = this.wasm.call('bbmalloc', bufOrNum.length);
|
|
26
|
+
this.wasm.writeMemory(ptr, bufOrNum);
|
|
27
|
+
this.allocs.push(ptr);
|
|
28
|
+
return ptr;
|
|
29
|
+
}
|
|
22
30
|
}
|
|
23
31
|
else {
|
|
24
|
-
|
|
25
|
-
this.wasm.writeMemory(ptr, buf);
|
|
26
|
-
this.allocs.push(ptr);
|
|
27
|
-
return ptr;
|
|
32
|
+
return bufOrNum;
|
|
28
33
|
}
|
|
29
34
|
});
|
|
30
35
|
}
|
|
@@ -54,4 +59,4 @@ export class HeapAllocator {
|
|
|
54
59
|
}
|
|
55
60
|
}
|
|
56
61
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhcF9hbGxvY2F0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fbWFpbi9oZWFwX2FsbG9jYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFLeEIsWUFBb0IsSUFBMEI7UUFBMUIsU0FBSSxHQUFKLElBQUksQ0FBc0I7UUFKdEMsV0FBTSxHQUFhLEVBQUUsQ0FBQztRQUN0Qix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDMUIsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO0lBRWMsQ0FBQztJQUVsRCxTQUFTLENBQUMsT0FBZ0M7UUFDeEMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVCLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ2pDLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztvQkFDL0MsTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN6RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBQ3JDLE9BQU8sR0FBRyxDQUFDO2dCQUNiLENBQUM7cUJBQU0sQ0FBQztvQkFDTixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN0QixPQUFPLEdBQUcsQ0FBQztnQkFDYixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBK0I7UUFDM0MsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLCtGQUErRjtZQUMvRiwyREFBMkQ7WUFDM0QsTUFBTSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUV0QixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUM1QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdEIsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVc7UUFDdEIsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
|
|
@@ -37,7 +37,7 @@ export declare class BarretenbergWasmMain extends BarretenbergWasmBase {
|
|
|
37
37
|
proc_exit: () => never;
|
|
38
38
|
};
|
|
39
39
|
};
|
|
40
|
-
callWasmExport(funcName: string, inArgs: Uint8Array[], outLens: (number | undefined)[]): Uint8Array[];
|
|
40
|
+
callWasmExport(funcName: string, inArgs: (Uint8Array | number)[], outLens: (number | undefined)[]): Uint8Array[];
|
|
41
41
|
private getOutputArgs;
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/barretenberg_wasm_main/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/barretenberg_wasm_main/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG1E;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,oBAAoB;IAC5D,MAAM,CAAC,WAAW,SAAM;IACxB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAK;IAElB,aAAa;IAIpB;;OAEG;IACU,IAAI,CACf,MAAM,EAAE,WAAW,CAAC,MAAM,EAC1B,OAAO,SAA0D,EACjE,MAAM,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAmC,EAC5D,OAAO,SAAK,EACZ,OAAO,SAAU;IAgCnB;;OAEG;IACU,OAAO;IAIpB,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM;;kCAOrB,MAAM;;;;;;;;;;;;;;;IAsBlC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE;IAUjG,OAAO,CAAC,aAAa;CAkBtB;AAED;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -3,7 +3,6 @@ import { getNumCpu, getRemoteBarretenbergWasm, getSharedMemoryAvailable } from '
|
|
|
3
3
|
import { createThreadWorker } from '../barretenberg_wasm_thread/factory/node/index.js';
|
|
4
4
|
import { BarretenbergWasmBase } from '../barretenberg_wasm_base/index.js';
|
|
5
5
|
import { HeapAllocator } from './heap_allocator.js';
|
|
6
|
-
const debug = createDebug('bb.js:wasm');
|
|
7
6
|
/**
|
|
8
7
|
* This is the "main thread" implementation of BarretenbergWasm.
|
|
9
8
|
* It spawns a bunch of "child thread" implementations.
|
|
@@ -23,14 +22,14 @@ export class BarretenbergWasmMain extends BarretenbergWasmBase {
|
|
|
23
22
|
/**
|
|
24
23
|
* Init as main thread. Spawn child threads.
|
|
25
24
|
*/
|
|
26
|
-
async init(module, threads = Math.min(getNumCpu(), BarretenbergWasmMain.MAX_THREADS), logger =
|
|
25
|
+
async init(module, threads = Math.min(getNumCpu(), BarretenbergWasmMain.MAX_THREADS), logger = createDebug('bb.js:bb_wasm'), initial = 32, maximum = 2 ** 16) {
|
|
27
26
|
this.logger = logger;
|
|
28
27
|
const initialMb = (initial * 2 ** 16) / (1024 * 1024);
|
|
29
28
|
const maxMb = (maximum * 2 ** 16) / (1024 * 1024);
|
|
30
29
|
const shared = getSharedMemoryAvailable();
|
|
31
|
-
this.logger(`
|
|
32
|
-
`max
|
|
33
|
-
`threads: ${threads}
|
|
30
|
+
this.logger(`Initializing bb wasm: initial memory ${initial} pages ${initialMb}MiB; ` +
|
|
31
|
+
`max memory: ${maximum} pages, ${maxMb}MiB; ` +
|
|
32
|
+
`threads: ${threads}; shared memory: ${shared}`);
|
|
34
33
|
this.memory = new WebAssembly.Memory({ initial, maximum, shared });
|
|
35
34
|
const instance = await WebAssembly.instantiate(module, this.getImportObj(this.memory));
|
|
36
35
|
this.instance = instance;
|
|
@@ -38,12 +37,11 @@ export class BarretenbergWasmMain extends BarretenbergWasmBase {
|
|
|
38
37
|
this.call('_initialize');
|
|
39
38
|
// Create worker threads. Create 1 less than requested, as main thread counts as a thread.
|
|
40
39
|
if (threads > 1) {
|
|
41
|
-
this.logger(`
|
|
40
|
+
this.logger(`Creating ${threads} worker threads`);
|
|
42
41
|
this.workers = await Promise.all(Array.from({ length: threads - 1 }).map(createThreadWorker));
|
|
43
42
|
this.remoteWasms = await Promise.all(this.workers.map((getRemoteBarretenbergWasm)));
|
|
44
43
|
await Promise.all(this.remoteWasms.map(w => w.initThread(module, this.memory)));
|
|
45
44
|
}
|
|
46
|
-
this.logger('init complete.');
|
|
47
45
|
}
|
|
48
46
|
/**
|
|
49
47
|
* Called on main thread. Signals child threads to gracefully exit.
|
|
@@ -80,7 +78,7 @@ export class BarretenbergWasmMain extends BarretenbergWasmBase {
|
|
|
80
78
|
}
|
|
81
79
|
callWasmExport(funcName, inArgs, outLens) {
|
|
82
80
|
const alloc = new HeapAllocator(this);
|
|
83
|
-
const inPtrs = alloc.
|
|
81
|
+
const inPtrs = alloc.getInputs(inArgs);
|
|
84
82
|
const outPtrs = alloc.getOutputPtrs(outLens);
|
|
85
83
|
this.call(funcName, ...inPtrs, ...outPtrs);
|
|
86
84
|
const outArgs = this.getOutputArgs(outLens, outPtrs, alloc);
|
|
@@ -104,4 +102,4 @@ export class BarretenbergWasmMain extends BarretenbergWasmBase {
|
|
|
104
102
|
}
|
|
105
103
|
}
|
|
106
104
|
BarretenbergWasmMain.MAX_THREADS = 32;
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLFdBQVcsTUFBTSxPQUFPLENBQUM7QUFFaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBRXZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG9CQUFvQjtJQUE5RDs7UUFFVSxZQUFPLEdBQWEsRUFBRSxDQUFDO1FBQ3ZCLGdCQUFXLEdBQW1DLEVBQUUsQ0FBQztRQUNqRCxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsaUJBQVksR0FBRyxDQUFDLENBQUM7SUE4RzNCLENBQUM7SUE1R1EsYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsSUFBSSxDQUNmLE1BQTBCLEVBQzFCLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxFQUNqRSxTQUFnQyxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQzVELE9BQU8sR0FBRyxFQUFFLEVBQ1osT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFO1FBRWpCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLE1BQU0sU0FBUyxHQUFHLENBQUMsT0FBTyxHQUFHLENBQUMs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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"barretenberg-threads.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/fetch_code/browser/barretenberg-threads.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,oCAAoC,CAAC;AAE3E,eAAe,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import barretenbergThreadsModule from '../../barretenberg-threads.wasm.gz';
|
|
2
|
+
export default barretenbergThreadsModule;
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFycmV0ZW5iZXJnLXRocmVhZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vZmV0Y2hfY29kZS9icm93c2VyL2JhcnJldGVuYmVyZy10aHJlYWRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8seUJBQXlCLE1BQU0sb0NBQW9DLENBQUM7QUFFM0UsZUFBZSx5QkFBeUIsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"barretenberg.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/fetch_code/browser/barretenberg.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAE5D,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import barretenbergModule from '../../barretenberg.wasm.gz';
|
|
2
|
+
export default barretenbergModule;
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFycmV0ZW5iZXJnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2JhcnJldGVuYmVyZ193YXNtL2ZldGNoX2NvZGUvYnJvd3Nlci9iYXJyZXRlbmJlcmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxrQkFBa0IsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxlQUFlLGtCQUFrQixDQUFDIn0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function fetchCode(multithreaded: boolean): Promise<ArrayBufferLike>;
|
|
1
|
+
export declare function fetchCode(multithreaded: boolean, wasmPath?: string): Promise<ArrayBufferLike>;
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/fetch_code/browser/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/fetch_code/browser/index.ts"],"names":[],"mappings":"AAIA,wBAAsB,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,4BA4BxE"}
|
|
@@ -1,12 +1,35 @@
|
|
|
1
|
-
import barretenbergModule from '../../barretenberg.wasm.gz';
|
|
2
|
-
import barretenbergThreadsModule from '../../barretenberg-threads.wasm.gz';
|
|
3
1
|
import pako from 'pako';
|
|
4
2
|
// Annoyingly the wasm declares if it's memory is shared or not. So now we need two wasms if we want to be
|
|
5
3
|
// able to fallback on "non shared memory" situations.
|
|
6
|
-
export async function fetchCode(multithreaded) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
export async function fetchCode(multithreaded, wasmPath) {
|
|
5
|
+
let url;
|
|
6
|
+
if (wasmPath) {
|
|
7
|
+
const suffix = multithreaded ? '-threads' : '';
|
|
8
|
+
const filePath = wasmPath.split('/').slice(0, -1).join('/');
|
|
9
|
+
const fileNameWithExtensions = wasmPath.split('/').pop();
|
|
10
|
+
const [fileName, ...extensions] = fileNameWithExtensions.split('.');
|
|
11
|
+
url = `${filePath}/${fileName}${suffix}.${extensions.join('.')}`;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
url = multithreaded
|
|
15
|
+
? (await import(/* webpackIgnore: true */ './barretenberg-threads.js')).default
|
|
16
|
+
: (await import(/* webpackIgnore: true */ './barretenberg.js')).default;
|
|
17
|
+
}
|
|
18
|
+
const res = await fetch(url);
|
|
19
|
+
const maybeCompressedData = await res.arrayBuffer();
|
|
20
|
+
const buffer = new Uint8Array(maybeCompressedData);
|
|
21
|
+
const isGzip =
|
|
22
|
+
// Check magic number
|
|
23
|
+
buffer[0] === 0x1f &&
|
|
24
|
+
buffer[1] === 0x8b &&
|
|
25
|
+
// Check compression method:
|
|
26
|
+
buffer[2] === 0x08;
|
|
27
|
+
if (isGzip) {
|
|
28
|
+
const decompressedData = pako.ungzip(buffer);
|
|
29
|
+
return decompressedData.buffer;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return buffer;
|
|
33
|
+
}
|
|
11
34
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vZmV0Y2hfY29kZS9icm93c2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUV4QiwwR0FBMEc7QUFDMUcsc0RBQXNEO0FBQ3RELE1BQU0sQ0FBQyxLQUFLLFVBQVUsU0FBUyxDQUFDLGFBQXNCLEVBQUUsUUFBaUI7SUFDdkUsSUFBSSxHQUFXLENBQUM7SUFDaEIsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDL0MsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVELE1BQU0sc0JBQXNCLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN6RCxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsVUFBVSxDQUFDLEdBQUcsc0JBQXVCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JFLEdBQUcsR0FBRyxHQUFHLFFBQVEsSUFBSSxRQUFRLEdBQUcsTUFBTSxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUNuRSxDQUFDO1NBQU0sQ0FBQztRQUNOLEdBQUcsR0FBRyxhQUFhO1lBQ2pCLENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxDQUFDLHlCQUF5QixDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxPQUFPO1lBQy9FLENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxDQUFDLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDNUUsQ0FBQztJQUNELE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNuRCxNQUFNLE1BQU07SUFDVixxQkFBcUI7SUFDckIsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUk7UUFDbEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUk7UUFDbEIsNEJBQTRCO1FBQzVCLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUM7SUFDckIsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztJQUNqQyxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function fetchCode(multithreaded: boolean): Promise<ArrayBufferLike>;
|
|
1
|
+
export declare function fetchCode(multithreaded: boolean, wasmPath?: string): Promise<ArrayBufferLike>;
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/fetch_code/node/index.ts"],"names":[],"mappings":"AAgBA,wBAAsB,SAAS,CAAC,aAAa,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/fetch_code/node/index.ts"],"names":[],"mappings":"AAgBA,wBAAsB,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,4BAKxE"}
|
|
@@ -13,10 +13,10 @@ function getCurrentDir() {
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
16
|
-
export async function fetchCode(multithreaded) {
|
|
17
|
-
const path = getCurrentDir() + '/../../barretenberg-threads.wasm.gz';
|
|
16
|
+
export async function fetchCode(multithreaded, wasmPath) {
|
|
17
|
+
const path = wasmPath ?? getCurrentDir() + '/../../barretenberg-threads.wasm.gz';
|
|
18
18
|
const compressedData = await readFile(path);
|
|
19
19
|
const decompressedData = pako.ungzip(new Uint8Array(compressedData));
|
|
20
20
|
return decompressedData.buffer;
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vZmV0Y2hfY29kZS9ub2RlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ3BDLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUV4QixTQUFTLGFBQWE7SUFDcEIsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNyQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO1NBQU0sQ0FBQztRQUNOLDZEQUE2RDtRQUM3RCxhQUFhO1FBQ2IsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0FBQ0gsQ0FBQztBQUVELDZEQUE2RDtBQUM3RCxNQUFNLENBQUMsS0FBSyxVQUFVLFNBQVMsQ0FBQyxhQUFzQixFQUFFLFFBQWlCO0lBQ3ZFLE1BQU0sSUFBSSxHQUFHLFFBQVEsSUFBSSxhQUFhLEVBQUUsR0FBRyxxQ0FBcUMsQ0FBQztJQUNqRixNQUFNLGNBQWMsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUNyRSxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztBQUNqQyxDQUFDIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { BarretenbergWasmMain, BarretenbergWasmMainWorker } from './barretenberg_wasm_main/index.js';
|
|
3
|
-
export declare function fetchModuleAndThreads(desiredThreads?: number): Promise<{
|
|
3
|
+
export declare function fetchModuleAndThreads(desiredThreads?: number, wasmPath?: string, logger?: (msg: string) => void): Promise<{
|
|
4
4
|
module: WebAssembly.Module;
|
|
5
5
|
threads: number;
|
|
6
6
|
}>;
|
|
@@ -9,7 +9,7 @@ export declare class BarretenbergWasm extends BarretenbergWasmMain {
|
|
|
9
9
|
* Construct and initialize BarretenbergWasm within a Worker. Return both the worker and the wasm proxy.
|
|
10
10
|
* Used when running in the browser, because we can't block the main thread.
|
|
11
11
|
*/
|
|
12
|
-
static new(desiredThreads?: number): Promise<{
|
|
12
|
+
static new(desiredThreads?: number, wasmPath?: string, logger?: (msg: string) => void): Promise<{
|
|
13
13
|
worker: import("worker_threads").Worker;
|
|
14
14
|
wasm: BarretenbergWasmMainWorker;
|
|
15
15
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/barretenberg_wasm/index.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/barretenberg_wasm/index.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAGrG,wBAAsB,qBAAqB,CACzC,cAAc,SAAK,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAqC;;;GAc/D;AAkBD,qBAAa,gBAAiB,SAAQ,oBAAoB;IACxD;;;OAGG;WACiB,GAAG,CACrB,cAAc,CAAC,EAAE,MAAM,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAwC;;;;CAQpE;AAED,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,CAAC"}
|
|
@@ -4,17 +4,19 @@ import { createMainWorker } from './barretenberg_wasm_main/factory/node/index.js
|
|
|
4
4
|
import { getRemoteBarretenbergWasm, getSharedMemoryAvailable } from './helpers/node/index.js';
|
|
5
5
|
import { BarretenbergWasmMain } from './barretenberg_wasm_main/index.js';
|
|
6
6
|
import { fetchCode } from './fetch_code/index.js';
|
|
7
|
-
|
|
8
|
-
export async function fetchModuleAndThreads(desiredThreads = 32) {
|
|
7
|
+
export async function fetchModuleAndThreads(desiredThreads = 32, wasmPath, logger = createDebug('bb.js:fetch_mat')) {
|
|
9
8
|
const shared = getSharedMemoryAvailable();
|
|
10
|
-
const availableThreads = shared ? await getAvailableThreads() : 1;
|
|
9
|
+
const availableThreads = shared ? await getAvailableThreads(logger) : 1;
|
|
11
10
|
// We limit the number of threads to 32 as we do not benefit from greater numbers.
|
|
12
11
|
const limitedThreads = Math.min(desiredThreads, availableThreads, 32);
|
|
13
|
-
|
|
12
|
+
logger(`Fetching bb wasm from ${wasmPath ?? 'default location'}`);
|
|
13
|
+
const code = await fetchCode(shared, wasmPath);
|
|
14
|
+
logger(`Compiling bb wasm of ${code.byteLength} bytes`);
|
|
14
15
|
const module = await WebAssembly.compile(code);
|
|
16
|
+
logger('Compilation of bb wasm complete');
|
|
15
17
|
return { module, threads: limitedThreads };
|
|
16
18
|
}
|
|
17
|
-
async function getAvailableThreads() {
|
|
19
|
+
async function getAvailableThreads(logger) {
|
|
18
20
|
if (typeof navigator !== 'undefined' && navigator.hardwareConcurrency) {
|
|
19
21
|
return navigator.hardwareConcurrency;
|
|
20
22
|
}
|
|
@@ -24,7 +26,7 @@ async function getAvailableThreads() {
|
|
|
24
26
|
return os.cpus().length;
|
|
25
27
|
}
|
|
26
28
|
catch (e) {
|
|
27
|
-
|
|
29
|
+
logger(`Could not detect environment to query number of threads. Falling back to one thread. Error: ${e.message ?? e}`);
|
|
28
30
|
return 1;
|
|
29
31
|
}
|
|
30
32
|
}
|
|
@@ -34,12 +36,12 @@ export class BarretenbergWasm extends BarretenbergWasmMain {
|
|
|
34
36
|
* Construct and initialize BarretenbergWasm within a Worker. Return both the worker and the wasm proxy.
|
|
35
37
|
* Used when running in the browser, because we can't block the main thread.
|
|
36
38
|
*/
|
|
37
|
-
static async new(desiredThreads) {
|
|
39
|
+
static async new(desiredThreads, wasmPath, logger = createDebug('bb.js:bb_wasm_main')) {
|
|
38
40
|
const worker = createMainWorker();
|
|
39
41
|
const wasm = getRemoteBarretenbergWasm(worker);
|
|
40
|
-
const { module, threads } = await fetchModuleAndThreads(desiredThreads);
|
|
41
|
-
await wasm.init(module, threads, proxy(
|
|
42
|
+
const { module, threads } = await fetchModuleAndThreads(desiredThreads, wasmPath, logger);
|
|
43
|
+
await wasm.init(module, threads, proxy(logger));
|
|
42
44
|
return { worker, wasm };
|
|
43
45
|
}
|
|
44
46
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLFdBQVcsTUFBTSxPQUFPLENBQUM7QUFDaEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUYsT0FBTyxFQUFFLG9CQUFvQixFQUE4QixNQUFNLG1DQUFtQyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRCxNQUFNLENBQUMsS0FBSyxVQUFVLHFCQUFxQixDQUN6QyxjQUFjLEdBQUcsRUFBRSxFQUNuQixRQUFpQixFQUNqQixTQUFnQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7SUFFOUQsTUFBTSxNQUFNLEdBQUcsd0JBQXdCLEVBQUUsQ0FBQztJQUUxQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLGtGQUFrRjtJQUNsRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUV0RSxNQUFNLENBQUMseUJBQXlCLFFBQVEsSUFBSSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFDbEUsTUFBTSxJQUFJLEdBQUcsTUFBTSxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sQ0FBQyx3QkFBd0IsSUFBSSxDQUFDLFVBQVUsUUFBUSxDQUFDLENBQUM7SUFDeEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxDQUFDO0FBQzdDLENBQUM7QUFFRCxLQUFLLFVBQVUsbUJBQW1CLENBQUMsTUFBNkI7SUFDOUQsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDdEUsT0FBTyxTQUFTLENBQUMsbUJBQW1CLENBQUM7SUFDdkMsQ0FBQztTQUFNLENBQUM7UUFDTixJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDMUIsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxDQUNKLCtGQUErRixDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUNoSCxDQUFDO1lBQ0YsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsb0JBQW9CO0lBQ3hEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUNyQixjQUF1QixFQUN2QixRQUFpQixFQUNqQixTQUFnQyxXQUFXLENBQUMsb0JBQW9CLENBQUM7UUFFakUsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUNsQyxNQUFNLElBQUksR0FBRyx5QkFBeUIsQ0FBNkIsTUFBTSxDQUFDLENBQUM7UUFDM0UsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDMUYsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0YifQ==
|
|
@@ -13,7 +13,7 @@ describe('barretenberg wasm', () => {
|
|
|
13
13
|
const length = 1024;
|
|
14
14
|
const ptr = await wasm.call('bbmalloc', length);
|
|
15
15
|
const buf = Buffer.alloc(length, 128);
|
|
16
|
-
await wasm.writeMemory(ptr, buf);
|
|
16
|
+
await wasm.writeMemory(ptr, Uint8Array.from(buf));
|
|
17
17
|
const result = Buffer.from(await wasm.getMemorySlice(ptr, ptr + length));
|
|
18
18
|
await wasm.call('bbfree', ptr);
|
|
19
19
|
expect(result).toStrictEqual(buf);
|
|
@@ -29,10 +29,10 @@ describe('barretenberg wasm', () => {
|
|
|
29
29
|
const length = 1024;
|
|
30
30
|
const ptr = await wasm.call('bbmalloc', length);
|
|
31
31
|
const buf = Buffer.alloc(length, 128);
|
|
32
|
-
await wasm.writeMemory(ptr, buf);
|
|
32
|
+
await wasm.writeMemory(ptr, Uint8Array.from(buf));
|
|
33
33
|
const result = Buffer.from(await wasm.getMemorySlice(ptr, ptr + length));
|
|
34
34
|
await wasm.call('bbfree', ptr);
|
|
35
35
|
expect(result).toStrictEqual(buf);
|
|
36
36
|
});
|
|
37
37
|
});
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9pbmRleC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMEIsTUFBTSxZQUFZLENBQUM7QUFFdEUsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtJQUNqQyxJQUFJLE1BQWUsQ0FBQztJQUNwQixJQUFJLElBQTZCLENBQUM7SUFFbEMsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ25CLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFVixRQUFRLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbEIsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckIsTUFBTSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMkNBQTJDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDekQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDMUIsTUFBTSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNoRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN4QyxtR0FBbUc7UUFDbkcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMkNBQTJDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDekQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/**
|
|
3
|
+
* Convert a 32-byte BE Buffer to a BigInt.
|
|
4
|
+
*/
|
|
5
|
+
export declare function buffer32BytesToBigIntBE(buf: Buffer): bigint;
|
|
6
|
+
/**
|
|
7
|
+
* Convert a BE Uint8Array to a BigInt.
|
|
8
|
+
*/
|
|
9
|
+
export declare function uint8ArrayToBigIntBE(bytes: Uint8Array): bigint;
|
|
10
|
+
/**
|
|
11
|
+
* Convert a BigInt to a 32-byte BE Buffer.
|
|
12
|
+
*/
|
|
13
|
+
export declare function bigIntToBufferBE(value: bigint, byteLength?: number): Buffer;
|
|
14
|
+
/**
|
|
15
|
+
* Convert a BigInt to a 32-byte BE Uint8Array.
|
|
16
|
+
*/
|
|
17
|
+
export declare function bigIntToUint8ArrayBE(value: bigint, byteLength?: number): Uint8Array;
|
|
3
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bigint-array/index.ts"],"names":[],"mappings":"AAAA,wBAAgB,
|
|
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,21 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Convert a 32-byte BE Buffer to a BigInt.
|
|
3
|
+
*/
|
|
4
|
+
export function buffer32BytesToBigIntBE(buf) {
|
|
5
|
+
return ((buf.readBigUInt64BE(0) << 192n) +
|
|
6
|
+
(buf.readBigUInt64BE(8) << 128n) +
|
|
7
|
+
(buf.readBigUInt64BE(16) << 64n) +
|
|
8
|
+
buf.readBigUInt64BE(24));
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Convert a BE Uint8Array to a BigInt.
|
|
12
|
+
*/
|
|
13
|
+
export function uint8ArrayToBigIntBE(bytes) {
|
|
14
|
+
const buffer = Buffer.from(bytes);
|
|
15
|
+
return buffer32BytesToBigIntBE(buffer);
|
|
11
16
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Convert a BigInt to a 32-byte BE Buffer.
|
|
19
|
+
*/
|
|
20
|
+
export function bigIntToBufferBE(value, byteLength = 32) {
|
|
21
|
+
if (byteLength != 32) {
|
|
22
|
+
throw new Error(`Only 32 bytes supported for conversion from bigint to buffer, attempted byte length: ${byteLength}`);
|
|
18
23
|
}
|
|
19
|
-
|
|
24
|
+
const buf = Buffer.alloc(byteLength);
|
|
25
|
+
buf.writeBigUInt64BE(value >> 192n, 0);
|
|
26
|
+
buf.writeBigUInt64BE((value >> 128n) & 0xffffffffffffffffn, 8);
|
|
27
|
+
buf.writeBigUInt64BE((value >> 64n) & 0xffffffffffffffffn, 16);
|
|
28
|
+
buf.writeBigUInt64BE(value & 0xffffffffffffffffn, 24);
|
|
29
|
+
return buf;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Convert a BigInt to a 32-byte BE Uint8Array.
|
|
33
|
+
*/
|
|
34
|
+
export function bigIntToUint8ArrayBE(value, byteLength = 32) {
|
|
35
|
+
return new Uint8Array(bigIntToBufferBE(value, byteLength));
|
|
20
36
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmlnaW50LWFycmF5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEdBQVc7SUFDakQsT0FBTyxDQUNMLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaEMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDO1FBQ2hDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQ3hCLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsS0FBaUI7SUFDcEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxPQUFPLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsVUFBVSxHQUFHLEVBQUU7SUFDN0QsSUFBSSxVQUFVLElBQUksRUFBRSxFQUFFLENBQUM7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FDYix3RkFBd0YsVUFBVSxFQUFFLENBQ3JHLENBQUM7SUFDSixDQUFDO0lBQ0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2QyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0QsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxHQUFHLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsS0FBYSxFQUFFLFVBQVUsR0FBRyxFQUFFO0lBQ2pFLE9BQU8sSUFBSSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDN0QsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"net_crs.d.ts","sourceRoot":"","sources":["../../../src/crs/net_crs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"net_crs.d.ts","sourceRoot":"","sources":["../../../src/crs/net_crs.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,qBAAa,MAAM;IAKf;;OAEG;aACa,SAAS,EAAE,MAAM;IAPnC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,MAAM,CAAc;;IAG1B;;OAEG;IACa,SAAS,EAAE,MAAM;IAGnC;;OAEG;IACG,IAAI;IAKJ,cAAc;IAsBpB;;OAEG;IACG,cAAc;IAYpB;;;OAGG;IACH,SAAS,IAAI,UAAU;IAIvB;;;OAGG;IACH,SAAS,IAAI,UAAU;CAGxB;AAED;;GAEG;AACH,qBAAa,cAAc;IAIvB;;OAEG;aACa,SAAS,EAAE,MAAM;IANnC,OAAO,CAAC,IAAI,CAAc;;IAGxB;;OAEG;IACa,SAAS,EAAE,MAAM;IAGnC;;OAEG;IACG,IAAI;IAIJ,cAAc;IAmBpB;;;OAGG;IACH,SAAS,IAAI,UAAU;CAGxB"}
|