@aztec/stdlib 5.0.0-nightly.20260623 → 5.0.0-nightly.20260625
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/abi/buffer.d.ts +6 -2
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +13 -1
- package/dest/interfaces/prover-node.d.ts +2 -2
- package/dest/interfaces/prover-node.d.ts.map +1 -1
- package/dest/interfaces/prover-node.js +1 -0
- package/package.json +8 -8
- package/src/abi/buffer.ts +13 -1
- package/src/interfaces/prover-node.ts +1 -0
package/dest/abi/buffer.d.ts
CHANGED
|
@@ -20,7 +20,11 @@ export declare function bufferAsFields(input: Buffer, targetLength: number): Fr[
|
|
|
20
20
|
* bytecode commitment computations to diverge from what the circuit produced.
|
|
21
21
|
*
|
|
22
22
|
* @param fields - An output from bufferAsFields: [byteLength, ...payloadFields].
|
|
23
|
+
* @param maxByteLength - Optional upper bound on the declared byte length. When the field array comes
|
|
24
|
+
* from untrusted input (e.g. a gossiped contract-class log), pass the payload capacity so an
|
|
25
|
+
* attacker-declared length cannot force a large `Buffer.alloc` before the value is otherwise
|
|
26
|
+
* rejected. Throws if the declared length exceeds it, before allocating.
|
|
23
27
|
* @returns A buffer of exactly `byteLength` bytes.
|
|
24
28
|
*/
|
|
25
|
-
export declare function bufferFromFields(fields: Fr[]): Buffer;
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
export declare function bufferFromFields(fields: Fr[], maxByteLength?: number): Buffer;
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2J1ZmZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJcEQ7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLENBY3hFO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILHdCQUFnQixnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsYUFBYSxDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FzQjdFIn0=
|
package/dest/abi/buffer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/abi/buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAIpD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,CAcxE;AAED
|
|
1
|
+
{"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/abi/buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAIpD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,CAcxE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAsB7E"}
|
package/dest/abi/buffer.js
CHANGED
|
@@ -37,10 +37,22 @@ import chunk from 'lodash.chunk';
|
|
|
37
37
|
* bytecode commitment computations to diverge from what the circuit produced.
|
|
38
38
|
*
|
|
39
39
|
* @param fields - An output from bufferAsFields: [byteLength, ...payloadFields].
|
|
40
|
+
* @param maxByteLength - Optional upper bound on the declared byte length. When the field array comes
|
|
41
|
+
* from untrusted input (e.g. a gossiped contract-class log), pass the payload capacity so an
|
|
42
|
+
* attacker-declared length cannot force a large `Buffer.alloc` before the value is otherwise
|
|
43
|
+
* rejected. Throws if the declared length exceeds it, before allocating.
|
|
40
44
|
* @returns A buffer of exactly `byteLength` bytes.
|
|
41
|
-
*/ export function bufferFromFields(fields) {
|
|
45
|
+
*/ export function bufferFromFields(fields, maxByteLength) {
|
|
46
|
+
// A valid bufferAsFields output always has at least the leading byte-length field, so an empty
|
|
47
|
+
// input encodes no data. Guard so `length` (the destructured head) is never undefined.
|
|
48
|
+
if (fields.length === 0) {
|
|
49
|
+
return Buffer.alloc(0);
|
|
50
|
+
}
|
|
42
51
|
const [length, ...payload] = fields;
|
|
43
52
|
const byteLength = length.toNumber();
|
|
53
|
+
if (maxByteLength !== undefined && byteLength > maxByteLength) {
|
|
54
|
+
throw new Error(`Declared byte length ${byteLength} exceeds maximum ${maxByteLength}`);
|
|
55
|
+
}
|
|
44
56
|
const raw = Buffer.concat(payload.map((f)=>f.toBuffer().subarray(1)));
|
|
45
57
|
if (raw.length >= byteLength) {
|
|
46
58
|
return raw.subarray(0, byteLength);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defaultFetch } from '@aztec/foundation/json-rpc/client';
|
|
2
2
|
import { type ApiSchemaFor } from '../schemas/index.js';
|
|
3
3
|
import { type ComponentsVersions } from '../versioning/index.js';
|
|
4
|
-
declare const EpochProvingJobState: readonly ["initialized", "awaiting-checkpoints", "awaiting-predecessor", "publishing-proof", "completed", "superseded", "failed", "stopped", "cancelled", "timed-out"];
|
|
4
|
+
declare const EpochProvingJobState: readonly ["initialized", "awaiting-checkpoints", "awaiting-root", "awaiting-predecessor", "publishing-proof", "completed", "superseded", "failed", "stopped", "cancelled", "timed-out"];
|
|
5
5
|
export type EpochProvingJobState = (typeof EpochProvingJobState)[number];
|
|
6
6
|
export declare const EpochProvingJobTerminalState: EpochProvingJobState[];
|
|
7
7
|
export type EpochProvingJobTerminalState = (typeof EpochProvingJobTerminalState)[number];
|
|
@@ -23,4 +23,4 @@ export interface ProverNodeApi {
|
|
|
23
23
|
export declare const ProverNodeApiSchema: ApiSchemaFor<ProverNodeApi>;
|
|
24
24
|
export declare function createProverNodeAdminClient(url: string, versions?: Partial<ComponentsVersions>, fetch?: typeof defaultFetch, apiKey?: string): ProverNodeApi;
|
|
25
25
|
export {};
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLW5vZGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcmZhY2VzL3Byb3Zlci1ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMkIsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJMUYsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFXLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQWdDLE1BQU0sd0JBQXdCLENBQUM7QUFFL0YsUUFBQSxNQUFNLG9CQUFvQix5TEFZaEIsQ0FBQztBQUVYLE1BQU0sTUFBTSxvQkFBb0IsR0FBRyxDQUFDLE9BQU8sb0JBQW9CLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUV6RSxlQUFPLE1BQU0sNEJBQTRCLEVBQUUsb0JBQW9CLEVBT3JELENBQUM7QUFFWCxNQUFNLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxPQUFPLDRCQUE0QixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFekYsaURBQWlEO0FBQ2pELE1BQU0sV0FBVyxhQUFhO0lBQzVCLE9BQU8sSUFBSSxPQUFPLENBQUM7UUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDO1FBQUMsTUFBTSxFQUFFLG9CQUFvQixDQUFDO1FBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTFGOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsV0FBVyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDbEQ7QUFFRCw2Q0FBNkM7QUFDN0MsZUFBTyxNQUFNLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxhQUFhLENBTzNELENBQUM7QUFFRix3QkFBZ0IsMkJBQTJCLENBQ3pDLEdBQUcsRUFBRSxNQUFNLEVBQ1gsUUFBUSxHQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBTSxFQUMxQyxLQUFLLHNCQUFlLEVBQ3BCLE1BQU0sQ0FBQyxFQUFFLE1BQU0sR0FDZCxhQUFhLENBT2YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prover-node.d.ts","sourceRoot":"","sources":["../../src/interfaces/prover-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAI1F,OAAO,EAAE,KAAK,YAAY,EAAW,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,wBAAwB,CAAC;AAE/F,QAAA,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"prover-node.d.ts","sourceRoot":"","sources":["../../src/interfaces/prover-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAI1F,OAAO,EAAE,KAAK,YAAY,EAAW,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,wBAAwB,CAAC;AAE/F,QAAA,MAAM,oBAAoB,yLAYhB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE,eAAO,MAAM,4BAA4B,EAAE,oBAAoB,EAOrD,CAAC;AAEX,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzF,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC5B,OAAO,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,oBAAoB,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IAE1F;;;;OAIG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAClD;AAED,6CAA6C;AAC7C,eAAO,MAAM,mBAAmB,EAAE,YAAY,CAAC,aAAa,CAO3D,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,OAAO,CAAC,kBAAkB,CAAM,EAC1C,KAAK,sBAAe,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,aAAa,CAOf"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "5.0.0-nightly.
|
|
3
|
+
"version": "5.0.0-nightly.20260625",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -92,13 +92,13 @@
|
|
|
92
92
|
},
|
|
93
93
|
"dependencies": {
|
|
94
94
|
"@aws-sdk/client-s3": "^3.892.0",
|
|
95
|
-
"@aztec/bb.js": "5.0.0-nightly.
|
|
96
|
-
"@aztec/blob-lib": "5.0.0-nightly.
|
|
97
|
-
"@aztec/constants": "5.0.0-nightly.
|
|
98
|
-
"@aztec/ethereum": "5.0.0-nightly.
|
|
99
|
-
"@aztec/foundation": "5.0.0-nightly.
|
|
100
|
-
"@aztec/l1-artifacts": "5.0.0-nightly.
|
|
101
|
-
"@aztec/noir-noirc_abi": "5.0.0-nightly.
|
|
95
|
+
"@aztec/bb.js": "5.0.0-nightly.20260625",
|
|
96
|
+
"@aztec/blob-lib": "5.0.0-nightly.20260625",
|
|
97
|
+
"@aztec/constants": "5.0.0-nightly.20260625",
|
|
98
|
+
"@aztec/ethereum": "5.0.0-nightly.20260625",
|
|
99
|
+
"@aztec/foundation": "5.0.0-nightly.20260625",
|
|
100
|
+
"@aztec/l1-artifacts": "5.0.0-nightly.20260625",
|
|
101
|
+
"@aztec/noir-noirc_abi": "5.0.0-nightly.20260625",
|
|
102
102
|
"@google-cloud/storage": "^7.15.0",
|
|
103
103
|
"axios": "^1.15.1",
|
|
104
104
|
"json-stringify-deterministic": "1.0.12",
|
package/src/abi/buffer.ts
CHANGED
|
@@ -38,11 +38,23 @@ export function bufferAsFields(input: Buffer, targetLength: number): Fr[] {
|
|
|
38
38
|
* bytecode commitment computations to diverge from what the circuit produced.
|
|
39
39
|
*
|
|
40
40
|
* @param fields - An output from bufferAsFields: [byteLength, ...payloadFields].
|
|
41
|
+
* @param maxByteLength - Optional upper bound on the declared byte length. When the field array comes
|
|
42
|
+
* from untrusted input (e.g. a gossiped contract-class log), pass the payload capacity so an
|
|
43
|
+
* attacker-declared length cannot force a large `Buffer.alloc` before the value is otherwise
|
|
44
|
+
* rejected. Throws if the declared length exceeds it, before allocating.
|
|
41
45
|
* @returns A buffer of exactly `byteLength` bytes.
|
|
42
46
|
*/
|
|
43
|
-
export function bufferFromFields(fields: Fr[]): Buffer {
|
|
47
|
+
export function bufferFromFields(fields: Fr[], maxByteLength?: number): Buffer {
|
|
48
|
+
// A valid bufferAsFields output always has at least the leading byte-length field, so an empty
|
|
49
|
+
// input encodes no data. Guard so `length` (the destructured head) is never undefined.
|
|
50
|
+
if (fields.length === 0) {
|
|
51
|
+
return Buffer.alloc(0);
|
|
52
|
+
}
|
|
44
53
|
const [length, ...payload] = fields;
|
|
45
54
|
const byteLength = length.toNumber();
|
|
55
|
+
if (maxByteLength !== undefined && byteLength > maxByteLength) {
|
|
56
|
+
throw new Error(`Declared byte length ${byteLength} exceeds maximum ${maxByteLength}`);
|
|
57
|
+
}
|
|
46
58
|
const raw = Buffer.concat(payload.map(f => f.toBuffer().subarray(1)));
|
|
47
59
|
if (raw.length >= byteLength) {
|
|
48
60
|
return raw.subarray(0, byteLength);
|