@aztec/bb.js 0.86.0 → 0.87.0-nightly.20250521

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.
Files changed (117) hide show
  1. package/dest/browser/barretenberg-threads.js +1 -1
  2. package/dest/browser/barretenberg.js +1 -1
  3. package/dest/browser/index.js +179 -345
  4. package/dest/browser/main.worker.js +116 -116
  5. package/dest/browser/thread.worker.js +116 -116
  6. package/dest/node/barretenberg/backend.d.ts +5 -40
  7. package/dest/node/barretenberg/backend.d.ts.map +1 -1
  8. package/dest/node/barretenberg/backend.js +28 -108
  9. package/dest/node/barretenberg/index.d.ts +1 -1
  10. package/dest/node/barretenberg/index.d.ts.map +1 -1
  11. package/dest/node/barretenberg/index.js +6 -6
  12. package/dest/node/barretenberg/verifier.d.ts +0 -2
  13. package/dest/node/barretenberg/verifier.d.ts.map +1 -1
  14. package/dest/node/barretenberg/verifier.js +2 -12
  15. package/dest/node/barretenberg_api/index.d.ts +7 -11
  16. package/dest/node/barretenberg_api/index.d.ts.map +1 -1
  17. package/dest/node/barretenberg_api/index.js +46 -74
  18. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  19. package/dest/node/bigint-array/index.d.ts +1 -0
  20. package/dest/node/bigint-array/index.d.ts.map +1 -1
  21. package/dest/node/bindgen/mappings.js +2 -2
  22. package/dest/node/bindgen/typescript.js +1 -1
  23. package/dest/node/crs/net_crs.d.ts.map +1 -1
  24. package/dest/node/crs/net_crs.js +6 -7
  25. package/dest/node/crs/node/index.js +4 -4
  26. package/dest/node/index.d.ts +1 -1
  27. package/dest/node/index.d.ts.map +1 -1
  28. package/dest/node/index.js +2 -2
  29. package/dest/node/main.d.ts +0 -8
  30. package/dest/node/main.d.ts.map +1 -1
  31. package/dest/node/main.js +38 -244
  32. package/dest/node/proof/index.d.ts +1 -2
  33. package/dest/node/proof/index.d.ts.map +1 -1
  34. package/dest/node/proof/index.js +2 -9
  35. package/dest/node/serialize/buffer_reader.d.ts.map +1 -1
  36. package/dest/node/serialize/buffer_reader.js +1 -1
  37. package/dest/node/types/fields.d.ts +1 -0
  38. package/dest/node/types/fields.d.ts.map +1 -1
  39. package/dest/node/types/fields.js +1 -1
  40. package/dest/node/types/point.d.ts +1 -0
  41. package/dest/node/types/point.d.ts.map +1 -1
  42. package/dest/node/types/point.js +1 -1
  43. package/dest/node-cjs/barretenberg/backend.d.ts +5 -40
  44. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
  45. package/dest/node-cjs/barretenberg/backend.js +28 -109
  46. package/dest/node-cjs/barretenberg/index.d.ts +1 -1
  47. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
  48. package/dest/node-cjs/barretenberg/index.js +6 -7
  49. package/dest/node-cjs/barretenberg/verifier.d.ts +0 -2
  50. package/dest/node-cjs/barretenberg/verifier.d.ts.map +1 -1
  51. package/dest/node-cjs/barretenberg/verifier.js +1 -11
  52. package/dest/node-cjs/barretenberg_api/index.d.ts +7 -11
  53. package/dest/node-cjs/barretenberg_api/index.d.ts.map +1 -1
  54. package/dest/node-cjs/barretenberg_api/index.js +45 -73
  55. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  56. package/dest/node-cjs/bigint-array/index.d.ts +1 -0
  57. package/dest/node-cjs/bigint-array/index.d.ts.map +1 -1
  58. package/dest/node-cjs/bindgen/mappings.js +2 -2
  59. package/dest/node-cjs/bindgen/typescript.js +1 -1
  60. package/dest/node-cjs/crs/net_crs.d.ts.map +1 -1
  61. package/dest/node-cjs/crs/net_crs.js +6 -7
  62. package/dest/node-cjs/crs/node/index.js +4 -4
  63. package/dest/node-cjs/index.d.ts +1 -1
  64. package/dest/node-cjs/index.d.ts.map +1 -1
  65. package/dest/node-cjs/index.js +2 -3
  66. package/dest/node-cjs/main.d.ts +0 -8
  67. package/dest/node-cjs/main.d.ts.map +1 -1
  68. package/dest/node-cjs/main.js +39 -253
  69. package/dest/node-cjs/proof/index.d.ts +1 -2
  70. package/dest/node-cjs/proof/index.d.ts.map +1 -1
  71. package/dest/node-cjs/proof/index.js +3 -11
  72. package/dest/node-cjs/serialize/buffer_reader.d.ts.map +1 -1
  73. package/dest/node-cjs/serialize/buffer_reader.js +1 -1
  74. package/dest/node-cjs/types/fields.d.ts +1 -0
  75. package/dest/node-cjs/types/fields.d.ts.map +1 -1
  76. package/dest/node-cjs/types/fields.js +1 -1
  77. package/dest/node-cjs/types/point.d.ts +1 -0
  78. package/dest/node-cjs/types/point.d.ts.map +1 -1
  79. package/dest/node-cjs/types/point.js +1 -1
  80. package/package.json +7 -8
  81. package/src/barretenberg/backend.ts +41 -159
  82. package/src/barretenberg/index.ts +10 -6
  83. package/src/barretenberg/verifier.ts +1 -13
  84. package/src/barretenberg_api/index.ts +74 -130
  85. package/src/bindgen/mappings.ts +1 -1
  86. package/src/bindgen/typescript.ts +4 -4
  87. package/src/crs/net_crs.ts +5 -6
  88. package/src/crs/node/index.ts +3 -3
  89. package/src/index.html +1 -1
  90. package/src/index.ts +0 -1
  91. package/src/main.ts +44 -279
  92. package/src/proof/index.ts +1 -13
  93. package/src/serialize/buffer_reader.ts +4 -1
  94. package/src/types/fields.ts +2 -2
  95. package/src/types/point.ts +4 -1
  96. package/dest/browser/733.655674bbbb79bdf168c4.js +0 -7
  97. package/dest/node/crs/node/ignition_files_crs.d.ts +0 -38
  98. package/dest/node/crs/node/ignition_files_crs.d.ts.map +0 -1
  99. package/dest/node/crs/node/ignition_files_crs.js +0 -65
  100. package/dest/node/examples/simple.rawtest.d.ts +0 -2
  101. package/dest/node/examples/simple.rawtest.d.ts.map +0 -1
  102. package/dest/node/examples/simple.rawtest.js +0 -30
  103. package/dest/node/examples/simple.test.d.ts +0 -2
  104. package/dest/node/examples/simple.test.d.ts.map +0 -1
  105. package/dest/node/examples/simple.test.js +0 -23
  106. package/dest/node-cjs/crs/node/ignition_files_crs.d.ts +0 -38
  107. package/dest/node-cjs/crs/node/ignition_files_crs.d.ts.map +0 -1
  108. package/dest/node-cjs/crs/node/ignition_files_crs.js +0 -69
  109. package/dest/node-cjs/examples/simple.rawtest.d.ts +0 -2
  110. package/dest/node-cjs/examples/simple.rawtest.d.ts.map +0 -1
  111. package/dest/node-cjs/examples/simple.rawtest.js +0 -33
  112. package/dest/node-cjs/examples/simple.test.d.ts +0 -2
  113. package/dest/node-cjs/examples/simple.test.d.ts.map +0 -1
  114. package/dest/node-cjs/examples/simple.test.js +0 -25
  115. package/src/crs/node/ignition_files_crs.ts +0 -74
  116. package/src/examples/simple.rawtest.ts +0 -38
  117. package/src/examples/simple.test.ts +0 -28
