@aztec/foundation 0.0.1-commit.03f7ef2 → 0.0.1-commit.1142ef1
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/checkpoint_number.d.ts +10 -2
- package/dest/branded-types/checkpoint_number.d.ts.map +1 -1
- package/dest/branded-types/checkpoint_number.js +17 -8
- package/dest/branded-types/index.d.ts +2 -2
- package/dest/branded-types/index.d.ts.map +1 -1
- package/dest/branded-types/index.js +1 -1
- package/dest/buffer/buffer16.js +3 -1
- package/dest/buffer/buffer32.js +3 -1
- 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 +2 -3
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +2 -7
- 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/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/curves/bls12/field.js +6 -3
- package/dest/curves/bls12/point.js +3 -1
- package/dest/curves/bn254/field.d.ts +2 -1
- package/dest/curves/bn254/field.d.ts.map +1 -1
- package/dest/curves/bn254/field.js +8 -2
- package/dest/eth-address/index.js +4 -2
- 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/trees/unbalanced_merkle_tree.d.ts +3 -1
- package/dest/trees/unbalanced_merkle_tree.d.ts.map +1 -1
- package/dest/trees/unbalanced_merkle_tree.js +6 -0
- package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +1 -2
- package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/unbalanced_merkle_tree_calculator.js +0 -4
- package/package.json +2 -2
- package/src/array/index.ts +1 -0
- package/src/array/sorted_array.ts +133 -0
- package/src/branded-types/checkpoint_number.ts +22 -7
- package/src/branded-types/index.ts +1 -1
- package/src/config/env_var.ts +17 -7
- package/src/config/index.ts +2 -4
- package/src/config/parse-env.ts +4 -0
- package/src/crypto/random/randomness_singleton.ts +2 -4
- package/src/curves/bn254/field.ts +4 -0
- package/src/eth-address/index.ts +1 -1
- package/src/log/pino-logger.ts +2 -1
- package/src/trees/unbalanced_merkle_tree.ts +14 -0
- package/src/trees/unbalanced_merkle_tree_calculator.ts +0 -10
- 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/src/json-rpc/server/telemetry.ts +0 -0
|
@@ -48,6 +48,7 @@ declare abstract class BaseField {
|
|
|
48
48
|
equals(rhs: BaseField): boolean;
|
|
49
49
|
lt(rhs: BaseField): boolean;
|
|
50
50
|
cmp(rhs: BaseField): -1 | 0 | 1;
|
|
51
|
+
static cmp(lhs: BaseField, rhs: BaseField): -1 | 0 | 1;
|
|
51
52
|
isZero(): boolean;
|
|
52
53
|
isEmpty(): boolean;
|
|
53
54
|
toFriendlyJSON(): string;
|
|
@@ -176,4 +177,4 @@ export declare class Fq extends BaseField {
|
|
|
176
177
|
/** Wraps a function that returns a buffer so that all results are reduced into a field of the given type. */
|
|
177
178
|
export declare function reduceFn<TInput, TField extends BaseField>(fn: (input: TInput) => Buffer, field: DerivedField<TField>): (input: TInput) => TField;
|
|
178
179
|
export {};
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvYm4yNTQvZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUsvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFLaEU7O0dBRUc7QUFDSCxLQUFLLFlBQVksQ0FBQyxDQUFDLFNBQVMsU0FBUyxJQUFJO0lBQ3ZDLEtBQUssS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDcEI7O09BRUc7SUFDSCxPQUFPLEVBQUUsTUFBTSxDQUFDO0NBQ2pCLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsdUJBQWUsU0FBUztJQUN0QixNQUFNLENBQUMsYUFBYSxTQUFNO0lBQzFCLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFTO0lBRWxDOzs7U0FHSztJQUNMLElBQUksS0FBSyxJQUFJLE1BQU0sQ0FFbEI7SUFFRCxpQ0FBaUM7SUFDakMsSUFBSSxJQUFJLElBQUksTUFBTSxDQUVqQjtJQUVELFNBQVMsYUFBYSxLQUFLLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsU0FBUyxHQUFHLE1BQU0sRUFtQjFFO0lBRUQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDO0lBRXJDOztPQUVHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxRQUFRLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FFeEI7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sSUFBSSxPQUFPLENBRWhCO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FLakI7SUFFRDs7O09BR0c7SUFDSCxjQUFjLElBQUksTUFBTSxDQUV2QjtJQUVELGFBQWEsSUFBSSxNQUFNLENBR3RCO0lBRUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxT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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/curves/bn254/field.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAK/B,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAKhE;;GAEG;AACH,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,IAAI;IACvC,KAAK,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,uBAAe,SAAS;IACtB,MAAM,CAAC,aAAa,SAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC;;;SAGK;IACL,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,iCAAiC;IACjC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,SAAS,aAAa,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,EAmB1E;IAED,SAAS,CAAC,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC;IAErC;;OAEG;IACH,QAAQ,IAAI,MAAM,CAEjB;IAED,QAAQ,IAAI,KAAK,MAAM,EAAE,CAExB;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,OAAO,CAEhB;IAED;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAKjB;IAED;;;OAGG;IACH,cAAc,IAAI,MAAM,CAEvB;IAED,aAAa,IAAI,MAAM,CAGtB;IAED,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAE9B;IAED,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAE1B;IAED,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAG9B;IAED,MAAM,IAAI,OAAO,CAEhB;IAED,OAAO,IAAI,OAAO,CAEjB;IAED,cAAc,IAAI,MAAM,CAEvB;IAED,OAAO,SAEN;CACF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAGhG;AAiCD,+DAA+D;AAC/D,MAAM,WAAW,EAAE;IACjB,aAAa;IACb,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,EAAG,SAAQ,SAAS;IAC/B,MAAM,CAAC,IAAI,KAAc;IACzB,MAAM,CAAC,GAAG,KAAc;IACxB,MAAM,CAAC,OAAO,SAAuE;IACrF,MAAM,CAAC,eAAe,KAA6B;IAEnD,YAAY,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,EAAE,GAAG,MAAM,EAEzD;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;IAED,SAAS,CAAC,OAAO,WAEhB;IAED,MAAM,CAAC,MAAM,OAEZ;IAED,MAAM,CAAC,IAAI,OAEV;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,WAEtB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,MAE9C;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,MAErC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,MAS5B;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,MAE/B;IAED,iBAAiB;IAEjB,GAAG,CAAC,GAAG,EAAE,EAAE,MAEV;IAED,MAAM,OAEL;IAED,MAAM,OAEL;IAED,GAAG,CAAC,GAAG,EAAE,EAAE,MAGV;IAED,GAAG,CAAC,GAAG,EAAE,EAAE,MAEV;IAED,GAAG,CAAC,GAAG,EAAE,EAAE,MAOV;IAGD,IAAI,CAAC,GAAG,EAAE,EAAE,MAMX;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAS/B;IAED,MAAM,kBAEL;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAKnC;IAED,MAAM,KAAK,MAAM,2CAGhB;CACF;AAKD;;GAEG;AACH,MAAM,WAAW,EAAE;IACjB,aAAa;IACb,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,EAAG,SAAQ,SAAS;IAC/B,MAAM,CAAC,IAAI,KAAc;IACzB,MAAM,CAAC,OAAO,SAAuE;IACrF,OAAO,CAAC,MAAM,CAAC,UAAU,CAA6C;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IAErD,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;IAED,IAAI,EAAE,IAAI,EAAE,CAEX;IAED,IAAI,EAAE,IAAI,EAAE,CAEX;IAED,YAAY,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,EAAE,GAAG,MAAM,EAEzD;IAED,SAAS,CAAC,OAAO,WAEhB;IAED,MAAM,CAAC,MAAM,OAEZ;IAED,MAAM,CAAC,IAAI,OAEV;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,MAE9C;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,MAErC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,MAS5B;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,MAE/B;IAED,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAExC;IAED,GAAG,CAAC,GAAG,EAAE,EAAE,MAEV;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAS/B;IAED,MAAM,kBAEL;IAED,QAAQ,SAKP;IAED,MAAM,KAAK,MAAM,2CAEhB;CACF;AAgCD,6GAA6G;AAC7G,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,SAAS,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,6BAEpH"}
|
|
1
|
+
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/curves/bn254/field.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var _computedKey, _computedKey1;
|
|
1
2
|
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
3
|
import { inspect } from 'util';
|
|
3
4
|
import { toBigIntBE, toBufferBE } from '../../bigint-buffer/index.js';
|
|
@@ -83,6 +84,9 @@ import { TypeRegistry } from '../../serialize/type_registry.js';
|
|
|
83
84
|
const rhsBigInt = rhs.asBigInt;
|
|
84
85
|
return this.asBigInt === rhsBigInt ? 0 : this.asBigInt < rhsBigInt ? -1 : 1;
|
|
85
86
|
}
|
|
87
|
+
static cmp(lhs, rhs) {
|
|
88
|
+
return lhs.cmp(rhs);
|
|
89
|
+
}
|
|
86
90
|
isZero() {
|
|
87
91
|
return this.asBigInt === 0n;
|
|
88
92
|
}
|
|
@@ -126,6 +130,7 @@ import { TypeRegistry } from '../../serialize/type_registry.js';
|
|
|
126
130
|
const buffer = Buffer.from(checked.length % 2 === 1 ? '0' + checked : checked, 'hex');
|
|
127
131
|
return new f(toBigIntBE(buffer));
|
|
128
132
|
}
|
|
133
|
+
_computedKey = inspect.custom;
|
|
129
134
|
/**
|
|
130
135
|
* Fr field class.
|
|
131
136
|
* @dev This class is used to represent elements of BN254 scalar field or elements in the base field of Grumpkin.
|
|
@@ -138,7 +143,7 @@ import { TypeRegistry } from '../../serialize/type_registry.js';
|
|
|
138
143
|
constructor(value){
|
|
139
144
|
super(value);
|
|
140
145
|
}
|
|
141
|
-
[
|
|
146
|
+
[_computedKey]() {
|
|
142
147
|
return `Fr<${this.toString()}>`;
|
|
143
148
|
}
|
|
144
149
|
modulus() {
|
|
@@ -250,6 +255,7 @@ import { TypeRegistry } from '../../serialize/type_registry.js';
|
|
|
250
255
|
}
|
|
251
256
|
// For deserializing JSON.
|
|
252
257
|
TypeRegistry.register('Fr', Fr);
|
|
258
|
+
_computedKey1 = inspect.custom;
|
|
253
259
|
/**
|
|
254
260
|
* Fq field class.
|
|
255
261
|
* @dev This class is used to represent elements of BN254 base field or elements in the scalar field of Grumpkin.
|
|
@@ -259,7 +265,7 @@ TypeRegistry.register('Fr', Fr);
|
|
|
259
265
|
static MODULUS = 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47n;
|
|
260
266
|
static HIGH_SHIFT = BigInt(BaseField.SIZE_IN_BYTES / 2 * 8);
|
|
261
267
|
static LOW_MASK = (1n << Fq.HIGH_SHIFT) - 1n;
|
|
262
|
-
[
|
|
268
|
+
[_computedKey1]() {
|
|
263
269
|
return `Fq<${this.toString()}>`;
|
|
264
270
|
}
|
|
265
271
|
get lo() {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var _computedKey;
|
|
1
2
|
import { inspect } from 'util';
|
|
2
3
|
import { keccak256String } from '../crypto/keccak/index.js';
|
|
3
4
|
import { randomBytes } from '../crypto/random/index.js';
|
|
@@ -6,6 +7,7 @@ import { hexSchemaFor } from '../schemas/utils.js';
|
|
|
6
7
|
import { BufferReader, FieldReader } from '../serialize/index.js';
|
|
7
8
|
import { TypeRegistry } from '../serialize/type_registry.js';
|
|
8
9
|
import { bufferToHex } from '../string/index.js';
|
|
10
|
+
_computedKey = inspect.custom;
|
|
9
11
|
/**
|
|
10
12
|
* Represents an Ethereum address as a 20-byte buffer and provides various utility methods
|
|
11
13
|
* for converting between different representations, generating random addresses, validating
|
|
@@ -148,7 +150,7 @@ import { bufferToHex } from '../string/index.js';
|
|
|
148
150
|
*/ toString() {
|
|
149
151
|
return bufferToHex(this.buffer);
|
|
150
152
|
}
|
|
151
|
-
[
|
|
153
|
+
[_computedKey]() {
|
|
152
154
|
return `EthAddress<${this.toString()}>`;
|
|
153
155
|
}
|
|
154
156
|
/**
|
|
@@ -205,7 +207,7 @@ import { bufferToHex } from '../string/index.js';
|
|
|
205
207
|
}
|
|
206
208
|
/** Converts a number into an address. Useful for testing. */ static fromNumber(num) {
|
|
207
209
|
const buffer = Buffer.alloc(EthAddress.SIZE_IN_BYTES);
|
|
208
|
-
buffer.writeBigUInt64BE(BigInt(num),
|
|
210
|
+
buffer.writeBigUInt64BE(BigInt(num), EthAddress.SIZE_IN_BYTES - 8);
|
|
209
211
|
return new EthAddress(buffer);
|
|
210
212
|
}
|
|
211
213
|
toJSON() {
|
|
@@ -54,4 +54,4 @@ export type Logger = {
|
|
|
54
54
|
createChild: (childModule: string) => Logger;
|
|
55
55
|
};
|
|
56
56
|
export {};
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluby1sb2dnZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2cvcGluby1sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBUXZDLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEQsd0JBQWdCLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FtQ25EO0FBSUQsS0FBSyxjQUFjLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxLQUFLLE9BQU8sQ0FBQztBQUdqRCx3QkFBZ0IsaUJBQWlCLENBQUMsT0FBTyxFQUFFLGNBQWMsR0FBRyxJQUFJLENBRS9EO0FBUUQsS0FBSyxjQUFjLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxLQUFLLE1BQU0sQ0FBQztBQUdqRCx3QkFBZ0IsaUJBQWlCLENBQUMsT0FBTyxFQUFFLGNBQWMsR0FBRyxJQUFJLENBRS9EO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxjQUFjLFFBSzNEO0FBRUQsaUdBQWlHO0FBQ2pHLHdCQUFzQixpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQU1qRztBQVdELGVBQU8sTUFBTyxRQUFRLGtGQUFFLFVBQVUsdUNBQW9ELENBQUM7QUEwQ3ZGLGVBQU8sTUFBTSxNQUFNOzs7OztDQUdsQixDQUFDO0FBTUYsZUFBTyxNQUFNLGNBQWM7Ozs7Ozs7Ozs7Q0FVMUIsQ0FBQztBQW9ERixlQUFPLE1BQU0sTUFBTSwyQ0FBZSxDQUFDO0FBYW5DOzs7R0FHRztBQUNILHdCQUFnQixzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FFN0Q7QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0IscUJBQXFCLENBQUMsTUFBTSxFQUFFLFFBQVEsR0FBRyxJQUFJLENBZTVEO0FBRUQsb0RBQW9EO0FBQ3BELEtBQUssVUFBVSxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsT0FBTyxLQUFLLElBQUksQ0FBQztBQUV2RTs7R0FFRztBQUNILE1BQU0sTUFBTSxNQUFNLEdBQUc7S0FBRyxDQUFDLElBQUksUUFBUSxHQUFHLEtBQUs7Q0FBRSxHQUFHO0lBQTRCLEtBQUssRUFBRSxVQUFVLENBQUE7Q0FBRSxHQUFHO0lBQ2xHLEtBQUssRUFBRSxRQUFRLENBQUM7SUFDaEIsY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsS0FBSyxPQUFPLENBQUM7SUFDN0MsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxNQUFNLEtBQUssTUFBTSxDQUFDO0NBQzlDLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pino-logger.d.ts","sourceRoot":"","sources":["../../src/log/pino-logger.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"pino-logger.d.ts","sourceRoot":"","sources":["../../src/log/pino-logger.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAQvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAElD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAmCnD;AAID,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;AAGjD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAE/D;AAQD,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;AAGjD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAE/D;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,QAK3D;AAED,iGAAiG;AACjG,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAMjG;AAWD,eAAO,MAAO,QAAQ,kFAAE,UAAU,uCAAoD,CAAC;AA0CvF,eAAO,MAAM,MAAM;;;;;CAGlB,CAAC;AAMF,eAAO,MAAM,cAAc;;;;;;;;;;CAU1B,CAAC;AAoDF,eAAO,MAAM,MAAM,2CAAe,CAAC;AAanC;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAE7D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAe5D;AAED,oDAAoD;AACpD,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;KAAG,CAAC,IAAI,QAAQ,GAAG,KAAK;CAAE,GAAG;IAA4B,KAAK,EAAE,UAAU,CAAA;CAAE,GAAG;IAClG,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C,CAAC"}
|
package/dest/log/pino-logger.js
CHANGED
|
@@ -3,7 +3,7 @@ import isNode from 'detect-node';
|
|
|
3
3
|
import { pino, symbols } from 'pino';
|
|
4
4
|
import { inspect } from 'util';
|
|
5
5
|
import { compactArray } from '../collection/array.js';
|
|
6
|
-
import { parseBooleanEnv } from '../config/
|
|
6
|
+
import { parseBooleanEnv } from '../config/parse-env.js';
|
|
7
7
|
import { GoogleCloudLoggerConfig } from './gcloud-logger-config.js';
|
|
8
8
|
import { getLogLevelFromFilters, parseEnv } from './log-filters.js';
|
|
9
9
|
export function createLogger(module) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const computeUnbalancedShaRoot: (leaves: Buffer<ArrayBufferLike>[]) => Buffer<ArrayBufferLike>;
|
|
2
2
|
export declare const computeUnbalancedPoseidonRoot: (leaves: Buffer<ArrayBufferLike>[]) => Promise<Buffer<ArrayBufferLike>>;
|
|
3
|
+
export declare const computeCompressedUnbalancedShaRoot: (leaves: Buffer<ArrayBufferLike>[]) => Buffer<ArrayBufferLike>;
|
|
3
4
|
/**
|
|
4
5
|
* Computes the Merkle root of an unbalanced tree.
|
|
5
6
|
*
|
|
@@ -23,8 +24,9 @@ export declare const computeUnbalancedPoseidonRoot: (leaves: Buffer<ArrayBufferL
|
|
|
23
24
|
*/
|
|
24
25
|
export declare function computeUnbalancedMerkleTreeRoot(leaves: Buffer[], hasher?: (lhs: Uint8Array<ArrayBufferLike>, rhs: Uint8Array<ArrayBufferLike>) => Buffer<ArrayBuffer>, emptyRoot?: Buffer<ArrayBuffer>): Buffer;
|
|
25
26
|
export declare function computeUnbalancedMerkleTreeRootAsync(leaves: Buffer[], hasher?: (lhs: Uint8Array<ArrayBufferLike>, rhs: Uint8Array<ArrayBufferLike>) => Promise<Buffer<ArrayBuffer>>, emptyRoot?: Buffer<ArrayBuffer>): Promise<Buffer>;
|
|
27
|
+
export declare function computeCompressedUnbalancedMerkleTreeRoot(leaves: Buffer[], valueToCompress?: Buffer<ArrayBuffer>, emptyRoot?: Buffer<ArrayBuffer>, hasher?: (lhs: Uint8Array<ArrayBufferLike>, rhs: Uint8Array<ArrayBufferLike>) => Buffer<ArrayBuffer>): Buffer;
|
|
26
28
|
export declare function findLeafLevelAndIndex(numLeaves: number, leafIndex: number): {
|
|
27
29
|
level: number;
|
|
28
30
|
indexAtLevel: number;
|
|
29
31
|
};
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iYWxhbmNlZF9tZXJrbGVfdHJlZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL3VuYmFsYW5jZWRfbWVya2xlX3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsZUFBTyxNQUFNLHdCQUF3QixnRUFBK0UsQ0FBQztBQUVySCxlQUFPLE1BQU0sNkJBQTZCLHlFQUM4QixDQUFDO0FBRXpFLGVBQU8sTUFBTSxrQ0FBa0MsZ0VBQ0ksQ0FBQztBQUVwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCx3QkFBZ0IsK0JBQStCLENBQzdDLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFDaEIsTUFBTSw4RkFBZ0IsRUFDdEIsU0FBUyxzQkFBbUIsR0FDM0IsTUFBTSxDQTZCUjtBQUVELHdCQUFzQixvQ0FBb0MsQ0FDeEQsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUNoQixNQUFNLHVHQUFxQixFQUMzQixTQUFTLHNCQUFtQixHQUMzQixPQUFPLENBQUMsTUFBTSxDQUFDLENBNkJqQjtBQUVELHdCQUFnQix5Q0FBeUMsQ0FDdkQsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUNoQixlQUFlLHNCQUFtQixFQUNsQyxTQUFTLHNCQUFtQixFQUM1QixNQUFNLDhGQUFnQixHQUNyQixNQUFNLENBR1I7QUFzREQsd0JBQWdCLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07OztFQUd6RSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unbalanced_merkle_tree.d.ts","sourceRoot":"","sources":["../../src/trees/unbalanced_merkle_tree.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unbalanced_merkle_tree.d.ts","sourceRoot":"","sources":["../../src/trees/unbalanced_merkle_tree.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,wBAAwB,gEAA+E,CAAC;AAErH,eAAO,MAAM,6BAA6B,yEAC8B,CAAC;AAEzE,eAAO,MAAM,kCAAkC,gEACI,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,8FAAgB,EACtB,SAAS,sBAAmB,GAC3B,MAAM,CA6BR;AAED,wBAAsB,oCAAoC,CACxD,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,uGAAqB,EAC3B,SAAS,sBAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,CA6BjB;AAED,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,MAAM,EAAE,EAChB,eAAe,sBAAmB,EAClC,SAAS,sBAAmB,EAC5B,MAAM,8FAAgB,GACrB,MAAM,CAGR;AAsDD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;EAGzE"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { computeBalancedMerkleTreeRoot, computeBalancedMerkleTreeRootAsync, poseidonMerkleHash, shaMerkleHash } from './balanced_merkle_tree.js';
|
|
2
|
+
import { UnbalancedMerkleTreeCalculator } from './unbalanced_merkle_tree_calculator.js';
|
|
2
3
|
export const computeUnbalancedShaRoot = (leaves)=>computeUnbalancedMerkleTreeRoot(leaves, shaMerkleHash);
|
|
3
4
|
export const computeUnbalancedPoseidonRoot = async (leaves)=>await computeUnbalancedMerkleTreeRootAsync(leaves, poseidonMerkleHash);
|
|
5
|
+
export const computeCompressedUnbalancedShaRoot = (leaves)=>computeCompressedUnbalancedMerkleTreeRoot(leaves);
|
|
4
6
|
/**
|
|
5
7
|
* Computes the Merkle root of an unbalanced tree.
|
|
6
8
|
*
|
|
@@ -71,6 +73,10 @@ export async function computeUnbalancedMerkleTreeRootAsync(leaves, hasher = pose
|
|
|
71
73
|
}
|
|
72
74
|
return root;
|
|
73
75
|
}
|
|
76
|
+
export function computeCompressedUnbalancedMerkleTreeRoot(leaves, valueToCompress = Buffer.alloc(32), emptyRoot = Buffer.alloc(32), hasher = shaMerkleHash) {
|
|
77
|
+
const calculator = UnbalancedMerkleTreeCalculator.create(leaves, valueToCompress, emptyRoot, hasher);
|
|
78
|
+
return calculator.getRoot();
|
|
79
|
+
}
|
|
74
80
|
/// Get the depth of the maximum balanced tree that can be created with the given number of leaves. The subtree will be
|
|
75
81
|
/// the left most subtree of the wonky tree with a total of `numLeaves` leaves.
|
|
76
82
|
///
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Hasher } from './hasher.js';
|
|
2
2
|
import { SiblingPath } from './sibling_path.js';
|
|
3
3
|
import { type TreeNodeLocation } from './unbalanced_tree_store.js';
|
|
4
|
-
export declare function computeCompressedUnbalancedMerkleTreeRoot(leaves: Buffer[], valueToCompress?: Buffer<ArrayBuffer>, emptyRoot?: Buffer<ArrayBuffer>, hasher?: Hasher['hash']): Buffer;
|
|
5
4
|
/**
|
|
6
5
|
* An ephemeral unbalanced Merkle tree implementation.
|
|
7
6
|
* Follows the rollup implementation which greedily hashes pairs of nodes up the tree.
|
|
@@ -46,4 +45,4 @@ export declare class UnbalancedMerkleTreeCalculator {
|
|
|
46
45
|
private shiftNodeUp;
|
|
47
46
|
private collectNodesToShift;
|
|
48
47
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iYWxhbmNlZF9tZXJrbGVfdHJlZV9jYWxjdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJlZXMvdW5iYWxhbmNlZF9tZXJrbGVfdHJlZV9jYWxjdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQXVCLE1BQU0sNEJBQTRCLENBQUM7QUFPeEY7Ozs7Ozs7R0FPRztBQUNILHFCQUFhLDhCQUE4QjtJQUt2QyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFDdkIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlO0lBQ2hDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFQekIsT0FBTyxDQUFDLEtBQUssQ0FBZ0M7SUFDN0MsT0FBTyxDQUFDLGFBQWEsQ0FBMEI7SUFFL0MsWUFDbUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUNoQixlQUFlLEVBQUUsTUFBTSxFQUN2QixTQUFTLEVBQUUsTUFBTSxFQUNqQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUl4QztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQ1gsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUNoQixlQUFlLHNCQUFrQixFQUNqQyxTQUFTLHNCQUFtQixFQUM1QixNQUFNLDhGQUFnQixrQ0FHdkI7SUFFRDs7O09BR0c7SUFDSSxPQUFPLElBQUksTUFBTSxDQUV2QjtJQUVEOzs7OztPQUtHO0lBQ0ksY0FBYyxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBT3JFO0lBRUQ7Ozs7T0FJRztJQUNJLHlCQUF5QixDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBbUJwRjtJQUVNLGVBQWUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxvQkFFdkM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsU0FBUztJQStDakIsT0FBTyxDQUFDLFdBQVc7SUFZbkIsT0FBTyxDQUFDLG1CQUFtQjtDQW1CNUIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unbalanced_merkle_tree_calculator.d.ts","sourceRoot":"","sources":["../../src/trees/unbalanced_merkle_tree_calculator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,gBAAgB,EAAuB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"unbalanced_merkle_tree_calculator.d.ts","sourceRoot":"","sources":["../../src/trees/unbalanced_merkle_tree_calculator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,gBAAgB,EAAuB,MAAM,4BAA4B,CAAC;AAOxF;;;;;;;GAOG;AACH,qBAAa,8BAA8B;IAKvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,aAAa,CAA0B;IAE/C,YACmB,MAAM,EAAE,MAAM,EAAE,EAChB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAIxC;IAED,MAAM,CAAC,MAAM,CACX,MAAM,EAAE,MAAM,EAAE,EAChB,eAAe,sBAAkB,EACjC,SAAS,sBAAmB,EAC5B,MAAM,8FAAgB,kCAGvB;IAED;;;OAGG;IACI,OAAO,IAAI,MAAM,CAEvB;IAED;;;;;OAKG;IACI,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAOrE;IAED;;;;OAIG;IACI,yBAAyB,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAmBpF;IAEM,eAAe,CAAC,SAAS,EAAE,MAAM,oBAEvC;IAED;;;OAGG;IACH,OAAO,CAAC,SAAS;IA+CjB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,mBAAmB;CAmB5B"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { shaMerkleHash } from './balanced_merkle_tree.js';
|
|
2
2
|
import { SiblingPath } from './sibling_path.js';
|
|
3
3
|
import { UnbalancedTreeStore } from './unbalanced_tree_store.js';
|
|
4
|
-
export function computeCompressedUnbalancedMerkleTreeRoot(leaves, valueToCompress = Buffer.alloc(32), emptyRoot = Buffer.alloc(32), hasher) {
|
|
5
|
-
const calculator = UnbalancedMerkleTreeCalculator.create(leaves, valueToCompress, emptyRoot, hasher);
|
|
6
|
-
return calculator.getRoot();
|
|
7
|
-
}
|
|
8
4
|
/**
|
|
9
5
|
* An ephemeral unbalanced Merkle tree implementation.
|
|
10
6
|
* Follows the rollup implementation which greedily hashes pairs of nodes up the tree.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/foundation",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.1142ef1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dest/index.js",
|
|
6
6
|
"types": "./dest/index.d.ts",
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
"testEnvironment": "../../foundation/src/jest/env.mjs"
|
|
124
124
|
},
|
|
125
125
|
"dependencies": {
|
|
126
|
-
"@aztec/bb.js": "0.0.1-commit.
|
|
126
|
+
"@aztec/bb.js": "0.0.1-commit.1142ef1",
|
|
127
127
|
"@koa/cors": "^5.0.0",
|
|
128
128
|
"@noble/curves": "=1.7.0",
|
|
129
129
|
"@noble/hashes": "^1.6.1",
|
package/src/array/index.ts
CHANGED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
type Cmp<T> = (a: T, b: T) => -1 | 0 | 1;
|
|
2
|
+
|
|
3
|
+
export function dedupeSortedArray<T>(arr: T[], cmp: Cmp<T>): void {
|
|
4
|
+
for (let i = 0; i < arr.length; i++) {
|
|
5
|
+
let j = i + 1;
|
|
6
|
+
for (; j < arr.length; j++) {
|
|
7
|
+
const res = cmp(arr[i], arr[j]);
|
|
8
|
+
if (res === 0) {
|
|
9
|
+
continue;
|
|
10
|
+
} else if (res < 0) {
|
|
11
|
+
break;
|
|
12
|
+
} else {
|
|
13
|
+
throw new Error('Array not sorted');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (j - i > 1) {
|
|
18
|
+
arr.splice(i + 1, j - i - 1);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function insertIntoSortedArray<T>(arr: T[], item: T, cmp: Cmp<T>, allowDuplicates = true): boolean {
|
|
24
|
+
let start = 0;
|
|
25
|
+
let end = arr.length;
|
|
26
|
+
|
|
27
|
+
while (start < end) {
|
|
28
|
+
const mid = start + (((end - start) / 2) | 0);
|
|
29
|
+
const comparison = cmp(arr[mid], item);
|
|
30
|
+
|
|
31
|
+
if (comparison < 0) {
|
|
32
|
+
start = mid + 1;
|
|
33
|
+
} else {
|
|
34
|
+
end = mid;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (!allowDuplicates) {
|
|
39
|
+
// Check element at insertion point
|
|
40
|
+
if (start < arr.length && cmp(arr[start], item) === 0) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Check element before insertion point (in case we landed after duplicates)
|
|
45
|
+
if (start > 0 && cmp(arr[start - 1], item) === 0) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
arr.splice(start, 0, item);
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function findIndexInSortedArray<T, N>(values: T[], needle: N, cmp: (a: T, b: N) => number): number {
|
|
55
|
+
let start = 0;
|
|
56
|
+
let end = values.length - 1;
|
|
57
|
+
|
|
58
|
+
while (start <= end) {
|
|
59
|
+
const mid = start + (((end - start) / 2) | 0);
|
|
60
|
+
const comparison = cmp(values[mid], needle);
|
|
61
|
+
|
|
62
|
+
if (comparison === 0) {
|
|
63
|
+
return mid;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (comparison > 0) {
|
|
67
|
+
end = mid - 1;
|
|
68
|
+
} else {
|
|
69
|
+
start = mid + 1;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return -1;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export function findInSortedArray<T, N>(values: T[], needle: N, cmp: (a: T, b: N) => number): T | undefined {
|
|
77
|
+
const idx = findIndexInSortedArray(values, needle, cmp);
|
|
78
|
+
return idx > -1 ? values[idx] : undefined;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export function removeAnyOf<T, N>(arr: T[], vals: N[], cmp: (a: T, b: N) => -1 | 0 | 1): void {
|
|
82
|
+
let writeIdx = 0;
|
|
83
|
+
let readIdx = 0;
|
|
84
|
+
let valIdx = 0;
|
|
85
|
+
|
|
86
|
+
while (readIdx < arr.length && valIdx < vals.length) {
|
|
87
|
+
const comparison = cmp(arr[readIdx], vals[valIdx]);
|
|
88
|
+
|
|
89
|
+
if (comparison < 0) {
|
|
90
|
+
arr[writeIdx++] = arr[readIdx++];
|
|
91
|
+
} else if (comparison > 0) {
|
|
92
|
+
valIdx++;
|
|
93
|
+
} else {
|
|
94
|
+
readIdx++;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
while (readIdx < arr.length) {
|
|
99
|
+
arr[writeIdx++] = arr[readIdx++];
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
arr.length = writeIdx;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export function removeFromSortedArray<T, N>(arr: T[], val: N, cmp: (a: T, b: N) => -1 | 0 | 1) {
|
|
106
|
+
const idx = findIndexInSortedArray(arr, val, cmp);
|
|
107
|
+
if (idx > -1) {
|
|
108
|
+
arr.splice(idx, 1);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export function merge<T>(arr: T[], toInsert: T[], cmp: (a: T, b: T) => -1 | 0 | 1): void {
|
|
113
|
+
const result = new Array<T>(arr.length + toInsert.length);
|
|
114
|
+
let i = 0,
|
|
115
|
+
j = 0,
|
|
116
|
+
k = 0;
|
|
117
|
+
|
|
118
|
+
while (i < arr.length && j < toInsert.length) {
|
|
119
|
+
result[k++] = cmp(arr[i], toInsert[j]) <= 0 ? arr[i++] : toInsert[j++];
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
while (i < arr.length) {
|
|
123
|
+
result[k++] = arr[i++];
|
|
124
|
+
}
|
|
125
|
+
while (j < toInsert.length) {
|
|
126
|
+
result[k++] = toInsert[j++];
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
for (i = 0; i < result.length; i++) {
|
|
130
|
+
arr[i] = result[i];
|
|
131
|
+
}
|
|
132
|
+
arr.length = result.length;
|
|
133
|
+
}
|
|
@@ -85,16 +85,31 @@ CheckpointNumber.isValid = function (value: unknown): value is CheckpointNumber
|
|
|
85
85
|
return typeof value === 'number' && Number.isInteger(value) && value >= 0;
|
|
86
86
|
};
|
|
87
87
|
|
|
88
|
-
/**
|
|
89
|
-
* The zero checkpoint value.
|
|
90
|
-
*/
|
|
88
|
+
/** The zero checkpoint value. */
|
|
91
89
|
CheckpointNumber.ZERO = CheckpointNumber(0);
|
|
92
90
|
|
|
91
|
+
/** Initial checkpoint. */
|
|
92
|
+
CheckpointNumber.INITIAL = CheckpointNumber(1);
|
|
93
|
+
|
|
93
94
|
/**
|
|
94
95
|
* Zod schema for parsing and validating CheckpointNumber values.
|
|
95
96
|
* Accepts numbers, bigints, or strings and coerces them to CheckpointNumber.
|
|
96
97
|
*/
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
function makeCheckpointNumberSchema(minValue: number) {
|
|
99
|
+
return z
|
|
100
|
+
.union([z.number(), z.bigint(), z.string()])
|
|
101
|
+
.pipe(z.coerce.number().int().min(minValue))
|
|
102
|
+
.transform(value => CheckpointNumber(value));
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Zod schema for parsing and validating Checkpoint values.
|
|
107
|
+
* Accepts numbers, bigints, or strings and coerces them to CheckpointNumber.
|
|
108
|
+
*/
|
|
109
|
+
export const CheckpointNumberSchema = makeCheckpointNumberSchema(0);
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Zod schema for parsing and validating CheckpointNumber values that are strictly positive.
|
|
113
|
+
* Accepts numbers, bigints, or strings and coerces them to CheckpointNumber.
|
|
114
|
+
*/
|
|
115
|
+
export const CheckpointNumberPositiveSchema = makeCheckpointNumberSchema(1);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { BlockNumber, BlockNumberSchema, BlockNumberPositiveSchema } from './block_number.js';
|
|
2
|
-
export { CheckpointNumber, CheckpointNumberSchema } from './checkpoint_number.js';
|
|
2
|
+
export { CheckpointNumber, CheckpointNumberSchema, CheckpointNumberPositiveSchema } from './checkpoint_number.js';
|
|
3
3
|
export { EpochNumber, EpochNumberSchema } from './epoch.js';
|
|
4
4
|
export { SlotNumber, SlotNumberSchema } from './slot.js';
|
|
5
5
|
|
package/src/config/env_var.ts
CHANGED
|
@@ -21,14 +21,13 @@ export type EnvVar =
|
|
|
21
21
|
| 'BB_NUM_IVC_VERIFIERS'
|
|
22
22
|
| 'BB_IVC_CONCURRENCY'
|
|
23
23
|
| 'BOOTSTRAP_NODES'
|
|
24
|
-
| '
|
|
25
|
-
| 'BLOB_SINK_PORT'
|
|
26
|
-
| 'BLOB_SINK_URL'
|
|
24
|
+
| 'BLOB_ARCHIVE_API_URL'
|
|
27
25
|
| 'BLOB_FILE_STORE_URLS'
|
|
28
26
|
| 'BLOB_FILE_STORE_UPLOAD_URL'
|
|
27
|
+
| 'BLOB_HEALTHCHECK_UPLOAD_INTERVAL_MINUTES'
|
|
29
28
|
| 'BOT_DA_GAS_LIMIT'
|
|
30
29
|
| 'BOT_FEE_PAYMENT_METHOD'
|
|
31
|
-
| '
|
|
30
|
+
| 'BOT_MIN_FEE_PADDING'
|
|
32
31
|
| 'BOT_FLUSH_SETUP_TRANSACTIONS'
|
|
33
32
|
| 'BOT_FOLLOW_CHAIN'
|
|
34
33
|
| 'BOT_L2_GAS_LIMIT'
|
|
@@ -134,8 +133,7 @@ export type EnvVar =
|
|
|
134
133
|
| 'P2P_TRUSTED_PEERS'
|
|
135
134
|
| 'P2P_PRIVATE_PEERS'
|
|
136
135
|
| 'P2P_PREFERRED_PEERS'
|
|
137
|
-
| '
|
|
138
|
-
| 'P2P_TX_POOL_OVERFLOW_FACTOR'
|
|
136
|
+
| 'P2P_MAX_PENDING_TX_COUNT'
|
|
139
137
|
| 'P2P_SEEN_MSG_CACHE_SIZE'
|
|
140
138
|
| 'P2P_DROP_TX'
|
|
141
139
|
| 'P2P_DROP_TX_CHANCE'
|
|
@@ -259,6 +257,7 @@ export type EnvVar =
|
|
|
259
257
|
| 'AZTEC_TARGET_COMMITTEE_SIZE'
|
|
260
258
|
| 'AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET'
|
|
261
259
|
| 'AZTEC_LAG_IN_EPOCHS_FOR_RANDAO'
|
|
260
|
+
| 'AZTEC_INBOX_LAG'
|
|
262
261
|
| 'AZTEC_PROOF_SUBMISSION_EPOCHS'
|
|
263
262
|
| 'AZTEC_ACTIVATION_THRESHOLD'
|
|
264
263
|
| 'AZTEC_EJECTION_THRESHOLD'
|
|
@@ -313,4 +312,15 @@ export type EnvVar =
|
|
|
313
312
|
| 'FISHERMAN_MODE'
|
|
314
313
|
| 'MAX_ALLOWED_ETH_CLIENT_DRIFT_SECONDS'
|
|
315
314
|
| 'LEGACY_BLS_CLI'
|
|
316
|
-
| 'DEBUG_FORCE_TX_PROOF_VERIFICATION'
|
|
315
|
+
| 'DEBUG_FORCE_TX_PROOF_VERIFICATION'
|
|
316
|
+
| 'SLASHING_PROTECTION_NODE_ID'
|
|
317
|
+
| 'SLASHING_PROTECTION_POLLING_INTERVAL_MS'
|
|
318
|
+
| 'SLASHING_PROTECTION_SIGNING_TIMEOUT_MS'
|
|
319
|
+
| 'SLASHING_PROTECTION_ENABLED'
|
|
320
|
+
| 'SLASHING_PROTECTION_MAX_STUCK_DUTIES_AGE_MS'
|
|
321
|
+
| 'VALIDATOR_HA_DATABASE_URL'
|
|
322
|
+
| 'VALIDATOR_HA_RUN_MIGRATIONS'
|
|
323
|
+
| 'VALIDATOR_HA_POOL_MAX'
|
|
324
|
+
| 'VALIDATOR_HA_POOL_MIN'
|
|
325
|
+
| 'VALIDATOR_HA_POOL_IDLE_TIMEOUT_MS'
|
|
326
|
+
| 'VALIDATOR_HA_POOL_CONNECTION_TIMEOUT_MS';
|
package/src/config/index.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Fq, Fr } from '../curves/bn254/field.js';
|
|
|
2
2
|
import { createConsoleLogger } from '../log/console.js';
|
|
3
3
|
import type { EnvVar } from './env_var.js';
|
|
4
4
|
import { type NetworkNames, getActiveNetworkName } from './network_name.js';
|
|
5
|
+
import { parseBooleanEnv } from './parse-env.js';
|
|
5
6
|
import { SecretValue } from './secret_value.js';
|
|
6
7
|
|
|
7
8
|
export { SecretValue, getActiveNetworkName };
|
|
@@ -231,10 +232,7 @@ export function secretValueConfigHelper<T>(parse: (val: string | undefined) => T
|
|
|
231
232
|
};
|
|
232
233
|
}
|
|
233
234
|
|
|
234
|
-
|
|
235
|
-
export function parseBooleanEnv(val: string | undefined): boolean {
|
|
236
|
-
return val !== undefined && ['1', 'true', 'TRUE'].includes(val);
|
|
237
|
-
}
|
|
235
|
+
export { parseBooleanEnv } from './parse-env.js';
|
|
238
236
|
|
|
239
237
|
export function secretStringConfigHelper(): Required<
|
|
240
238
|
Pick<ConfigMapping, 'parseEnv' | 'defaultValue' | 'isBoolean'> & {
|
|
@@ -12,11 +12,9 @@ export class RandomnessSingleton {
|
|
|
12
12
|
private static instance: RandomnessSingleton;
|
|
13
13
|
|
|
14
14
|
private counter = 0;
|
|
15
|
+
private readonly log = createLogger('foundation:randomness_singleton');
|
|
15
16
|
|
|
16
|
-
private constructor(
|
|
17
|
-
private readonly seed?: number,
|
|
18
|
-
private readonly log = createLogger('foundation:randomness_singleton'),
|
|
19
|
-
) {
|
|
17
|
+
private constructor(private readonly seed?: number) {
|
|
20
18
|
if (seed !== undefined) {
|
|
21
19
|
this.log.debug(`Using pseudo-randomness with seed: ${seed}`);
|
|
22
20
|
this.counter = seed;
|
|
@@ -122,6 +122,10 @@ abstract class BaseField {
|
|
|
122
122
|
return this.asBigInt === rhsBigInt ? 0 : this.asBigInt < rhsBigInt ? -1 : 1;
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
+
static cmp(lhs: BaseField, rhs: BaseField): -1 | 0 | 1 {
|
|
126
|
+
return lhs.cmp(rhs);
|
|
127
|
+
}
|
|
128
|
+
|
|
125
129
|
isZero(): boolean {
|
|
126
130
|
return this.asBigInt === 0n;
|
|
127
131
|
}
|
package/src/eth-address/index.ts
CHANGED
|
@@ -249,7 +249,7 @@ export class EthAddress {
|
|
|
249
249
|
/** Converts a number into an address. Useful for testing. */
|
|
250
250
|
static fromNumber(num: bigint | number): EthAddress {
|
|
251
251
|
const buffer = Buffer.alloc(EthAddress.SIZE_IN_BYTES);
|
|
252
|
-
buffer.writeBigUInt64BE(BigInt(num),
|
|
252
|
+
buffer.writeBigUInt64BE(BigInt(num), EthAddress.SIZE_IN_BYTES - 8);
|
|
253
253
|
return new EthAddress(buffer);
|
|
254
254
|
}
|
|
255
255
|
|
package/src/log/pino-logger.ts
CHANGED
|
@@ -5,7 +5,8 @@ import type { Writable } from 'stream';
|
|
|
5
5
|
import { inspect } from 'util';
|
|
6
6
|
|
|
7
7
|
import { compactArray } from '../collection/array.js';
|
|
8
|
-
import {
|
|
8
|
+
import type { EnvVar } from '../config/index.js';
|
|
9
|
+
import { parseBooleanEnv } from '../config/parse-env.js';
|
|
9
10
|
import { GoogleCloudLoggerConfig } from './gcloud-logger-config.js';
|
|
10
11
|
import { getLogLevelFromFilters, parseEnv } from './log-filters.js';
|
|
11
12
|
import type { LogLevel } from './log-levels.js';
|
|
@@ -4,12 +4,16 @@ import {
|
|
|
4
4
|
poseidonMerkleHash,
|
|
5
5
|
shaMerkleHash,
|
|
6
6
|
} from './balanced_merkle_tree.js';
|
|
7
|
+
import { UnbalancedMerkleTreeCalculator } from './unbalanced_merkle_tree_calculator.js';
|
|
7
8
|
|
|
8
9
|
export const computeUnbalancedShaRoot = (leaves: Buffer[]) => computeUnbalancedMerkleTreeRoot(leaves, shaMerkleHash);
|
|
9
10
|
|
|
10
11
|
export const computeUnbalancedPoseidonRoot = async (leaves: Buffer[]) =>
|
|
11
12
|
await computeUnbalancedMerkleTreeRootAsync(leaves, poseidonMerkleHash);
|
|
12
13
|
|
|
14
|
+
export const computeCompressedUnbalancedShaRoot = (leaves: Buffer[]) =>
|
|
15
|
+
computeCompressedUnbalancedMerkleTreeRoot(leaves);
|
|
16
|
+
|
|
13
17
|
/**
|
|
14
18
|
* Computes the Merkle root of an unbalanced tree.
|
|
15
19
|
*
|
|
@@ -101,6 +105,16 @@ export async function computeUnbalancedMerkleTreeRootAsync(
|
|
|
101
105
|
return root!;
|
|
102
106
|
}
|
|
103
107
|
|
|
108
|
+
export function computeCompressedUnbalancedMerkleTreeRoot(
|
|
109
|
+
leaves: Buffer[],
|
|
110
|
+
valueToCompress = Buffer.alloc(32),
|
|
111
|
+
emptyRoot = Buffer.alloc(32),
|
|
112
|
+
hasher = shaMerkleHash,
|
|
113
|
+
): Buffer {
|
|
114
|
+
const calculator = UnbalancedMerkleTreeCalculator.create(leaves, valueToCompress, emptyRoot, hasher);
|
|
115
|
+
return calculator.getRoot();
|
|
116
|
+
}
|
|
117
|
+
|
|
104
118
|
/// Get the depth of the maximum balanced tree that can be created with the given number of leaves. The subtree will be
|
|
105
119
|
/// the left most subtree of the wonky tree with a total of `numLeaves` leaves.
|
|
106
120
|
///
|
|
@@ -3,16 +3,6 @@ import type { Hasher } from './hasher.js';
|
|
|
3
3
|
import { SiblingPath } from './sibling_path.js';
|
|
4
4
|
import { type TreeNodeLocation, UnbalancedTreeStore } from './unbalanced_tree_store.js';
|
|
5
5
|
|
|
6
|
-
export function computeCompressedUnbalancedMerkleTreeRoot(
|
|
7
|
-
leaves: Buffer[],
|
|
8
|
-
valueToCompress = Buffer.alloc(32),
|
|
9
|
-
emptyRoot = Buffer.alloc(32),
|
|
10
|
-
hasher?: Hasher['hash'],
|
|
11
|
-
): Buffer {
|
|
12
|
-
const calculator = UnbalancedMerkleTreeCalculator.create(leaves, valueToCompress, emptyRoot, hasher);
|
|
13
|
-
return calculator.getRoot();
|
|
14
|
-
}
|
|
15
|
-
|
|
16
6
|
interface TreeNode {
|
|
17
7
|
value: Buffer;
|
|
18
8
|
leafIndex?: number;
|