@aztec/foundation 0.0.1-commit.fce3e4f → 0.0.1-commit.fffb133c
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/dest/array/index.d.ts +2 -1
- package/dest/array/index.d.ts.map +1 -1
- package/dest/array/index.js +1 -0
- package/dest/array/sorted_array.d.ts +10 -0
- package/dest/array/sorted_array.d.ts.map +1 -0
- package/dest/array/sorted_array.js +106 -0
- package/dest/branded-types/block_number.d.ts +56 -0
- package/dest/branded-types/block_number.d.ts.map +1 -0
- package/dest/branded-types/block_number.js +78 -0
- package/dest/branded-types/checkpoint_number.d.ts +54 -0
- package/dest/branded-types/checkpoint_number.d.ts.map +1 -0
- package/dest/branded-types/checkpoint_number.js +77 -0
- package/dest/branded-types/index.d.ts +4 -1
- package/dest/branded-types/index.d.ts.map +1 -1
- package/dest/branded-types/index.js +3 -0
- package/dest/branded-types/index_within_checkpoint.d.ts +42 -0
- package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -0
- package/dest/branded-types/index_within_checkpoint.js +59 -0
- package/dest/buffer/buffer16.d.ts +5 -2
- package/dest/buffer/buffer16.d.ts.map +1 -1
- package/dest/buffer/buffer16.js +4 -2
- package/dest/buffer/buffer32.d.ts +5 -2
- package/dest/buffer/buffer32.d.ts.map +1 -1
- package/dest/buffer/buffer32.js +4 -2
- package/dest/collection/array.d.ts +6 -1
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/collection/array.js +27 -0
- package/dest/config/env_var.d.ts +2 -2
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/config/index.d.ts +15 -4
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +32 -9
- package/dest/config/network_config.d.ts +13 -1
- package/dest/config/network_config.d.ts.map +1 -1
- package/dest/config/network_config.js +3 -1
- package/dest/config/parse-env.d.ts +3 -0
- package/dest/config/parse-env.d.ts.map +1 -0
- package/dest/config/parse-env.js +7 -0
- package/dest/config/secret_value.js +3 -1
- package/dest/crypto/bls/bn254_keystore.js +1 -1
- package/dest/crypto/bls/index.js +1 -1
- package/dest/crypto/bn254/index.d.ts +35 -51
- package/dest/crypto/bn254/index.d.ts.map +1 -1
- package/dest/crypto/bn254/index.js +51 -140
- package/dest/crypto/ecdsa/signature.d.ts +11 -2
- package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
- package/dest/crypto/ecdsa/signature.js +2 -2
- package/dest/crypto/grumpkin/index.d.ts +4 -2
- package/dest/crypto/grumpkin/index.d.ts.map +1 -1
- package/dest/crypto/grumpkin/index.js +2 -1
- package/dest/crypto/keys/index.d.ts +2 -2
- package/dest/crypto/keys/index.d.ts.map +1 -1
- package/dest/crypto/keys/index.js +1 -1
- package/dest/crypto/pedersen/pedersen.wasm.d.ts +2 -2
- package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
- package/dest/crypto/pedersen/pedersen.wasm.js +1 -1
- package/dest/crypto/poseidon/index.d.ts +2 -3
- package/dest/crypto/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/poseidon/index.js +1 -10
- package/dest/crypto/random/randomness_singleton.d.ts +2 -2
- package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
- package/dest/crypto/random/randomness_singleton.js +3 -3
- package/dest/crypto/schnorr/index.d.ts +3 -2
- package/dest/crypto/schnorr/index.d.ts.map +1 -1
- package/dest/crypto/schnorr/index.js +1 -1
- package/dest/crypto/schnorr/signature.d.ts +2 -2
- package/dest/crypto/schnorr/signature.d.ts.map +1 -1
- package/dest/crypto/schnorr/signature.js +2 -2
- package/dest/crypto/sha256/index.d.ts +2 -2
- package/dest/crypto/sha256/index.d.ts.map +1 -1
- package/dest/crypto/sha256/index.js +1 -1
- package/dest/crypto/sha512/index.d.ts +2 -2
- package/dest/crypto/sha512/index.d.ts.map +1 -1
- package/dest/crypto/sha512/index.js +1 -1
- package/dest/crypto/signature/index.d.ts +2 -2
- package/dest/crypto/signature/index.d.ts.map +1 -1
- package/dest/crypto/sync/pedersen/index.d.ts +2 -2
- package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
- package/dest/crypto/sync/pedersen/index.js +1 -1
- package/dest/crypto/sync/poseidon/index.d.ts +2 -3
- package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/sync/poseidon/index.js +1 -9
- package/dest/{fields/bls12_fields.d.ts → curves/bls12/field.d.ts} +3 -3
- package/dest/curves/bls12/field.d.ts.map +1 -0
- package/dest/{fields/bls12_fields.js → curves/bls12/field.js} +12 -9
- package/dest/curves/bls12/index.d.ts +3 -0
- package/dest/curves/bls12/index.d.ts.map +1 -0
- package/dest/curves/bls12/index.js +2 -0
- package/dest/{fields/bls12_point.d.ts → curves/bls12/point.d.ts} +13 -4
- package/dest/curves/bls12/point.d.ts.map +1 -0
- package/dest/{fields/bls12_point.js → curves/bls12/point.js} +10 -8
- package/dest/{fields/fields.d.ts → curves/bn254/field.d.ts} +7 -15
- package/dest/curves/bn254/field.d.ts.map +1 -0
- package/dest/{fields/fields.js → curves/bn254/field.js} +35 -49
- package/dest/curves/bn254/index.d.ts +3 -0
- package/dest/curves/bn254/index.d.ts.map +1 -0
- package/dest/curves/bn254/index.js +2 -0
- package/dest/curves/bn254/point.d.ts +54 -0
- package/dest/curves/bn254/point.d.ts.map +1 -0
- package/dest/curves/bn254/point.js +143 -0
- package/dest/curves/grumpkin/index.d.ts +10 -0
- package/dest/curves/grumpkin/index.d.ts.map +1 -0
- package/dest/curves/grumpkin/index.js +3 -0
- package/dest/{fields → curves/grumpkin}/point.d.ts +13 -4
- package/dest/curves/grumpkin/point.d.ts.map +1 -0
- package/dest/{fields → curves/grumpkin}/point.js +7 -7
- package/dest/error/index.d.ts +4 -4
- package/dest/error/index.d.ts.map +1 -1
- package/dest/eth-address/index.d.ts +3 -2
- package/dest/eth-address/index.d.ts.map +1 -1
- package/dest/eth-address/index.js +10 -3
- package/dest/eth-signature/eth_signature.d.ts +4 -1
- package/dest/eth-signature/eth_signature.d.ts.map +1 -1
- package/dest/iterator/filter.d.ts +3 -0
- package/dest/iterator/filter.d.ts.map +1 -0
- package/dest/iterator/filter.js +7 -0
- package/dest/iterator/index.d.ts +2 -0
- package/dest/iterator/index.d.ts.map +1 -0
- package/dest/iterator/index.js +1 -0
- package/dest/json-rpc/client/undici.d.ts +1 -1
- package/dest/json-rpc/client/undici.d.ts.map +1 -1
- package/dest/json-rpc/client/undici.js +21 -4
- package/dest/json-rpc/fixtures/class_a.d.ts +3 -3
- package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/class_b.d.ts +3 -3
- package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.js +1 -1
- package/dest/log/pino-logger.d.ts +1 -1
- package/dest/log/pino-logger.d.ts.map +1 -1
- package/dest/log/pino-logger.js +1 -1
- package/dest/retry/index.d.ts +11 -1
- package/dest/retry/index.d.ts.map +1 -1
- package/dest/retry/index.js +11 -0
- package/dest/schemas/schemas.d.ts +7 -3
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +9 -3
- package/dest/schemas/types.d.ts +31 -1
- package/dest/schemas/types.d.ts.map +1 -1
- package/dest/schemas/types.js +25 -1
- package/dest/serialize/buffer_reader.d.ts +7 -4
- package/dest/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/serialize/buffer_reader.js +13 -4
- package/dest/serialize/field_reader.d.ts +2 -2
- package/dest/serialize/field_reader.d.ts.map +1 -1
- package/dest/serialize/field_reader.js +1 -1
- package/dest/serialize/free_funcs.d.ts +2 -2
- package/dest/serialize/free_funcs.d.ts.map +1 -1
- package/dest/serialize/free_funcs.js +1 -1
- package/dest/serialize/serialize.d.ts +2 -2
- package/dest/serialize/serialize.d.ts.map +1 -1
- package/dest/serialize/serialize.js +1 -1
- package/dest/sleep/index.d.ts +3 -1
- package/dest/sleep/index.d.ts.map +1 -1
- package/dest/sleep/index.js +4 -0
- package/dest/timer/date.d.ts +2 -1
- package/dest/timer/date.d.ts.map +1 -1
- package/dest/timer/date.js +3 -0
- package/dest/trees/balanced_merkle_tree_root.d.ts +17 -0
- package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
- package/dest/trees/{balanced_merkle_tree.js → balanced_merkle_tree_root.js} +2 -15
- package/dest/trees/hasher.d.ts +3 -1
- package/dest/trees/hasher.d.ts.map +1 -1
- package/dest/trees/hasher.js +10 -5
- package/dest/trees/index.d.ts +4 -4
- package/dest/trees/index.d.ts.map +1 -1
- package/dest/trees/index.js +3 -3
- package/dest/trees/indexed_merkle_tree.js +1 -1
- package/dest/trees/membership_witness.d.ts +12 -2
- package/dest/trees/membership_witness.d.ts.map +1 -1
- package/dest/trees/membership_witness.js +10 -1
- package/dest/trees/merkle_tree_calculator.d.ts +1 -1
- package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/merkle_tree_calculator.js +2 -2
- package/dest/trees/sibling_path.d.ts +3 -2
- package/dest/trees/sibling_path.d.ts.map +1 -1
- package/dest/trees/sibling_path.js +3 -3
- package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +2 -3
- package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/unbalanced_merkle_tree_calculator.js +1 -5
- package/dest/trees/{unbalanced_merkle_tree.d.ts → unbalanced_merkle_tree_root.d.ts} +3 -5
- package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
- package/dest/trees/{unbalanced_merkle_tree.js → unbalanced_merkle_tree_root.js} +11 -49
- package/dest/trees/unbalanced_tree_store.d.ts +5 -1
- package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
- package/dest/trees/unbalanced_tree_store.js +49 -1
- package/dest/types/index.d.ts +4 -2
- package/dest/types/index.d.ts.map +1 -1
- package/dest/types/index.js +3 -0
- package/package.json +27 -9
- package/src/array/index.ts +1 -0
- package/src/array/sorted_array.ts +133 -0
- package/src/branded-types/block_number.ts +117 -0
- package/src/branded-types/checkpoint_number.ts +115 -0
- package/src/branded-types/index.ts +3 -0
- package/src/branded-types/index_within_checkpoint.ts +88 -0
- package/src/buffer/buffer16.ts +2 -2
- package/src/buffer/buffer32.ts +2 -2
- package/src/collection/array.ts +31 -0
- package/src/config/env_var.ts +33 -12
- package/src/config/index.ts +39 -6
- package/src/config/network_config.ts +2 -0
- package/src/config/parse-env.ts +4 -0
- package/src/crypto/bls/bn254_keystore.ts +1 -1
- package/src/crypto/bls/index.ts +1 -1
- package/src/crypto/bn254/index.ts +50 -159
- package/src/crypto/ecdsa/signature.ts +2 -2
- package/src/crypto/grumpkin/index.ts +3 -1
- package/src/crypto/keys/index.ts +1 -1
- package/src/crypto/pedersen/pedersen.wasm.ts +1 -1
- package/src/crypto/poseidon/index.ts +1 -11
- package/src/crypto/random/randomness_singleton.ts +2 -4
- package/src/crypto/schnorr/index.ts +2 -1
- package/src/crypto/schnorr/signature.ts +2 -2
- package/src/crypto/sha256/index.ts +1 -1
- package/src/crypto/sha512/index.ts +1 -1
- package/src/crypto/signature/index.ts +1 -1
- package/src/crypto/sync/pedersen/index.ts +1 -1
- package/src/crypto/sync/poseidon/index.ts +1 -10
- package/src/{fields/bls12_fields.ts → curves/bls12/field.ts} +6 -6
- package/src/curves/bls12/index.ts +2 -0
- package/src/{fields/bls12_point.ts → curves/bls12/point.ts} +7 -7
- package/src/{fields/fields.ts → curves/bn254/field.ts} +33 -56
- package/src/curves/bn254/index.ts +2 -0
- package/src/curves/bn254/point.ts +170 -0
- package/src/curves/grumpkin/index.ts +11 -0
- package/src/{fields → curves/grumpkin}/point.ts +7 -7
- package/src/eth-address/index.ts +8 -2
- package/src/iterator/filter.ts +11 -0
- package/src/iterator/index.ts +1 -0
- package/src/json-rpc/client/undici.ts +21 -3
- package/src/json-rpc/server/safe_json_rpc_server.ts +1 -1
- package/src/log/pino-logger.ts +2 -1
- package/src/retry/index.ts +18 -0
- package/src/schemas/schemas.ts +14 -3
- package/src/schemas/types.ts +33 -0
- package/src/serialize/buffer_reader.ts +21 -9
- package/src/serialize/field_reader.ts +1 -1
- package/src/serialize/free_funcs.ts +1 -1
- package/src/serialize/serialize.ts +1 -1
- package/src/sleep/index.ts +6 -0
- package/src/timer/date.ts +4 -0
- package/src/trees/{balanced_merkle_tree.ts → balanced_merkle_tree_root.ts} +2 -16
- package/src/trees/hasher.ts +9 -0
- package/src/trees/index.ts +3 -3
- package/src/trees/indexed_merkle_tree.ts +1 -1
- package/src/trees/membership_witness.ts +9 -1
- package/src/trees/merkle_tree_calculator.ts +2 -2
- package/src/trees/sibling_path.ts +3 -3
- package/src/trees/unbalanced_merkle_tree_calculator.ts +1 -12
- package/src/trees/{unbalanced_merkle_tree.ts → unbalanced_merkle_tree_root.ts} +17 -61
- package/src/trees/unbalanced_tree_store.ts +57 -2
- package/src/types/index.ts +6 -1
- package/dest/crypto/bn254/bn254_utils.d.ts +0 -39
- package/dest/crypto/bn254/bn254_utils.d.ts.map +0 -1
- package/dest/crypto/bn254/bn254_utils.js +0 -56
- package/dest/crypto/index.d.ts +0 -17
- package/dest/crypto/index.d.ts.map +0 -1
- package/dest/crypto/index.js +0 -16
- package/dest/fields/bls12_fields.d.ts.map +0 -1
- package/dest/fields/bls12_point.d.ts.map +0 -1
- package/dest/fields/coordinate.d.ts +0 -63
- package/dest/fields/coordinate.d.ts.map +0 -1
- package/dest/fields/coordinate.js +0 -96
- package/dest/fields/fields.d.ts.map +0 -1
- package/dest/fields/index.d.ts +0 -6
- package/dest/fields/index.d.ts.map +0 -1
- package/dest/fields/index.js +0 -5
- package/dest/fields/point.d.ts.map +0 -1
- package/dest/index.d.ts +0 -31
- package/dest/index.d.ts.map +0 -1
- package/dest/index.js +0 -31
- package/dest/json-rpc/server/telemetry.d.ts +0 -2
- package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
- package/dest/json-rpc/server/telemetry.js +0 -0
- package/dest/trees/balanced_merkle_tree.d.ts +0 -22
- package/dest/trees/balanced_merkle_tree.d.ts.map +0 -1
- package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
- package/src/crypto/bn254/bn254_utils.ts +0 -64
- package/src/crypto/index.ts +0 -16
- package/src/fields/coordinate.ts +0 -104
- package/src/fields/index.ts +0 -5
- package/src/index.ts +0 -31
- package/src/json-rpc/server/telemetry.ts +0 -0
|
@@ -1,145 +1,56 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
2
|
+
import { Bn254G1Point, Bn254G2Point } from '../../curves/bn254/point.js';
|
|
3
3
|
/**
|
|
4
|
-
* BN254
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
*/ static async generator(scalar) {
|
|
36
|
-
if (!scalar) {
|
|
37
|
-
return new Bn254G1Point(Fq.fromBuffer(Buffer.from(BN254_G1_GENERATOR.x)), Fq.fromBuffer(Buffer.from(BN254_G1_GENERATOR.y)));
|
|
38
|
-
}
|
|
39
|
-
await BarretenbergSync.initSingleton();
|
|
40
|
-
const api = BarretenbergSync.getSingleton();
|
|
41
|
-
const response = api.bn254G1Mul({
|
|
42
|
-
point: BN254_G1_GENERATOR,
|
|
43
|
-
scalar: scalar.toBuffer()
|
|
44
|
-
});
|
|
45
|
-
return Bn254G1Point.fromBbApiPoint(response.point);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Decompress a BN254 G1 point from compressed form (32 bytes).
|
|
49
|
-
* The compressed format encodes the x-coordinate and the sign bit of the y-coordinate
|
|
50
|
-
* in the most significant bit.
|
|
51
|
-
*/ static async fromCompressed(compressed) {
|
|
52
|
-
if (compressed.length !== 32) {
|
|
53
|
-
throw new Error('Invalid compressed point length');
|
|
54
|
-
}
|
|
55
|
-
await BarretenbergSync.initSingleton();
|
|
56
|
-
const api = BarretenbergSync.getSingleton();
|
|
57
|
-
const response = api.bn254G1FromCompressed({
|
|
58
|
-
compressed: new Uint8Array(compressed)
|
|
59
|
-
});
|
|
60
|
-
return Bn254G1Point.fromBbApiPoint(response.point);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Compress this BN254 G1 point to 32 bytes.
|
|
64
|
-
* The compressed format encodes the x-coordinate and the sign bit of the y-coordinate
|
|
65
|
-
* in the most significant bit (bit 255).
|
|
66
|
-
*/ compress() {
|
|
67
|
-
const xBytes = this.x.toBuffer();
|
|
68
|
-
// Get the least significant bit of y to determine the sign
|
|
69
|
-
const yLsb = this.y.toBigInt() & 1n;
|
|
70
|
-
// If y is odd, set the most significant bit (bit 255) of the output
|
|
71
|
-
if (yLsb === 1n) {
|
|
72
|
-
xBytes[0] |= 0x80;
|
|
73
|
-
}
|
|
74
|
-
return xBytes;
|
|
75
|
-
}
|
|
76
|
-
equals(other) {
|
|
77
|
-
return this.x.equals(other.x) && this.y.equals(other.y);
|
|
78
|
-
}
|
|
79
|
-
toString() {
|
|
80
|
-
return `Bn254G1Point(x: ${this.x.toString()}, y: ${this.y.toString()})`;
|
|
81
|
-
}
|
|
4
|
+
* BN254 utility functions for point operations.
|
|
5
|
+
* Provides compression, decompression, and public key generation for the BN254 curve.
|
|
6
|
+
* Uses the bb.js Barretenberg backend for point operations.
|
|
7
|
+
*/ /**
|
|
8
|
+
* Generate a compressed BN254 G1 public key from a private key.
|
|
9
|
+
*
|
|
10
|
+
* @param privateKeyHex - Private key as 0x-prefixed hex string
|
|
11
|
+
* @returns Compressed G1 point (32 bytes with sign bit in MSB)
|
|
12
|
+
*/ export async function computeBn254G1PublicKeyCompressed(privateKeyHex) {
|
|
13
|
+
const sk = BigInt(privateKeyHex);
|
|
14
|
+
const skReduced = sk % Fr.MODULUS;
|
|
15
|
+
// Generate G1 point on BN254 curve using bb.js
|
|
16
|
+
const scalar = Fr.fromString(skReduced.toString());
|
|
17
|
+
const pk1 = await Bn254G1Point.generator(scalar);
|
|
18
|
+
// Compress the point using the primitive method
|
|
19
|
+
return '0x' + pk1.compress().toString('hex');
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Generate uncompressed BN254 G1 public key from a private key.
|
|
23
|
+
*
|
|
24
|
+
* @param privateKeyHex - Private key as 0x-prefixed hex string
|
|
25
|
+
* @returns G1 point in affine coordinates
|
|
26
|
+
*/ export async function computeBn254G1PublicKey(privateKeyHex) {
|
|
27
|
+
const sk = BigInt(privateKeyHex);
|
|
28
|
+
const skReduced = sk % Fr.MODULUS;
|
|
29
|
+
const scalar = Fr.fromString(skReduced.toString());
|
|
30
|
+
const pk1 = await Bn254G1Point.generator(scalar);
|
|
31
|
+
return {
|
|
32
|
+
x: pk1.x.toBigInt(),
|
|
33
|
+
y: pk1.y.toBigInt()
|
|
34
|
+
};
|
|
82
35
|
}
|
|
83
36
|
/**
|
|
84
|
-
* BN254 G2
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
],
|
|
100
|
-
|
|
101
|
-
this.y[0].toBuffer(),
|
|
102
|
-
this.y[1].toBuffer()
|
|
103
|
-
]
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
static fromBbApiPoint(point) {
|
|
107
|
-
return new Bn254G2Point([
|
|
108
|
-
Fq.fromBuffer(Buffer.from(point.x[0])),
|
|
109
|
-
Fq.fromBuffer(Buffer.from(point.x[1]))
|
|
110
|
-
], [
|
|
111
|
-
Fq.fromBuffer(Buffer.from(point.y[0])),
|
|
112
|
-
Fq.fromBuffer(Buffer.from(point.y[1]))
|
|
113
|
-
]);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Get the generator point for BN254 G2, or perform scalar multiplication.
|
|
117
|
-
* When called without arguments, returns the base generator point.
|
|
118
|
-
* When called with a scalar, returns scalar * generator.
|
|
119
|
-
*/ static async generator(scalar) {
|
|
120
|
-
if (!scalar) {
|
|
121
|
-
return new Bn254G2Point([
|
|
122
|
-
Fq.fromBuffer(Buffer.from(BN254_G2_GENERATOR.x[0])),
|
|
123
|
-
Fq.fromBuffer(Buffer.from(BN254_G2_GENERATOR.x[1]))
|
|
124
|
-
], [
|
|
125
|
-
Fq.fromBuffer(Buffer.from(BN254_G2_GENERATOR.y[0])),
|
|
126
|
-
Fq.fromBuffer(Buffer.from(BN254_G2_GENERATOR.y[1]))
|
|
127
|
-
]);
|
|
37
|
+
* Generate BN254 G2 public key from a private key.
|
|
38
|
+
*
|
|
39
|
+
* @param privateKeyHex - Private key as 0x-prefixed hex string
|
|
40
|
+
* @returns G2 point in affine coordinates
|
|
41
|
+
*/ export async function computeBn254G2PublicKey(privateKeyHex) {
|
|
42
|
+
const sk = BigInt(privateKeyHex);
|
|
43
|
+
const skReduced = sk % Fr.MODULUS;
|
|
44
|
+
const scalar = Fr.fromString(skReduced.toString());
|
|
45
|
+
const pk2 = await Bn254G2Point.generator(scalar);
|
|
46
|
+
return {
|
|
47
|
+
x: {
|
|
48
|
+
c0: pk2.x[0].toBigInt(),
|
|
49
|
+
c1: pk2.x[1].toBigInt()
|
|
50
|
+
},
|
|
51
|
+
y: {
|
|
52
|
+
c0: pk2.y[0].toBigInt(),
|
|
53
|
+
c1: pk2.y[1].toBigInt()
|
|
128
54
|
}
|
|
129
|
-
|
|
130
|
-
const api = BarretenbergSync.getSingleton();
|
|
131
|
-
const response = api.bn254G2Mul({
|
|
132
|
-
point: BN254_G2_GENERATOR,
|
|
133
|
-
scalar: scalar.toBuffer()
|
|
134
|
-
});
|
|
135
|
-
return Bn254G2Point.fromBbApiPoint(response.point);
|
|
136
|
-
}
|
|
137
|
-
equals(other) {
|
|
138
|
-
return this.x[0].equals(other.x[0]) && this.x[1].equals(other.x[1]) && this.y[0].equals(other.y[0]) && this.y[1].equals(other.y[1]);
|
|
139
|
-
}
|
|
140
|
-
toString() {
|
|
141
|
-
return `Bn254G2Point(x: (${this.x[0].toString()}, ${this.x[1].toString()}), y: (${this.y[0].toString()}, ${this.y[1].toString()}))`;
|
|
142
|
-
}
|
|
55
|
+
};
|
|
143
56
|
}
|
|
144
|
-
// Re-export BN254 point utility functions
|
|
145
|
-
export { computeBn254G1PublicKeyCompressed, computeBn254G1PublicKey, computeBn254G2PublicKey } from './bn254_utils.js';
|
|
@@ -1,12 +1,21 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import type { Signature } from '../signature/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* ECDSA signature used for transactions.
|
|
5
5
|
* @see cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa.hpp
|
|
6
6
|
*/
|
|
7
7
|
export declare class EcdsaSignature implements Signature {
|
|
8
|
+
/**
|
|
9
|
+
* The r byte-array (32 bytes) in an ECDSA signature.
|
|
10
|
+
*/
|
|
8
11
|
r: Buffer;
|
|
12
|
+
/**
|
|
13
|
+
* The s byte-array (32 bytes) in an ECDSA signature.
|
|
14
|
+
*/
|
|
9
15
|
s: Buffer;
|
|
16
|
+
/**
|
|
17
|
+
* The recovery id (1 byte) in an ECDSA signature.
|
|
18
|
+
*/
|
|
10
19
|
v: Buffer;
|
|
11
20
|
constructor(
|
|
12
21
|
/**
|
|
@@ -57,4 +66,4 @@ export declare class EcdsaSignature implements Signature {
|
|
|
57
66
|
*/
|
|
58
67
|
toFields(includeV?: boolean): Fr[];
|
|
59
68
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL2VjZHNhL3NpZ25hdHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gscUJBQWEsY0FBZSxZQUFXLFNBQVM7SUFFNUM7O09BRUc7SUFDSSxDQUFDLEVBQUUsTUFBTTtJQUNoQjs7T0FFRztJQUNJLENBQUMsRUFBRSxNQUFNO0lBQ2hCOztPQUVHO0lBQ0ksQ0FBQyxFQUFFLE1BQU07SUFabEI7SUFDRTs7T0FFRztJQUNJLENBQUMsRUFBRSxNQUFNO0lBQ2hCOztPQUVHO0lBQ0ksQ0FBQyxFQUFFLE1BQU07SUFDaEI7O09BRUc7SUFDSSxDQUFDLEVBQUUsTUFBTSxFQVdqQjtJQUVEOzs7T0FHRztJQUNILFFBQVEsd0JBRVA7SUFFRDs7OztPQUlHO0lBQ0gsT0FBYyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sa0JBRXRDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsT0FBYyxXQUFXLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUV4RDtJQUVEOzs7T0FHRztJQUNILE9BQWMsTUFBTSxtQkFFbkI7SUFFRDs7O09BR0c7SUFDSCxRQUFRLFdBRVA7SUFFRDs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLFFBQVEsVUFBUSxHQUFHLEVBQUUsRUFBRSxDQVkvQjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/ecdsa/signature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/ecdsa/signature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,cAAe,YAAW,SAAS;IAE5C;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM;IAZlB;IACE;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM,EAWjB;IAED;;;OAGG;IACH,QAAQ,wBAEP;IAED;;;;OAIG;IACH,OAAc,UAAU,CAAC,MAAM,EAAE,MAAM,kBAEtC;IAED;;;;;;OAMG;IACH,OAAc,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,kBAExD;IAED;;;OAGG;IACH,OAAc,MAAM,mBAEnB;IAED;;;OAGG;IACH,QAAQ,WAEP;IAED;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,UAAQ,GAAG,EAAE,EAAE,CAY/B;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { toBufferBE } from '@aztec/foundation/bigint-buffer';
|
|
2
|
-
import { randomBytes } from '@aztec/foundation/crypto';
|
|
3
|
-
import { Fr } from '@aztec/foundation/
|
|
2
|
+
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
3
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { mapTuple } from '@aztec/foundation/serialize';
|
|
5
5
|
/**
|
|
6
6
|
* ECDSA signature used for transactions.
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { Fr
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
3
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
2
4
|
/**
|
|
3
5
|
* Grumpkin elliptic curve operations.
|
|
4
6
|
*/
|
|
@@ -37,4 +39,4 @@ export declare class Grumpkin {
|
|
|
37
39
|
*/
|
|
38
40
|
static reduce512BufferToFr(uint512Buf: Buffer): Promise<Fr>;
|
|
39
41
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vZ3J1bXBraW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUxRDs7R0FFRztBQUNILHFCQUFhLFFBQVE7SUFFbkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLFFBS3JCO0lBRUo7Ozs7O09BS0c7SUFDSCxPQUFvQixHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsY0FBYyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FRNUU7SUFFRDs7Ozs7T0FLRztJQUNILE9BQW9CLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQVExRDtJQUVEOzs7OztPQUtHO0lBQ0gsT0FBb0IsUUFBUSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsY0FBYyxvQkFTbkU7SUFFRDs7O09BR0c7SUFDSCxPQUFvQixXQUFXLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUs3QztJQUVEOzs7O09BSUc7SUFDSCxPQUFvQixtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FLdkU7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/grumpkin/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,KAAK,cAAc,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/grumpkin/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D;;GAEG;AACH,qBAAa,QAAQ;IAEnB,MAAM,CAAC,QAAQ,CAAC,SAAS,QAKrB;IAEJ;;;;;OAKG;IACH,OAAoB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAQ5E;IAED;;;;;OAKG;IACH,OAAoB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAQ1D;IAED;;;;;OAKG;IACH,OAAoB,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,oBASnE;IAED;;;OAGG;IACH,OAAoB,WAAW,IAAI,OAAO,CAAC,EAAE,CAAC,CAK7C;IAED;;;;OAIG;IACH,OAAoB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAKvE;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
-
import { Fr
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
3
4
|
/**
|
|
4
5
|
* Grumpkin elliptic curve operations.
|
|
5
6
|
*/ export class Grumpkin {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Fr } from '../../
|
|
1
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
2
2
|
export declare function vkAsFieldsMegaHonk(input: Buffer): Promise<Fr[]>;
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8va2V5cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFakQsd0JBQXNCLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBS3JFIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/keys/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/keys/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAEjD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAKrE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
-
import { Fr } from '../../
|
|
2
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
3
3
|
export async function vkAsFieldsMegaHonk(input) {
|
|
4
4
|
await BarretenbergSync.initSingleton();
|
|
5
5
|
const api = BarretenbergSync.getSingleton();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '../../
|
|
1
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
2
2
|
import { type Fieldable } from '../../serialize/serialize.js';
|
|
3
3
|
/**
|
|
4
4
|
* Create a pedersen commitment (point) from an array of input fields.
|
|
@@ -16,4 +16,4 @@ export declare function pedersenHash(input: Fieldable[], index?: number): Promis
|
|
|
16
16
|
* Create a pedersen hash from an arbitrary length buffer.
|
|
17
17
|
*/
|
|
18
18
|
export declare function pedersenHashBuffer(input: Buffer, index?: number): Promise<Buffer<ArrayBuffer>>;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVkZXJzZW4ud2FzbS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NyeXB0by9wZWRlcnNlbi9wZWRlcnNlbi53YXNtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQXFCLE1BQU0sOEJBQThCLENBQUM7QUFFakY7OztHQUdHO0FBQ0gsd0JBQXNCLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxTQUFJLGtDQVkvRDtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLFlBQVksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsS0FBSyxTQUFJLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQVM3RTtBQUVEOztHQUVHO0FBQ0gsd0JBQXNCLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxTQUFJLGdDQVFoRSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pedersen.wasm.d.ts","sourceRoot":"","sources":["../../../src/crypto/pedersen/pedersen.wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"pedersen.wasm.d.ts","sourceRoot":"","sources":["../../../src/crypto/pedersen/pedersen.wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAEjF;;;GAGG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,SAAI,kCAY/D;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAS7E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,gCAQhE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
-
import { Fr } from '../../
|
|
2
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
3
3
|
import { serializeToFields } from '../../serialize/serialize.js';
|
|
4
4
|
/**
|
|
5
5
|
* Create a pedersen commitment (point) from an array of input fields.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '../../
|
|
1
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
2
2
|
import { type Fieldable } from '../../serialize/serialize.js';
|
|
3
3
|
/**
|
|
4
4
|
* Create a poseidon hash (field) from an array of input fields.
|
|
@@ -13,7 +13,6 @@ export declare function poseidon2Hash(input: Fieldable[]): Promise<Fr>;
|
|
|
13
13
|
* @returns The poseidon hash.
|
|
14
14
|
*/
|
|
15
15
|
export declare function poseidon2HashWithSeparator(input: Fieldable[], separator: number): Promise<Fr>;
|
|
16
|
-
export declare function poseidon2HashAccumulate(input: Fieldable[]): Promise<Fr>;
|
|
17
16
|
/**
|
|
18
17
|
* Runs a Poseidon2 permutation.
|
|
19
18
|
* @param input the input state. Expected to be of size 4.
|
|
@@ -21,4 +20,4 @@ export declare function poseidon2HashAccumulate(input: Fieldable[]): Promise<Fr>
|
|
|
21
20
|
*/
|
|
22
21
|
export declare function poseidon2Permutation(input: Fieldable[]): Promise<Fr[]>;
|
|
23
22
|
export declare function poseidon2HashBytes(input: Buffer): Promise<Fr>;
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcG9zZWlkb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRjs7OztHQUlHO0FBQ0gsd0JBQXNCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQVFuRTtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLDBCQUEwQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FTbkc7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQXNCLG9CQUFvQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FZNUU7QUFFRCx3QkFBc0Isa0JBQWtCLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBa0JuRSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAEjF;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAQnE;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CASnG;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAY5E;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAkBnE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
-
import { Fr } from '../../
|
|
2
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
3
3
|
import { serializeToFields } from '../../serialize/serialize.js';
|
|
4
4
|
/**
|
|
5
5
|
* Create a poseidon hash (field) from an array of input fields.
|
|
@@ -29,15 +29,6 @@ import { serializeToFields } from '../../serialize/serialize.js';
|
|
|
29
29
|
});
|
|
30
30
|
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
31
31
|
}
|
|
32
|
-
export async function poseidon2HashAccumulate(input) {
|
|
33
|
-
const inputFields = serializeToFields(input);
|
|
34
|
-
await BarretenbergSync.initSingleton();
|
|
35
|
-
const api = BarretenbergSync.getSingleton();
|
|
36
|
-
const response = api.poseidon2HashAccumulate({
|
|
37
|
-
inputs: inputFields.map((i)=>i.toBuffer())
|
|
38
|
-
});
|
|
39
|
-
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
40
|
-
}
|
|
41
32
|
/**
|
|
42
33
|
* Runs a Poseidon2 permutation.
|
|
43
34
|
* @param input the input state. Expected to be of size 4.
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class RandomnessSingleton {
|
|
10
10
|
private readonly seed?;
|
|
11
|
-
private readonly log;
|
|
12
11
|
private static instance;
|
|
13
12
|
private counter;
|
|
13
|
+
private readonly log;
|
|
14
14
|
private constructor();
|
|
15
15
|
static getInstance(): RandomnessSingleton;
|
|
16
16
|
/**
|
|
@@ -20,4 +20,4 @@ export declare class RandomnessSingleton {
|
|
|
20
20
|
isDeterministic(): boolean;
|
|
21
21
|
getBytes(length: number): Buffer;
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZG9tbmVzc19zaW5nbGV0b24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcmFuZG9tL3JhbmRvbW5lc3Nfc2luZ2xldG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7Ozs7O0dBT0c7QUFDSCxxQkFBYSxtQkFBbUI7SUFNVixPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUwxQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBc0I7SUFFN0MsT0FBTyxDQUFDLE9BQU8sQ0FBSztJQUNwQixPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBbUQ7SUFFdkUsT0FBTyxlQU9OO0lBRUQsT0FBYyxXQUFXLElBQUksbUJBQW1CLENBTy9DO0lBRUQ7OztPQUdHO0lBQ0ksZUFBZSxJQUFJLE9BQU8sQ0FFaEM7SUFFTSxRQUFRLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxNQUFNLENBZ0J0QztDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"randomness_singleton.d.ts","sourceRoot":"","sources":["../../../src/crypto/random/randomness_singleton.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,qBAAa,mBAAmB;
|
|
1
|
+
{"version":3,"file":"randomness_singleton.d.ts","sourceRoot":"","sources":["../../../src/crypto/random/randomness_singleton.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAMV,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAL1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAE7C,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAmD;IAEvE,OAAO,eAON;IAED,OAAc,WAAW,IAAI,mBAAmB,CAO/C;IAED;;;OAGG;IACI,eAAe,IAAI,OAAO,CAEhC;IAEM,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBtC;CACF"}
|
|
@@ -8,13 +8,13 @@ import { createLogger } from '../../log/pino-logger.js';
|
|
|
8
8
|
* TODO(#3949): This is not safe enough for production and should be made safer or removed before mainnet.
|
|
9
9
|
*/ export class RandomnessSingleton {
|
|
10
10
|
seed;
|
|
11
|
-
log;
|
|
12
11
|
static instance;
|
|
13
12
|
counter;
|
|
14
|
-
|
|
13
|
+
log;
|
|
14
|
+
constructor(seed){
|
|
15
15
|
this.seed = seed;
|
|
16
|
-
this.log = log;
|
|
17
16
|
this.counter = 0;
|
|
17
|
+
this.log = createLogger('foundation:randomness_singleton');
|
|
18
18
|
if (seed !== undefined) {
|
|
19
19
|
this.log.debug(`Using pseudo-randomness with seed: ${seed}`);
|
|
20
20
|
this.counter = seed;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
2
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
2
3
|
import { SchnorrSignature } from './signature.js';
|
|
3
4
|
export * from './signature.js';
|
|
4
5
|
/**
|
|
@@ -27,4 +28,4 @@ export declare class Schnorr {
|
|
|
27
28
|
*/
|
|
28
29
|
verifySignature(msg: Uint8Array, pubKey: Point, sig: SchnorrSignature): Promise<boolean>;
|
|
29
30
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2Nobm9yci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQjs7R0FFRztBQUNILHFCQUFhLE9BQU87SUFDbEI7Ozs7T0FJRztJQUNVLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxjQUFjLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUt4RTtJQUVEOzs7OztPQUtHO0lBQ1Usa0JBQWtCLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsY0FBYyw2QkFRMUU7SUFFRDs7Ozs7O09BTUc7SUFDVSxlQUFlLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxnQkFBZ0Isb0JBVWpGO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,cAAc,gBAAgB,CAAC;AAE/B;;GAEG;AACH,qBAAa,OAAO;IAClB;;;;OAIG;IACU,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAKxE;IAED;;;;;OAKG;IACU,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,6BAQ1E;IAED;;;;;;OAMG;IACU,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,oBAUjF;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
3
3
|
import type { Signature } from '../signature/index.js';
|
|
4
4
|
/**
|
|
@@ -65,4 +65,4 @@ export declare class SchnorrSignature implements Signature {
|
|
|
65
65
|
*/
|
|
66
66
|
toFields(): Fr[];
|
|
67
67
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3NjaG5vcnIvc2lnbmF0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sNkJBQTZCLENBQUM7QUFFckUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gscUJBQWEsZ0JBQWlCLFlBQVcsU0FBUztJQVdwQyxPQUFPLENBQUMsTUFBTTtJQVYxQjs7T0FFRztJQUNILE9BQWMsSUFBSSxTQUFNO0lBRXhCOztPQUVHO0lBQ0gsT0FBYyxLQUFLLG1CQUEwQztJQUU3RCxZQUFvQixNQUFNLEVBQUUsTUFBTSxFQUlqQztJQUVEOzs7O09BSUc7SUFDSCxPQUFjLFdBQVcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxXQUUxQztJQUVEOzs7O09BSUc7SUFDSCxPQUFjLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxvQkFLekM7SUFFRDs7O09BR0c7SUFDSCxPQUFjLE1BQU0scUJBRW5CO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLDRCQUVKO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLDRCQUVKO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSw0QkFFUDtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGdCQUFnQixDQUdqRTtJQUVEOzs7T0FHRztJQUNILFFBQVEsV0FFUDtJQUVEOzs7T0FHRztJQUNILFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FZZjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/signature.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/signature.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAY,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAWpC,OAAO,CAAC,MAAM;IAV1B;;OAEG;IACH,OAAc,IAAI,SAAM;IAExB;;OAEG;IACH,OAAc,KAAK,mBAA0C;IAE7D,YAAoB,MAAM,EAAE,MAAM,EAIjC;IAED;;;;OAIG;IACH,OAAc,WAAW,CAAC,SAAS,EAAE,MAAM,WAE1C;IAED;;;;OAIG;IACH,OAAc,UAAU,CAAC,SAAS,EAAE,MAAM,oBAKzC;IAED;;;OAGG;IACH,OAAc,MAAM,qBAEnB;IAED;;;OAGG;IACH,IAAI,CAAC,4BAEJ;IAED;;;OAGG;IACH,IAAI,CAAC,4BAEJ;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,CAGjE;IAED;;;OAGG;IACH,QAAQ,WAEP;IAED;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAYf;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { randomBytes } from '@aztec/foundation/crypto';
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { BufferReader, mapTuple } from '@aztec/foundation/serialize';
|
|
4
4
|
/**
|
|
5
5
|
* Schnorr signature used for transactions.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '../../
|
|
1
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
2
2
|
import { type Bufferable } from '../../serialize/serialize.js';
|
|
3
3
|
import type { Hasher } from '../../trees/hasher.js';
|
|
4
4
|
export declare function sha256(data: Buffer): Buffer<ArrayBuffer>;
|
|
@@ -34,4 +34,4 @@ export declare class SHA256Trunc implements Hasher {
|
|
|
34
34
|
hash(lhs: Uint8Array, rhs: Uint8Array): Buffer<ArrayBuffer>;
|
|
35
35
|
hashInputs(inputs: Buffer[]): Buffer<ArrayBuffer>;
|
|
36
36
|
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2hhMjU2L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQXFCLE1BQU0sOEJBQThCLENBQUM7QUFDbEYsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsd0JBQWdCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSx1QkFFbEM7QUFFRCx3QkFBZ0IsV0FBVyxDQUFDLElBQUksRUFBRSxNQUFNLDJCQUV2QztBQUVELHdCQUFnQixhQUFhLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUcvQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCx3QkFBZ0IsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBVyxHQUFHLFdBQVcsQ0F5RXRGO0FBNENEOzs7O0dBSUc7QUFDSCxxQkFBYSxNQUFPLFlBQVcsTUFBTTtJQUs1QixJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSx1QkFFM0M7SUFNTSxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSx1QkFFakM7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCxxQkFBYSxXQUFZLFlBQVcsTUFBTTtJQUtqQyxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSx1QkFFM0M7SUFNTSxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSx1QkFFakM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/sha256/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/sha256/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAEjD,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,8BAA8B,CAAC;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,uBAElC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,2BAEvC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,MAG/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,WAAW,CAyEtF;AA4CD;;;;GAIG;AACH,qBAAa,MAAO,YAAW,MAAM;IAK5B,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,uBAE3C;IAMM,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,uBAEjC;CACF;AAED;;;;GAIG;AACH,qBAAa,WAAY,YAAW,MAAM;IAKjC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,uBAE3C;IAMM,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,uBAEjC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable camelcase */ import { default as hash } from 'hash.js';
|
|
2
|
-
import { Fr } from '../../
|
|
2
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
3
3
|
import { truncateAndPad } from '../../serialize/free_funcs.js';
|
|
4
4
|
import { serializeToBuffer } from '../../serialize/serialize.js';
|
|
5
5
|
export function sha256(data) {
|
|
@@ -5,5 +5,5 @@ export declare const sha512: (data: Buffer<ArrayBufferLike>) => Buffer<ArrayBuff
|
|
|
5
5
|
* we don't care only about collision resistance but we need the output to be uniformly distributed as well. This is
|
|
6
6
|
* because we use it as a pseudo-random function.
|
|
7
7
|
*/
|
|
8
|
-
export declare const sha512ToGrumpkinScalar: (data: Bufferable[]) => import("../../
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
export declare const sha512ToGrumpkinScalar: (data: Bufferable[]) => import("../../schemas/schemas.js").Fq;
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2hhNTEyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQUVsRixlQUFPLE1BQU0sTUFBTSx3REFBcUUsQ0FBQztBQUV6Rjs7OztHQUlHO0FBQ0gsZUFBTyxNQUFNLHNCQUFzQiwrREFHbEMsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/sha512/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,8BAA8B,CAAC;AAElF,eAAO,MAAM,MAAM,wDAAqE,CAAC;AAEzF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/sha512/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,8BAA8B,CAAC;AAElF,eAAO,MAAM,MAAM,wDAAqE,CAAC;AAEzF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,+DAGlC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { default as hash } from 'hash.js';
|
|
2
|
-
import { GrumpkinScalar } from '../../
|
|
2
|
+
import { GrumpkinScalar } from '../../curves/grumpkin/index.js';
|
|
3
3
|
import { serializeToBuffer } from '../../serialize/serialize.js';
|
|
4
4
|
export const sha512 = (data)=>Buffer.from(hash.sha512().update(data).digest());
|
|
5
5
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Fr } from '@aztec/foundation/
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
/**
|
|
3
3
|
* Interface to represent a signature.
|
|
4
4
|
*/
|
|
@@ -14,4 +14,4 @@ export interface Signature {
|
|
|
14
14
|
*/
|
|
15
15
|
toFields(): Fr[];
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2lnbmF0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpEOztHQUVHO0FBQ0gsTUFBTSxXQUFXLFNBQVM7SUFDeEI7OztPQUdHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FBQztJQUNuQjs7O09BR0c7SUFDSCxRQUFRLElBQUksRUFBRSxFQUFFLENBQUM7Q0FDbEIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/signature/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/signature/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAAC;CAClB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '../../../
|
|
1
|
+
import { Fr } from '../../../curves/bn254/field.js';
|
|
2
2
|
import { type Fieldable } from '../../../serialize/serialize.js';
|
|
3
3
|
/**
|
|
4
4
|
* Create a pedersen commitment (point) from an array of input fields.
|
|
@@ -16,4 +16,4 @@ export declare function pedersenHash(input: Fieldable[], index?: number): Fr;
|
|
|
16
16
|
* Create a pedersen hash from an arbitrary length buffer.
|
|
17
17
|
*/
|
|
18
18
|
export declare function pedersenHashBuffer(input: Buffer, index?: number): Buffer<ArrayBuffer>;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jcnlwdG8vc3luYy9wZWRlcnNlbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFxQixNQUFNLGlDQUFpQyxDQUFDO0FBRXBGOzs7R0FHRztBQUNILHdCQUFnQixjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sU0FBSSx5QkFVekQ7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixZQUFZLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLEtBQUssU0FBSSxHQUFHLEVBQUUsQ0FPOUQ7QUFFRDs7R0FFRztBQUNILHdCQUFnQixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssU0FBSSx1QkFNMUQifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/crypto/sync/pedersen/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/crypto/sync/pedersen/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,iCAAiC,CAAC;AAEpF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,SAAI,yBAUzD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,SAAI,GAAG,EAAE,CAO9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,uBAM1D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
-
import { Fr } from '../../../
|
|
2
|
+
import { Fr } from '../../../curves/bn254/field.js';
|
|
3
3
|
import { serializeToFields } from '../../../serialize/serialize.js';
|
|
4
4
|
/**
|
|
5
5
|
* Create a pedersen commitment (point) from an array of input fields.
|