@aztec/foundation 0.16.2 → 0.16.3

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.
@@ -2,4 +2,11 @@ export * from './keccak/index.js';
2
2
  export * from './random/index.js';
3
3
  export * from './sha256/index.js';
4
4
  export * from './pedersen/index.js';
5
+ /**
6
+ * Init the bb singleton. This constructs (if not already) the barretenberg sync api within bb.js itself.
7
+ * It takes about 100-200ms to initialize. It may not seem like much, but when in conjunction with many other things
8
+ * initializing, developers may want to pick precisely when to incur this cost.
9
+ * If in a test environment, we'll just do it on module load.
10
+ */
11
+ export declare function init(): Promise<void>;
5
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"AAEA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC;;;;;GAKG;AACH,wBAAsB,IAAI,kBAEzB"}
@@ -1,5 +1,15 @@
1
+ import { BarretenbergSync } from '@aztec/bb.js';
1
2
  export * from './keccak/index.js';
2
3
  export * from './random/index.js';
3
4
  export * from './sha256/index.js';
4
5
  export * from './pedersen/index.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3J5cHRvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUMifQ==
6
+ /**
7
+ * Init the bb singleton. This constructs (if not already) the barretenberg sync api within bb.js itself.
8
+ * It takes about 100-200ms to initialize. It may not seem like much, but when in conjunction with many other things
9
+ * initializing, developers may want to pick precisely when to incur this cost.
10
+ * If in a test environment, we'll just do it on module load.
11
+ */
12
+ export async function init() {
13
+ await BarretenbergSync.initSingleton();
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3J5cHRvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVoRCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHFCQUFxQixDQUFDO0FBRXBDOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxJQUFJO0lBQ3hCLE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7QUFDekMsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"pedersen.wasm.d.ts","sourceRoot":"","sources":["../../../src/crypto/pedersen/pedersen.wasm.ts"],"names":[],"mappings":";AAMA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAS7C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,SAAI,UAatD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,UAE1D"}
1
+ {"version":3,"file":"pedersen.wasm.d.ts","sourceRoot":"","sources":["../../../src/crypto/pedersen/pedersen.wasm.ts"],"names":[],"mappings":";AAEA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAS7C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,SAAI,UAatD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,UAE1D"}
@@ -1,7 +1,4 @@
1
1
  import { BarretenbergSync, Fr } from '@aztec/bb.js';
2
- // Get the singleton. This constructs (if not already) the barretenberg sync api within bb.js itself.
3
- // This can be called from multiple other modules as needed, and it ensures it's only constructed once.
4
- const api = await BarretenbergSync.getSingleton();
5
2
  /**
6
3
  * Create a pedersen commitment (point) from an array of input fields.
7
4
  * Left pads any inputs less than 32 bytes.
@@ -11,7 +8,7 @@ export function pedersenCommit(input) {
11
8
  throw new Error('All input buffers must be <= 32 bytes.');
12
9
  }
13
10
  input = input.map(i => (i.length < 32 ? Buffer.concat([Buffer.alloc(32 - i.length, 0), i]) : i));
14
- const point = api.pedersenCommit(input.map(i => new Fr(i)));
11
+ const point = BarretenbergSync.getSingleton().pedersenCommit(input.map(i => new Fr(i)));
15
12
  // toBuffer returns Uint8Arrays (browser/worker-boundary friendly).
16
13
  // TODO: rename toTypedArray()?
17
14
  return [Buffer.from(point.x.toBuffer()), Buffer.from(point.y.toBuffer())];
@@ -25,7 +22,7 @@ export function pedersenHash(input, index = 0) {
25
22
  throw new Error('All input buffers must be <= 32 bytes.');
26
23
  }
27
24
  input = input.map(i => (i.length < 32 ? Buffer.concat([Buffer.alloc(32 - i.length, 0), i]) : i));
28
- return Buffer.from(api
25
+ return Buffer.from(BarretenbergSync.getSingleton()
29
26
  .pedersenHash(input.map(i => new Fr(i)), index)
30
27
  .toBuffer());
31
28
  }
@@ -33,6 +30,6 @@ export function pedersenHash(input, index = 0) {
33
30
  * Create a pedersen hash from an arbitrary length buffer.
34
31
  */