@@ -1,30 +0,0 @@
1
- import { Crs } from '../crs/index.js';
2
- import createDebug from 'debug';
3
- import { Barretenberg } from '../barretenberg/index.js';
4
- import { RawBuffer } from '../types/index.js';
5
- createDebug.enable('*');
6
- const debug = createDebug('simple_test');
7
- async function main() {
8
- const CIRCUIT_SIZE = 2 ** 19;
9
- debug('starting test...');
10
- const api = await Barretenberg.new();
11
- // // Important to init slab allocator as first thing, to ensure maximum memory efficiency.
12
- // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization?
13
- // await api.commonInitSlabAllocator(CIRCUIT_SIZE);
14
- // Plus 1 needed!
15
- const crs = await Crs.new(CIRCUIT_SIZE + 1);
16
- await api.srsInitSrs(new RawBuffer(crs.getG1Data()), crs.numPoints, new RawBuffer(crs.getG2Data()));
17
- const iterations = 10;
18
- let totalTime = 0;
19
- for (let i = 0; i < iterations; ++i) {
20
- const start = new Date().getTime();
21
- debug(`iteration ${i} starting...`);
22
- await api.examplesSimpleCreateAndVerifyProof();
23
- totalTime += new Date().getTime() - start;
24
- }
25
- await api.destroy();
26
- debug(`avg iteration time: ${totalTime / iterations}ms`);
27
- debug('test complete.');
28
- }
29
- void main();
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLnJhd3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXhhbXBsZXMvc2ltcGxlLnJhd3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RDLE9BQU8sV0FBVyxNQUFNLE9BQU8sQ0FBQztBQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTlDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEIsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXpDLEtBQUssVUFBVSxJQUFJO0lBQ2pCLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFN0IsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDMUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFckMsMkZBQTJGO0lBQzNGLHFHQUFxRztJQUNyRyxtREFBbUQ7SUFFbkQsaUJBQWlCO0lBQ2pCLE1BQU0sR0FBRyxHQUFHLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUMsTUFBTSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVwRyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdEIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25DLEtBQUssQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEMsTUFBTSxHQUFHLENBQUMsa0NBQWtDLEVBQUUsQ0FBQztRQUMvQyxTQUFTLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU0sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRXBCLEtBQUssQ0FBQyx1QkFBdUIsU0FBUyxHQUFHLFVBQVUsSUFBSSxDQUFDLENBQUM7SUFDekQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVELEtBQUssSUFBSSxFQUFFLENBQUMifQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=simple.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simple.test.d.ts","sourceRoot":"","sources":["../../../src/examples/simple.test.ts"],"names":[],"mappings":""}
@@ -1,23 +0,0 @@
1
- import { Crs } from '../crs/index.js';
2
- import { Barretenberg } from '../barretenberg/index.js';
3
- import { RawBuffer } from '../types/index.js';
4
- describe('simple', () => {
5
- let api;
6
- beforeAll(async () => {
7
- api = await Barretenberg.new();
8
- // // Important to init slab allocator as first thing, to ensure maximum memory efficiency.
9
- // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization?
10
- // const CIRCUIT_SIZE = 2 ** 19;
11
- // await api.commonInitSlabAllocator(CIRCUIT_SIZE);
12
- const crs = await Crs.new(2 ** 20 + 1);
13
- await api.srsInitSrs(new RawBuffer(crs.getG1Data()), crs.numPoints, new RawBuffer(crs.getG2Data()));
14
- }, 60000);
15
- afterAll(async () => {
16
- await api.destroy();
17
- }, 10000);
18
- it('should construct 512k gate proof', async () => {
19
- const valid = await api.examplesSimpleCreateAndVerifyProof();
20
- expect(valid).toBe(true);
21
- }, 300000);
22
- });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXhhbXBsZXMvc2ltcGxlLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFOUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7SUFDdEIsSUFBSSxHQUFpQixDQUFDO0lBRXRCLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNuQixHQUFHLEdBQUcsTUFBTSxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFL0IsMkZBQTJGO1FBQzNGLHFHQUFxRztRQUNyRyxnQ0FBZ0M7UUFDaEMsbURBQW1EO1FBRW5ELE1BQU0sR0FBRyxHQUFHLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRVYsUUFBUSxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ2xCLE1BQU0sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3RCLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVWLEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNoRCxNQUFNLEtBQUssR0FBRyxNQUFNLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDO1FBQzdELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMifQ==
@@ -1,38 +0,0 @@
1
- /**
2
- * The path to our SRS object, assuming that we are in e.g. barretenberg/ts/dest/node/crs/node folder.
3
- */
4
- export declare const SRS_DEV_PATH: string;
5
- export declare const GRUMPKIN_SRS_DEV_PATH: string;
6
- /**
7
- * Downloader for CRS from a local file (for Node).
8
- */
9
- export declare class IgnitionFilesCrs {
10
- /**
11
- * The number of circuit gates.
12
- */
13
- readonly numPoints: number;
14
- private path;
15
- private data;
16
- private g2Data;
17
- constructor(
18
- /**
19
- * The number of circuit gates.
20
- */
21
- numPoints: number, path?: string);
22
- pathExists(): boolean;
23
- /**
24
- * Read the data file.
25
- */
26
- init(): Promise<void>;
27
- /**
28
- * G1 points data for prover key.
29
- * @returns The points data.
30
- */
31
- getG1Data(): Uint8Array;
32
- /**
33
- * G2 points data for verification key.
34
- * @returns The points data.
35
- */
36
- getG2Data(): Uint8Array;
37
- }
38
- //# sourceMappingURL=ignition_files_crs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ignition_files_crs.d.ts","sourceRoot":"","sources":["../../../../src/crs/node/ignition_files_crs.ts"],"names":[],"mappings":"AAeA;;GAEG;AACH,eAAO,MAAM,YAAY,QAAmE,CAAC;AAC7F,eAAO,MAAM,qBAAqB,QAAmE,CAAC;AAEtG;;GAEG;AACH,qBAAa,gBAAgB;IAKzB;;OAEG;aACa,SAAS,EAAE,MAAM;IACjC,OAAO,CAAC,IAAI;IARd,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,MAAM,CAAc;;IAG1B;;OAEG;IACa,SAAS,EAAE,MAAM,EACzB,IAAI,SAAe;IAG7B,UAAU;IAIV;;OAEG;IACG,IAAI;IAeV;;;OAGG;IACH,SAAS,IAAI,UAAU;IAIvB;;;OAGG;IACH,SAAS,IAAI,UAAU;CAGxB"}
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IgnitionFilesCrs = exports.GRUMPKIN_SRS_DEV_PATH = exports.SRS_DEV_PATH = void 0;
4
- const fs_1 = require("fs");
5
- const promises_1 = require("fs/promises");
6
- const path_1 = require("path");
7
- const url_1 = require("url");
8
- function getCurrentDir() {
9
- if (typeof __dirname !== 'undefined') {
10
- return __dirname;
11
- }
12
- else {
13
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
14
- // @ts-ignore
15
- return (0, path_1.dirname)((0, url_1.fileURLToPath)(""));
16
- }
17
- }
18
- /**
19
- * The path to our SRS object, assuming that we are in e.g. barretenberg/ts/dest/node/crs/node folder.
20
- */
21
- exports.SRS_DEV_PATH = getCurrentDir() + '/../../../../../cpp/srs_db/ignition/monomial';
22
- exports.GRUMPKIN_SRS_DEV_PATH = getCurrentDir() + '/../../../../../cpp/srs_db/grumpkin/monomial';
23
- /**
24
- * Downloader for CRS from a local file (for Node).
25
- */
26
- class IgnitionFilesCrs {
27
- constructor(
28
- /**
29
- * The number of circuit gates.
30
- */
31
- numPoints, path = exports.SRS_DEV_PATH) {
32
- this.numPoints = numPoints;
33
- this.path = path;
34
- }
35
- pathExists() {
36
- return (0, fs_1.existsSync)(this.path);
37
- }
38
- /**
39
- * Read the data file.
40
- */
41
- async init() {
42
- // We need this.numPoints number of g1 points.
43
- // numPoints should be circuitSize + 1.
44
- const g1Start = 28;
45
- const g1End = g1Start + this.numPoints * 64;
46
- const data = await (0, promises_1.readFile)(this.path + '/transcript00.dat');
47
- this.data = data.subarray(g1Start, g1End);
48
- // TODO(https://github.com/AztecProtocol/barretenberg/issues/811): proper abstraction from Grumpkin which does not have g2
49
- if ((0, fs_1.existsSync)(this.path + '/g2.dat')) {
50
- this.g2Data = await (0, promises_1.readFile)(this.path + '/g2.dat');
51
- }
52
- }
53
- /**
54
- * G1 points data for prover key.
55
- * @returns The points data.
56
- */
57
- getG1Data() {
58
- return this.data;
59
- }
60
- /**
61
- * G2 points data for verification key.
62
- * @returns The points data.
63
- */
64
- getG2Data() {
65
- return this.g2Data;
66
- }
67
- }
68
- exports.IgnitionFilesCrs = IgnitionFilesCrs;
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWduaXRpb25fZmlsZXNfY3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nycy9ub2RlL2lnbml0aW9uX2ZpbGVzX2Nycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQkFBZ0M7QUFDaEMsMENBQXVDO0FBQ3ZDLCtCQUErQjtBQUMvQiw2QkFBb0M7QUFFcEMsU0FBUyxhQUFhO0lBQ3BCLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDckMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztTQUFNLENBQUM7UUFDTiw2REFBNkQ7UUFDN0QsYUFBYTtRQUNiLE9BQU8sSUFBQSxjQUFPLEVBQUMsSUFBQSxtQkFBYSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ1UsUUFBQSxZQUFZLEdBQUcsYUFBYSxFQUFFLEdBQUcsOENBQThDLENBQUM7QUFDaEYsUUFBQSxxQkFBcUIsR0FBRyxhQUFhLEVBQUUsR0FBRyw4Q0FBOEMsQ0FBQztBQUV0Rzs7R0FFRztBQUNILE1BQWEsZ0JBQWdCO0lBSTNCO0lBQ0U7O09BRUc7SUFDYSxTQUFpQixFQUN6QixPQUFPLG9CQUFZO1FBRFgsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUN6QixTQUFJLEdBQUosSUFBSSxDQUFlO0lBQzFCLENBQUM7SUFFSixVQUFVO1FBQ1IsT0FBTyxJQUFBLGVBQVUsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLElBQUk7UUFDUiw4Q0FBOEM7UUFDOUMsdUNBQXVDO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNuQixNQUFNLEtBQUssR0FBRyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFFNUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFBLG1CQUFRLEVBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFMUMsMEhBQTBIO1FBQzFILElBQUksSUFBQSxlQUFVLEVBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFBLG1CQUFRLEVBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQztRQUN0RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBakRELDRDQWlEQyJ9
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=simple.rawtest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simple.rawtest.d.ts","sourceRoot":"","sources":["../../../src/examples/simple.rawtest.ts"],"names":[],"mappings":""}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const index_js_1 = require("../crs/index.js");
5
- const debug_1 = tslib_1.__importDefault(require("debug"));
6
- const index_js_2 = require("../barretenberg/index.js");
7
- const index_js_3 = require("../types/index.js");
8
- debug_1.default.enable('*');
9
- const debug = (0, debug_1.default)('simple_test');
10
- async function main() {
11
- const CIRCUIT_SIZE = 2 ** 19;
12
- debug('starting test...');
13
- const api = await index_js_2.Barretenberg.new();
14
- // // Important to init slab allocator as first thing, to ensure maximum memory efficiency.
15
- // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization?
16
- // await api.commonInitSlabAllocator(CIRCUIT_SIZE);
17
- // Plus 1 needed!
18
- const crs = await index_js_1.Crs.new(CIRCUIT_SIZE + 1);
19
- await api.srsInitSrs(new index_js_3.RawBuffer(crs.getG1Data()), crs.numPoints, new index_js_3.RawBuffer(crs.getG2Data()));
20
- const iterations = 10;
21
- let totalTime = 0;
22
- for (let i = 0; i < iterations; ++i) {
23
- const start = new Date().getTime();
24
- debug(`iteration ${i} starting...`);
25
- await api.examplesSimpleCreateAndVerifyProof();
26
- totalTime += new Date().getTime() - start;
27
- }
28
- await api.destroy();
29
- debug(`avg iteration time: ${totalTime / iterations}ms`);
30
- debug('test complete.');
31
- }
32
- void main();
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLnJhd3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXhhbXBsZXMvc2ltcGxlLnJhd3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQXNDO0FBQ3RDLDBEQUFnQztBQUNoQyx1REFBd0Q7QUFDeEQsZ0RBQThDO0FBRTlDLGVBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBQSxlQUFXLEVBQUMsYUFBYSxDQUFDLENBQUM7QUFFekMsS0FBSyxVQUFVLElBQUk7SUFDakIsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUU3QixLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMxQixNQUFNLEdBQUcsR0FBRyxNQUFNLHVCQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFckMsMkZBQTJGO0lBQzNGLHFHQUFxRztJQUNyRyxtREFBbUQ7SUFFbkQsaUJBQWlCO0lBQ2pCLE1BQU0sR0FBRyxHQUFHLE1BQU0sY0FBRyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUMsTUFBTSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksb0JBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksb0JBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXBHLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN0QixJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwQyxNQUFNLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDO1FBQy9DLFNBQVMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFcEIsS0FBSyxDQUFDLHVCQUF1QixTQUFTLEdBQUcsVUFBVSxJQUFJLENBQUMsQ0FBQztJQUN6RCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBRUQsS0FBSyxJQUFJLEVBQUUsQ0FBQyJ9
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=simple.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simple.test.d.ts","sourceRoot":"","sources":["../../../src/examples/simple.test.ts"],"names":[],"mappings":""}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_js_1 = require("../crs/index.js");
4
- const index_js_2 = require("../barretenberg/index.js");
5
- const index_js_3 = require("../types/index.js");
6
- describe('simple', () => {
7
- let api;
8
- beforeAll(async () => {
9
- api = await index_js_2.Barretenberg.new();
10
- // // Important to init slab allocator as first thing, to ensure maximum memory efficiency.
11
- // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization?
12
- // const CIRCUIT_SIZE = 2 ** 19;
13
- // await api.commonInitSlabAllocator(CIRCUIT_SIZE);
14
- const crs = await index_js_1.Crs.new(2 ** 20 + 1);
15
- await api.srsInitSrs(new index_js_3.RawBuffer(crs.getG1Data()), crs.numPoints, new index_js_3.RawBuffer(crs.getG2Data()));
16
- }, 60000);
17
- afterAll(async () => {
18
- await api.destroy();
19
- }, 10000);
20
- it('should construct 512k gate proof', async () => {
21
- const valid = await api.examplesSimpleCreateAndVerifyProof();
22
- expect(valid).toBe(true);
23
- }, 300000);
24
- });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXhhbXBsZXMvc2ltcGxlLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw4Q0FBc0M7QUFDdEMsdURBQXdEO0FBQ3hELGdEQUE4QztBQUU5QyxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtJQUN0QixJQUFJLEdBQWlCLENBQUM7SUFFdEIsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ25CLEdBQUcsR0FBRyxNQUFNLHVCQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFL0IsMkZBQTJGO1FBQzNGLHFHQUFxRztRQUNyRyxnQ0FBZ0M7UUFDaEMsbURBQW1EO1FBRW5ELE1BQU0sR0FBRyxHQUFHLE1BQU0sY0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLG9CQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLG9CQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFVixRQUFRLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbEIsTUFBTSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdEIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRVYsRUFBRSxDQUFDLGtDQUFrQyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ2hELE1BQU0sS0FBSyxHQUFHLE1BQU0sR0FBRyxDQUFDLGtDQUFrQyxFQUFFLENBQUM7UUFDN0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMsQ0FBQyJ9
@@ -1,74 +0,0 @@
1
- import { existsSync } from 'fs';
2
- import { readFile } from 'fs/promises';
3
- import { dirname } from 'path';
4
- import { fileURLToPath } from 'url';
5
-
6
- function getCurrentDir() {
7
- if (typeof __dirname !== 'undefined') {
8
- return __dirname;
9
- } else {
10
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11
- // @ts-ignore
12
- return dirname(fileURLToPath(import.meta.url));
13
- }
14
- }
15
-
16
- /**
17
- * The path to our SRS object, assuming that we are in e.g. barretenberg/ts/dest/node/crs/node folder.
18
- */
19
- export const SRS_DEV_PATH = getCurrentDir() + '/../../../../../cpp/srs_db/ignition/monomial';
20
- export const GRUMPKIN_SRS_DEV_PATH = getCurrentDir() + '/../../../../../cpp/srs_db/grumpkin/monomial';
21
-
22
- /**
23
- * Downloader for CRS from a local file (for Node).
24
- */
25
- export class IgnitionFilesCrs {
26
- private data!: Uint8Array;
27
- private g2Data!: Uint8Array;
28
-
29
- constructor(
30
- /**
31
- * The number of circuit gates.
32
- */
33
- public readonly numPoints: number,
34
- private path = SRS_DEV_PATH,
35
- ) {}
36
-
37
- pathExists() {
38
- return existsSync(this.path);
39
- }
40
-
41
- /**
42
- * Read the data file.
43
- */
44
- async init() {
45
- // We need this.numPoints number of g1 points.
46
- // numPoints should be circuitSize + 1.
47
- const g1Start = 28;
48
- const g1End = g1Start + this.numPoints * 64;
49
-
50
- const data = await readFile(this.path + '/transcript00.dat');
51
- this.data = data.subarray(g1Start, g1End);
52
-
53
- // TODO(https://github.com/AztecProtocol/barretenberg/issues/811): proper abstraction from Grumpkin which does not have g2
54
- if (existsSync(this.path + '/g2.dat')) {
55
- this.g2Data = await readFile(this.path + '/g2.dat');
56
- }
57
- }
58
-
59
- /**
60
- * G1 points data for prover key.
61
- * @returns The points data.
62
- */
63
- getG1Data(): Uint8Array {
64
- return this.data;
65
- }
66
-
67
- /**
68
- * G2 points data for verification key.
69
- * @returns The points data.
70
- */
71
- getG2Data(): Uint8Array {
72
- return this.g2Data;
73
- }
74
- }
@@ -1,38 +0,0 @@
1
- import { Crs } from '../crs/index.js';
2
- import createDebug from 'debug';
3
- import { Barretenberg } from '../barretenberg/index.js';
4
- import { RawBuffer } from '../types/index.js';
5
-
6
- createDebug.enable('*');
7
- const debug = createDebug('simple_test');
8
-
9
- async function main() {
10
- const CIRCUIT_SIZE = 2 ** 19;
11
-
12
- debug('starting test...');
13
- const api = await Barretenberg.new();
14
-
15
- // // Important to init slab allocator as first thing, to ensure maximum memory efficiency.
16
- // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization?
17
- // await api.commonInitSlabAllocator(CIRCUIT_SIZE);
18
-
19
- // Plus 1 needed!
20
- const crs = await Crs.new(CIRCUIT_SIZE + 1);
21
- await api.srsInitSrs(new RawBuffer(crs.getG1Data()), crs.numPoints, new RawBuffer(crs.getG2Data()));
22
-
23
- const iterations = 10;
24
- let totalTime = 0;
25
- for (let i = 0; i < iterations; ++i) {
26
- const start = new Date().getTime();
27
- debug(`iteration ${i} starting...`);
28
- await api.examplesSimpleCreateAndVerifyProof();
29
- totalTime += new Date().getTime() - start;
30
- }
31
-
32
- await api.destroy();
33
-
34
- debug(`avg iteration time: ${totalTime / iterations}ms`);
35
- debug('test complete.');
36
- }
37
-
38
- void main();
@@ -1,28 +0,0 @@
1
- import { Crs } from '../crs/index.js';
2
- import { Barretenberg } from '../barretenberg/index.js';
3
- import { RawBuffer } from '../types/index.js';
4
-
5
- describe('simple', () => {
6
- let api: Barretenberg;
7
-
8
- beforeAll(async () => {
9
- api = await Barretenberg.new();
10
-
11
- // // Important to init slab allocator as first thing, to ensure maximum memory efficiency.
12
- // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization?
13
- // const CIRCUIT_SIZE = 2 ** 19;
14
- // await api.commonInitSlabAllocator(CIRCUIT_SIZE);
15
-
16
- const crs = await Crs.new(2 ** 20 + 1);
17
- await api.srsInitSrs(new RawBuffer(crs.getG1Data()), crs.numPoints, new RawBuffer(crs.getG2Data()));
18
- }, 60000);
19
-
20
- afterAll(async () => {
21
- await api.destroy();
22
- }, 10000);
23
-
24
- it('should construct 512k gate proof', async () => {
25
- const valid = await api.examplesSimpleCreateAndVerifyProof();
26
- expect(valid).toBe(true);
27
- }, 300000);
28
- });