35
32
  export function pedersenHashBuffer(input, index = 0) {
36
- return Buffer.from(api.pedersenHashBuffer(input, index).toBuffer());
33
+ return Buffer.from(BarretenbergSync.getSingleton().pedersenHashBuffer(input, index).toBuffer());
37
34
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVkZXJzZW4ud2FzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcGVkZXJzZW4vcGVkZXJzZW4ud2FzbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXBELHFHQUFxRztBQUNyRyx1R0FBdUc7QUFDdkcsTUFBTSxHQUFHLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUVsRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQWU7SUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFFO1FBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztLQUMzRDtJQUNELEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsbUVBQW1FO0lBQ25FLCtCQUErQjtJQUMvQixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM1RSxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFlLEVBQUUsS0FBSyxHQUFHLENBQUM7SUFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFFO1FBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztLQUMzRDtJQUNELEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLEdBQUc7U0FDQSxZQUFZLENBQ1gsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3pCLEtBQUssQ0FDTjtTQUNBLFFBQVEsRUFBRSxDQUNkLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBYSxFQUFFLEtBQUssR0FBRyxDQUFDO0lBQ3pELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDdEUsQ0FBQyJ9
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVkZXJzZW4ud2FzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcGVkZXJzZW4vcGVkZXJzZW4ud2FzbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXBEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBZTtJQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUU7UUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0tBQzNEO0lBQ0QsS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLE1BQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLG1FQUFtRTtJQUNuRSwrQkFBK0I7SUFDL0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBZSxFQUFFLEtBQUssR0FBRyxDQUFDO0lBQ3JELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsRUFBRTtRQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7S0FDM0Q7SUFDRCxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakcsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUNoQixnQkFBZ0IsQ0FBQyxZQUFZLEVBQUU7U0FDNUIsWUFBWSxDQUNYLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUN6QixLQUFLLENBQ047U0FDQSxRQUFRLEVBQUUsQ0FDZCxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEtBQWEsRUFBRSxLQUFLLEdBQUcsQ0FBQztJQUN6RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDbEcsQ0FBQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/foundation",
3
- "version": "0.16.2",
3
+ "version": "0.16.3",
4
4
  "packageManager": "yarn@3.4.1",
5
5
  "type": "module",
6
6
  "main": "./dest/index.js",
@@ -59,7 +59,7 @@
59
59
  "rootDir": "./src"
60
60
  },
61
61
  "dependencies": {
62
- "@aztec/bb.js": "0.16.2",
62
+ "@aztec/bb.js": "0.16.3",
63
63
  "@koa/cors": "^4.0.0",
64
64
  "@noble/curves": "^1.2.0",
65
65
  "bn.js": "^5.2.1",
@@ -1,4 +1,16 @@
1
+ import { BarretenbergSync } from '@aztec/bb.js';
2
+
1
3
  export * from './keccak/index.js';
2
4
  export * from './random/index.js';
3
5
  export * from './sha256/index.js';
4
6
  export * from './pedersen/index.js';
7
+
8
+ /**
9
+ * Init the bb singleton. This constructs (if not already) the barretenberg sync api within bb.js itself.
10
+ * It takes about 100-200ms to initialize. It may not seem like much, but when in conjunction with many other things
11
+ * initializing, developers may want to pick precisely when to incur this cost.
12
+ * If in a test environment, we'll just do it on module load.
13
+ */
14
+ export async function init() {
15
+ await BarretenbergSync.initSingleton();
16
+ }
@@ -1,9 +1,5 @@
1
1
  import { BarretenbergSync, Fr } from '@aztec/bb.js';
2
2
 
3
- // Get the singleton. This constructs (if not already) the barretenberg sync api within bb.js itself.
4
- // This can be called from multiple other modules as needed, and it ensures it's only constructed once.
5
- const api = await BarretenbergSync.getSingleton();
6
-
7
3
  /**
8
4
  * Create a pedersen commitment (point) from an array of input fields.
9
5
  * Left pads any inputs less than 32 bytes.
@@ -13,7 +9,7 @@ export function pedersenCommit(input: Buffer[]) {
13
9
  throw new Error('All input buffers must be <= 32 bytes.');
14
10
  }
15
11
  input = input.map(i => (i.length < 32 ? Buffer.concat([Buffer.alloc(32 - i.length, 0), i]) : i));
16
- const point = api.pedersenCommit(input.map(i => new Fr(i)));
12
+ const point = BarretenbergSync.getSingleton().pedersenCommit(input.map(i => new Fr(i)));
17
13
  // toBuffer returns Uint8Arrays (browser/worker-boundary friendly).
18
14
  // TODO: rename toTypedArray()?
19
15
  return [Buffer.from(point.x.toBuffer()), Buffer.from(point.y.toBuffer())];
@@ -29,7 +25,7 @@ export function pedersenHash(input: Buffer[], index = 0) {
29
25
  }
30
26
  input = input.map(i => (i.length < 32 ? Buffer.concat([Buffer.alloc(32 - i.length, 0), i]) : i));
31
27
  return Buffer.from(
32
- api
28
+ BarretenbergSync.getSingleton()
33
29
  .pedersenHash(
34
30
  input.map(i => new Fr(i)),
35
31
  index,
@@ -42,5 +38,5 @@ export function pedersenHash(input: Buffer[], index = 0) {
42
38
  * Create a pedersen hash from an arbitrary length buffer.
43
39
  */
44
40
  export function pedersenHashBuffer(input: Buffer, index = 0) {
45
- return Buffer.from(api.pedersenHashBuffer(input, index).toBuffer());
41
+ return Buffer.from(BarretenbergSync.getSingleton().pedersenHashBuffer(input, index).toBuffer());
46
42
  }