@aztec/stdlib 5.0.0-nightly.20260521 → 5.0.0-nightly.20260522

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dest/avm/avm.d.ts +33 -26
  2. package/dest/avm/avm.d.ts.map +1 -1
  3. package/dest/avm/avm.js +6 -3
  4. package/dest/avm/avm_proving_request.d.ts +11 -9
  5. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  6. package/dest/contract/complete_address.d.ts +2 -1
  7. package/dest/contract/complete_address.d.ts.map +1 -1
  8. package/dest/contract/complete_address.js +6 -2
  9. package/dest/contract/contract_address.d.ts +5 -5
  10. package/dest/contract/contract_address.d.ts.map +1 -1
  11. package/dest/contract/contract_address.js +4 -3
  12. package/dest/contract/contract_instance.d.ts +4 -2
  13. package/dest/contract/contract_instance.d.ts.map +1 -1
  14. package/dest/contract/contract_instance.js +10 -3
  15. package/dest/contract/interfaces/contract_instance.d.ts +24 -20
  16. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  17. package/dest/contract/interfaces/contract_instance.js +4 -2
  18. package/dest/interfaces/proving-job.d.ts +11 -9
  19. package/dest/interfaces/proving-job.d.ts.map +1 -1
  20. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  21. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  22. package/dest/kernel/hints/key_validation_request.js +20 -18
  23. package/dest/keys/derivation.d.ts +4 -1
  24. package/dest/keys/derivation.d.ts.map +1 -1
  25. package/dest/keys/derivation.js +12 -5
  26. package/dest/keys/public_key.d.ts +8 -1
  27. package/dest/keys/public_key.d.ts.map +1 -1
  28. package/dest/keys/public_key.js +12 -1
  29. package/dest/keys/public_keys.d.ts +47 -73
  30. package/dest/keys/public_keys.d.ts.map +1 -1
  31. package/dest/keys/public_keys.js +96 -79
  32. package/dest/tests/factories.d.ts +2 -1
  33. package/dest/tests/factories.d.ts.map +1 -1
  34. package/dest/tests/factories.js +9 -5
  35. package/dest/tx/simulated_tx.d.ts +17 -13
  36. package/dest/tx/simulated_tx.d.ts.map +1 -1
  37. package/package.json +8 -8
  38. package/src/avm/avm.ts +5 -0
  39. package/src/contract/complete_address.ts +7 -3
  40. package/src/contract/contract_address.ts +5 -5
  41. package/src/contract/contract_instance.ts +11 -2
  42. package/src/contract/interfaces/contract_instance.ts +6 -2
  43. package/src/kernel/hints/key_validation_request.ts +18 -16
  44. package/src/keys/derivation.ts +14 -7
  45. package/src/keys/public_key.ts +12 -0
  46. package/src/keys/public_keys.ts +101 -118
  47. package/src/tests/factories.ts +18 -8
@@ -3,81 +3,57 @@ import { Point } from '@aztec/foundation/curves/grumpkin';
3
3
  import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
4
4
  import type { FieldsOf } from '@aztec/foundation/types';
5
5
  import { z } from 'zod';
6
- import type { PublicKey } from './public_key.js';
6
+ import { type PublicKey } from './public_key.js';
7
+ /**
8
+ * A non-owner's view of an account's master public keys.
9
+ *
10
+ * Only `ivpkM` is exposed as a point (since address derivation needs the curve
11
+ * point in-circuit); the other three keys are exposed as their `hashPublicKey` digests.
12
+ */
7
13
  export declare class PublicKeys {
8
- /** Master nullifier public key */
9
- masterNullifierPublicKey: PublicKey;
14
+ /** Hash of the master nullifier public key */
15
+ npkMHash: Fr;
10
16
  /** Master incoming viewing public key */
11
- masterIncomingViewingPublicKey: PublicKey;
12
- /** Master outgoing viewing public key */
13
- masterOutgoingViewingPublicKey: PublicKey;
14
- /** Master tagging viewing public key */
15
- masterTaggingPublicKey: PublicKey;
17
+ ivpkM: PublicKey;
18
+ /** Hash of the master outgoing viewing public key */
19
+ ovpkMHash: Fr;
20
+ /** Hash of the master tagging public key */
21
+ tpkMHash: Fr;
16
22
  constructor(
17
- /** Master nullifier public key */
18
- masterNullifierPublicKey: PublicKey,
23
+ /** Hash of the master nullifier public key */
24
+ npkMHash: Fr,
19
25
  /** Master incoming viewing public key */
20
- masterIncomingViewingPublicKey: PublicKey,
21
- /** Master outgoing viewing public key */
22
- masterOutgoingViewingPublicKey: PublicKey,
23
- /** Master tagging viewing public key */
24
- masterTaggingPublicKey: PublicKey);
26
+ ivpkM: PublicKey,
27
+ /** Hash of the master outgoing viewing public key */
28
+ ovpkMHash: Fr,
29
+ /** Hash of the master tagging public key */
30
+ tpkMHash: Fr);
25
31
  static get schema(): z.ZodPipe<z.ZodObject<{
26
- masterNullifierPublicKey: z.ZodType<Point, string, z.core.$ZodTypeInternals<Point, string>>;
27
- masterIncomingViewingPublicKey: z.ZodType<Point, string, z.core.$ZodTypeInternals<Point, string>>;
28
- masterOutgoingViewingPublicKey: z.ZodType<Point, string, z.core.$ZodTypeInternals<Point, string>>;
29
- masterTaggingPublicKey: z.ZodType<Point, string, z.core.$ZodTypeInternals<Point, string>>;
32
+ npkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
33
+ ivpkM: z.ZodType<Point, string, z.core.$ZodTypeInternals<Point, string>>;
34
+ ovpkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
35
+ tpkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
30
36
  }, z.core.$strip>, z.ZodTransform<PublicKeys, {
31
- masterNullifierPublicKey: Point;
32
- masterIncomingViewingPublicKey: Point;
33
- masterOutgoingViewingPublicKey: Point;
34
- masterTaggingPublicKey: Point;
37
+ npkMHash: Fr;
38
+ ivpkM: Point;
39
+ ovpkMHash: Fr;
40
+ tpkMHash: Fr;
35
41
  }>>;
36
42
  static from(fields: FieldsOf<PublicKeys>): PublicKeys;
37
43
  /**
38
44
  * Creates a PublicKeys from a plain object without Zod validation.
39
- * This method is optimized for performance and skips validation, making it suitable
40
- * for deserializing trusted data (e.g., from C++ via MessagePack).
41
- * @param obj - Plain object containing PublicKeys fields
42
- * @returns A PublicKeys instance
45
+ * Suitable for deserializing trusted data (e.g., from C++ via MessagePack).
43
46
  */
44
47
  static fromPlainObject(obj: any): PublicKeys;
45
- hash(): Fr | Promise<Fr>;
48
+ hash(): Promise<Fr>;
46
49
  isEmpty(): boolean;
47
50
  static default(): PublicKeys;
48
51
  static random(): Promise<PublicKeys>;
49
- /**
50
- * Determines if this PublicKeys instance is equal to the given PublicKeys instance.
51
- * Equality is based on the content of their respective buffers.
52
- *
53
- * @param other - The PublicKeys instance to compare against.
54
- * @returns True if the buffers of both instances are equal, false otherwise.
55
- */
56
52
  equals(other: PublicKeys): boolean;
57
- /**
58
- * Converts the PublicKeys instance into a Buffer.
59
- * This method should be used when encoding the address for storage, transmission or serialization purposes.
60
- *
61
- * @returns A Buffer representation of the PublicKeys instance.
62
- */
63
53
  toBuffer(): Buffer;
64
- /**
65
- * Creates an PublicKeys instance from a given buffer or BufferReader.
66
- * If the input is a Buffer, it wraps it in a BufferReader before processing.
67
- * Throws an error if the input length is not equal to the expected size.
68
- *
69
- * @param buffer - The input buffer or BufferReader containing the address data.
70
- * @returns - A new PublicKeys instance with the extracted address data.
71
- */
72
54
  static fromBuffer(buffer: Buffer | BufferReader): PublicKeys;
73
55
  toNoirStruct(): {
74
- npk_m: {
75
- inner: {
76
- x: Fr;
77
- y: Fr;
78
- is_infinite: boolean;
79
- };
80
- };
56
+ npk_m_hash: Fr;
81
57
  ivpk_m: {
82
58
  inner: {
83
59
  x: Fr;
@@ -85,24 +61,22 @@ export declare class PublicKeys {
85
61
  is_infinite: boolean;
86
62
  };
87
63
  };
88
- ovpk_m: {
89
- inner: {
90
- x: Fr;
91
- y: Fr;
92
- is_infinite: boolean;
93
- };
94
- };
95
- tpk_m: {
96
- inner: {
97
- x: Fr;
98
- y: Fr;
99
- is_infinite: boolean;
100
- };
101
- };
64
+ ovpk_m_hash: Fr;
65
+ tpk_m_hash: Fr;
102
66
  };
103
67
  /**
104
- * Serializes the payload to an array of fields
105
- * @returns The fields of the payload
68
+ * Wire-format fields matching Noir's struct flattening of `PublicKeys`:
69
+ * `[npk_m_hash, ivpk_m.x, ivpk_m.y, ivpk_m.is_infinite, ovpk_m_hash, tpk_m_hash]` (6 fields).
70
+ *
71
+ * The `is_infinite` slot is `0` for `ivpkM` produced by `deriveKeys` (fixed-base scalar
72
+ * multiplication on Grumpkin cannot reach infinity for a non-zero scalar, and Poseidon-derived
73
+ * scalars are non-zero with cryptographically negligible exception). External flows that
74
+ * import pre-derived keys are responsible for maintaining this invariant (see the AZIP-8
75
+ * migration note "Security note (PXE side)"). The slot stays on the wire because the Noir
76
+ * struct's `Point` still carries the flag. AZIP-8's "drop `is_infinite`" goal applies to the
77
+ * address-derivation hash (via `hash_public_key`, computed elsewhere), not to the
78
+ * contract-call args wire.
79
+ * TODO(F-553): drop the `is_infinite` slot once `Point` no longer carries the flag.
106
80
  */
107
81
  toFields(): Fr[];
108
82
  encodeToNoir(): Fr[];
@@ -110,4 +84,4 @@ export declare class PublicKeys {
110
84
  toString(): `0x${string}`;
111
85
  static fromString(keys: string): PublicKeys;
112
86
  }
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tleXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXlzL3B1YmxpY19rZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFM0YsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxxQkFBYSxVQUFVO0lBRW5CLGtDQUFrQztJQUMzQix3QkFBd0IsRUFBRSxTQUFTO0lBQzFDLHlDQUF5QztJQUNsQyw4QkFBOEIsRUFBRSxTQUFTO0lBQ2hELHlDQUF5QztJQUNsQyw4QkFBOEIsRUFBRSxTQUFTO0lBQ2hELHdDQUF3QztJQUNqQyxzQkFBc0IsRUFBRSxTQUFTO0lBUjFDO0lBQ0Usa0NBQWtDO0lBQzNCLHdCQUF3QixFQUFFLFNBQVM7SUFDMUMseUNBQXlDO0lBQ2xDLDhCQUE4QixFQUFFLFNBQVM7SUFDaEQseUNBQXlDO0lBQ2xDLDhCQUE4QixFQUFFLFNBQVM7SUFDaEQsd0NBQXdDO0lBQ2pDLHNCQUFzQixFQUFFLFNBQVMsRUFDdEM7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7OztRQVNoQjtJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsY0FPdkM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsVUFBVSxDQVUzQztJQUVELElBQUkscUJBWUg7SUFFRCxPQUFPLFlBT047SUFFRCxNQUFNLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FPM0I7SUFFRCxPQUFhLE1BQU0sSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBRXpDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLEtBQUssRUFBRSxVQUFVLEdBQUcsT0FBTyxDQU9qQztJQUVEOzs7OztPQUtHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FPakI7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxVQUFVLENBWTNEO0lBRUQsWUFBWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFZWDtJQUVEOzs7T0FHRztJQUNILFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FPZjtJQUlELFlBQVksSUFBSSxFQUFFLEVBQUUsQ0FFbkI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLEdBQUcsVUFBVSxDQVF4RDtJQUVELFFBQVEsa0JBRVA7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLGNBRTdCO0NBQ0YifQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tleXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXlzL3B1YmxpY19rZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFM0YsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFFaEU7Ozs7O0dBS0c7QUFDSCxxQkFBYSxVQUFVO0lBRW5CLDhDQUE4QztJQUN2QyxRQUFRLEVBQUUsRUFBRTtJQUNuQix5Q0FBeUM7SUFDbEMsS0FBSyxFQUFFLFNBQVM7SUFDdkIscURBQXFEO0lBQzlDLFNBQVMsRUFBRSxFQUFFO0lBQ3BCLDRDQUE0QztJQUNyQyxRQUFRLEVBQUUsRUFBRTtJQVJyQjtJQUNFLDhDQUE4QztJQUN2QyxRQUFRLEVBQUUsRUFBRTtJQUNuQix5Q0FBeUM7SUFDbEMsS0FBSyxFQUFFLFNBQVM7SUFDdkIscURBQXFEO0lBQzlDLFNBQVMsRUFBRSxFQUFFO0lBQ3BCLDRDQUE0QztJQUNyQyxRQUFRLEVBQUUsRUFBRSxFQUNqQjtJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7O1FBU2hCO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxjQUV2QztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxVQUFVLENBVTNDO0lBRUssSUFBSSxnQkFhVDtJQUVELE9BQU8sWUFFTjtJQUVELE1BQU0sQ0FBQyxPQUFPLElBQUksVUFBVSxDQVkzQjtJQUVELE9BQWEsTUFBTSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FVekM7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBT2pDO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLFVBQVUsQ0FPM0Q7SUFFRCxZQUFZOzs7Ozs7Ozs7OztNQVVYO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNILFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FTZjtJQUdELFlBQVksSUFBSSxFQUFFLEVBQUUsQ0FFbkI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLEdBQUcsVUFBVSxDQVN4RDtJQUVELFFBQVEsa0JBRVA7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLGNBRTdCO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"public_keys.d.ts","sourceRoot":"","sources":["../../src/keys/public_keys.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,UAAU;IAEnB,kCAAkC;IAC3B,wBAAwB,EAAE,SAAS;IAC1C,yCAAyC;IAClC,8BAA8B,EAAE,SAAS;IAChD,yCAAyC;IAClC,8BAA8B,EAAE,SAAS;IAChD,wCAAwC;IACjC,sBAAsB,EAAE,SAAS;IAR1C;IACE,kCAAkC;IAC3B,wBAAwB,EAAE,SAAS;IAC1C,yCAAyC;IAClC,8BAA8B,EAAE,SAAS;IAChD,yCAAyC;IAClC,8BAA8B,EAAE,SAAS;IAChD,wCAAwC;IACjC,sBAAsB,EAAE,SAAS,EACtC;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;QAShB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,cAOvC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAU3C;IAED,IAAI,qBAYH;IAED,OAAO,YAON;IAED,MAAM,CAAC,OAAO,IAAI,UAAU,CAO3B;IAED,OAAa,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,CAEzC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAOjC;IAED;;;;;OAKG;IACH,QAAQ,IAAI,MAAM,CAOjB;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAY3D;IAED,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAYX;IAED;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAOf;IAID,YAAY,IAAI,EAAE,EAAE,CAEnB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,UAAU,CAQxD;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,cAE7B;CACF"}
1
+ {"version":3,"file":"public_keys.d.ts","sourceRoot":"","sources":["../../src/keys/public_keys.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAEhE;;;;;GAKG;AACH,qBAAa,UAAU;IAEnB,8CAA8C;IACvC,QAAQ,EAAE,EAAE;IACnB,yCAAyC;IAClC,KAAK,EAAE,SAAS;IACvB,qDAAqD;IAC9C,SAAS,EAAE,EAAE;IACpB,4CAA4C;IACrC,QAAQ,EAAE,EAAE;IARrB;IACE,8CAA8C;IACvC,QAAQ,EAAE,EAAE;IACnB,yCAAyC;IAClC,KAAK,EAAE,SAAS;IACvB,qDAAqD;IAC9C,SAAS,EAAE,EAAE;IACpB,4CAA4C;IACrC,QAAQ,EAAE,EAAE,EACjB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;QAShB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,cAEvC;IAED;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAU3C;IAEK,IAAI,gBAaT;IAED,OAAO,YAEN;IAED,MAAM,CAAC,OAAO,IAAI,UAAU,CAY3B;IAED,OAAa,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,CAUzC;IAED,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAOjC;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAO3D;IAED,YAAY;;;;;;;;;;;MAUX;IAED;;;;;;;;;;;;;OAaG;IACH,QAAQ,IAAI,EAAE,EAAE,CASf;IAGD,YAAY,IAAI,EAAE,EAAE,CAEnB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,UAAU,CASxD;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,cAE7B;CACF"}
@@ -1,4 +1,4 @@
1
- import { DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, DEFAULT_NPK_M_X, DEFAULT_NPK_M_Y, DEFAULT_OVPK_M_X, DEFAULT_OVPK_M_Y, DEFAULT_TPK_M_X, DEFAULT_TPK_M_Y, DomainSeparator } from '@aztec/constants';
1
+ import { DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, DEFAULT_NPK_M_HASH, DEFAULT_OVPK_M_HASH, DEFAULT_TPK_M_HASH, DomainSeparator } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { Point } from '@aztec/foundation/curves/grumpkin';
@@ -6,123 +6,140 @@ import { schemas } from '@aztec/foundation/schemas';
6
6
  import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
7
7
  import { bufferToHex, withoutHexPrefix } from '@aztec/foundation/string';
8
8
  import { z } from 'zod';
9
- export class PublicKeys {
10
- masterNullifierPublicKey;
11
- masterIncomingViewingPublicKey;
12
- masterOutgoingViewingPublicKey;
13
- masterTaggingPublicKey;
14
- constructor(/** Master nullifier public key */ masterNullifierPublicKey, /** Master incoming viewing public key */ masterIncomingViewingPublicKey, /** Master outgoing viewing public key */ masterOutgoingViewingPublicKey, /** Master tagging viewing public key */ masterTaggingPublicKey){
15
- this.masterNullifierPublicKey = masterNullifierPublicKey;
16
- this.masterIncomingViewingPublicKey = masterIncomingViewingPublicKey;
17
- this.masterOutgoingViewingPublicKey = masterOutgoingViewingPublicKey;
18
- this.masterTaggingPublicKey = masterTaggingPublicKey;
9
+ import { hashPublicKey } from './public_key.js';
10
+ /**
11
+ * A non-owner's view of an account's master public keys.
12
+ *
13
+ * Only `ivpkM` is exposed as a point (since address derivation needs the curve
14
+ * point in-circuit); the other three keys are exposed as their `hashPublicKey` digests.
15
+ */ export class PublicKeys {
16
+ npkMHash;
17
+ ivpkM;
18
+ ovpkMHash;
19
+ tpkMHash;
20
+ constructor(/** Hash of the master nullifier public key */ npkMHash, /** Master incoming viewing public key */ ivpkM, /** Hash of the master outgoing viewing public key */ ovpkMHash, /** Hash of the master tagging public key */ tpkMHash){
21
+ this.npkMHash = npkMHash;
22
+ this.ivpkM = ivpkM;
23
+ this.ovpkMHash = ovpkMHash;
24
+ this.tpkMHash = tpkMHash;
19
25
  }
20
26
  static get schema() {
21
27
  return z.object({
22
- masterNullifierPublicKey: schemas.Point,
23
- masterIncomingViewingPublicKey: schemas.Point,
24
- masterOutgoingViewingPublicKey: schemas.Point,
25
- masterTaggingPublicKey: schemas.Point
28
+ npkMHash: schemas.Fr,
29
+ ivpkM: schemas.Point,
30
+ ovpkMHash: schemas.Fr,
31
+ tpkMHash: schemas.Fr
26
32
  }).transform(PublicKeys.from);
27
33
  }
28
34
  static from(fields) {
29
- return new PublicKeys(fields.masterNullifierPublicKey, fields.masterIncomingViewingPublicKey, fields.masterOutgoingViewingPublicKey, fields.masterTaggingPublicKey);
35
+ return new PublicKeys(fields.npkMHash, fields.ivpkM, fields.ovpkMHash, fields.tpkMHash);
30
36
  }
31
37
  /**
32
38
  * Creates a PublicKeys from a plain object without Zod validation.
33
- * This method is optimized for performance and skips validation, making it suitable
34
- * for deserializing trusted data (e.g., from C++ via MessagePack).
35
- * @param obj - Plain object containing PublicKeys fields
36
- * @returns A PublicKeys instance
39
+ * Suitable for deserializing trusted data (e.g., from C++ via MessagePack).
37
40
  */ static fromPlainObject(obj) {
38
41
  if (obj instanceof PublicKeys) {
39
42
  return obj;
40
43
  }
41
- return new PublicKeys(Point.fromPlainObject(obj.masterNullifierPublicKey), Point.fromPlainObject(obj.masterIncomingViewingPublicKey), Point.fromPlainObject(obj.masterOutgoingViewingPublicKey), Point.fromPlainObject(obj.masterTaggingPublicKey));
42
- }
43
- hash() {
44
- return this.isEmpty() ? Fr.ZERO : poseidon2HashWithSeparator([
45
- this.masterNullifierPublicKey,
46
- this.masterIncomingViewingPublicKey,
47
- this.masterOutgoingViewingPublicKey,
48
- this.masterTaggingPublicKey
44
+ return new PublicKeys(Fr.fromPlainObject(obj.npkMHash), Point.fromPlainObject(obj.ivpkM), Fr.fromPlainObject(obj.ovpkMHash), Fr.fromPlainObject(obj.tpkMHash));
45
+ }
46
+ async hash() {
47
+ if (this.isEmpty()) {
48
+ return Fr.ZERO;
49
+ }
50
+ // Mirror Noir's `PublicKeys::hash`: hash the four single-key digests under
51
+ // DOM_SEP__PUBLIC_KEYS_HASH. `ivpk_m` must be reduced to its single-key digest first
52
+ // (Poseidon2 over [x, y]); passing the Point directly would inadvertently include
53
+ // `is_infinite` and produce a different value.
54
+ const ivpkMHash = await hashPublicKey(this.ivpkM);
55
+ return poseidon2HashWithSeparator([
56
+ this.npkMHash,
57
+ ivpkMHash,
58
+ this.ovpkMHash,
59
+ this.tpkMHash
49
60
  ], DomainSeparator.PUBLIC_KEYS_HASH);
50
61
  }
51
62
  isEmpty() {
52
- return this.masterNullifierPublicKey.isZero() && this.masterIncomingViewingPublicKey.isZero() && this.masterOutgoingViewingPublicKey.isZero() && this.masterTaggingPublicKey.isZero();
63
+ return this.npkMHash.isZero() && this.ivpkM.isZero() && this.ovpkMHash.isZero() && this.tpkMHash.isZero();
53
64
  }
54
65
  static default() {
55
- return new PublicKeys(new Point(new Fr(DEFAULT_NPK_M_X), new Fr(DEFAULT_NPK_M_Y), false), new Point(new Fr(DEFAULT_IVPK_M_X), new Fr(DEFAULT_IVPK_M_Y), false), new Point(new Fr(DEFAULT_OVPK_M_X), new Fr(DEFAULT_OVPK_M_Y), false), new Point(new Fr(DEFAULT_TPK_M_X), new Fr(DEFAULT_TPK_M_Y), false));
66
+ // Precomputed `hash_public_key(Point { DEFAULT_*_X, DEFAULT_*_Y, false })` for npk/ovpk/tpk.
67
+ // Sourced from constants.gen.ts (originally defined in
68
+ // noir-protocol-circuits/crates/types/src/constants.nr); a self-test in public_keys.nr
69
+ // (`default_hashes_match_default_points`) catches drift between the *_HASH constants and
70
+ // the underlying X/Y points.
71
+ return new PublicKeys(new Fr(DEFAULT_NPK_M_HASH), new Point(new Fr(DEFAULT_IVPK_M_X), new Fr(DEFAULT_IVPK_M_Y), false), new Fr(DEFAULT_OVPK_M_HASH), new Fr(DEFAULT_TPK_M_HASH));
56
72
  }
57
73
  static async random() {
58
- return new PublicKeys(await Point.random(), await Point.random(), await Point.random(), await Point.random());
74
+ const npkM = await Point.random();
75
+ const ovpkM = await Point.random();
76
+ const tpkM = await Point.random();
77
+ return new PublicKeys(await hashPublicKey(npkM), await Point.random(), await hashPublicKey(ovpkM), await hashPublicKey(tpkM));
59
78
  }
60
- /**
61
- * Determines if this PublicKeys instance is equal to the given PublicKeys instance.
62
- * Equality is based on the content of their respective buffers.
63
- *
64
- * @param other - The PublicKeys instance to compare against.
65
- * @returns True if the buffers of both instances are equal, false otherwise.
66
- */ equals(other) {
67
- return this.masterNullifierPublicKey.equals(other.masterNullifierPublicKey) && this.masterIncomingViewingPublicKey.equals(other.masterIncomingViewingPublicKey) && this.masterOutgoingViewingPublicKey.equals(other.masterOutgoingViewingPublicKey) && this.masterTaggingPublicKey.equals(other.masterTaggingPublicKey);
79
+ equals(other) {
80
+ return this.npkMHash.equals(other.npkMHash) && this.ivpkM.equals(other.ivpkM) && this.ovpkMHash.equals(other.ovpkMHash) && this.tpkMHash.equals(other.tpkMHash);
68
81
  }
69
- /**
70
- * Converts the PublicKeys instance into a Buffer.
71
- * This method should be used when encoding the address for storage, transmission or serialization purposes.
72
- *
73
- * @returns A Buffer representation of the PublicKeys instance.
74
- */ toBuffer() {
82
+ toBuffer() {
75
83
  return serializeToBuffer([
76
- this.masterNullifierPublicKey,
77
- this.masterIncomingViewingPublicKey,
78
- this.masterOutgoingViewingPublicKey,
79
- this.masterTaggingPublicKey
84
+ this.npkMHash,
85
+ this.ivpkM,
86
+ this.ovpkMHash,
87
+ this.tpkMHash
80
88
  ]);
81
89
  }
82
- /**
83
- * Creates an PublicKeys instance from a given buffer or BufferReader.
84
- * If the input is a Buffer, it wraps it in a BufferReader before processing.
85
- * Throws an error if the input length is not equal to the expected size.
86
- *
87
- * @param buffer - The input buffer or BufferReader containing the address data.
88
- * @returns - A new PublicKeys instance with the extracted address data.
89
- */ static fromBuffer(buffer) {
90
+ static fromBuffer(buffer) {
90
91
  const reader = BufferReader.asReader(buffer);
91
- const masterNullifierPublicKey = reader.readObject(Point);
92
- const masterIncomingViewingPublicKey = reader.readObject(Point);
93
- const masterOutgoingViewingPublicKey = reader.readObject(Point);
94
- const masterTaggingPublicKey = reader.readObject(Point);
95
- return new PublicKeys(masterNullifierPublicKey, masterIncomingViewingPublicKey, masterOutgoingViewingPublicKey, masterTaggingPublicKey);
92
+ const npkMHash = Fr.fromBuffer(reader);
93
+ const ivpkM = reader.readObject(Point);
94
+ const ovpkMHash = Fr.fromBuffer(reader);
95
+ const tpkMHash = Fr.fromBuffer(reader);
96
+ return new PublicKeys(npkMHash, ivpkM, ovpkMHash, tpkMHash);
96
97
  }
97
98
  toNoirStruct() {
98
- // We need to use lowercase identifiers as those are what the noir interface expects
99
- return {
100
- // TODO(#6337): Directly dump account.publicKeys here
101
- /* eslint-disable camelcase */ npk_m: this.masterNullifierPublicKey.toWrappedNoirStruct(),
102
- ivpk_m: this.masterIncomingViewingPublicKey.toWrappedNoirStruct(),
103
- ovpk_m: this.masterOutgoingViewingPublicKey.toWrappedNoirStruct(),
104
- tpk_m: this.masterTaggingPublicKey.toWrappedNoirStruct()
99
+ // We need to use lowercase identifiers as those are what the noir interface expects.
100
+ /* eslint-disable camelcase */ return {
101
+ npk_m_hash: this.npkMHash,
102
+ ivpk_m: this.ivpkM.toWrappedNoirStruct(),
103
+ ovpk_m_hash: this.ovpkMHash,
104
+ tpk_m_hash: this.tpkMHash
105
105
  };
106
- }
106
+ /* eslint-enable camelcase */ }
107
107
  /**
108
- * Serializes the payload to an array of fields
109
- * @returns The fields of the payload
108
+ * Wire-format fields matching Noir's struct flattening of `PublicKeys`:
109
+ * `[npk_m_hash, ivpk_m.x, ivpk_m.y, ivpk_m.is_infinite, ovpk_m_hash, tpk_m_hash]` (6 fields).
110
+ *
111
+ * The `is_infinite` slot is `0` for `ivpkM` produced by `deriveKeys` (fixed-base scalar
112
+ * multiplication on Grumpkin cannot reach infinity for a non-zero scalar, and Poseidon-derived
113
+ * scalars are non-zero with cryptographically negligible exception). External flows that
114
+ * import pre-derived keys are responsible for maintaining this invariant (see the AZIP-8
115
+ * migration note "Security note (PXE side)"). The slot stays on the wire because the Noir
116
+ * struct's `Point` still carries the flag. AZIP-8's "drop `is_infinite`" goal applies to the
117
+ * address-derivation hash (via `hash_public_key`, computed elsewhere), not to the
118
+ * contract-call args wire.
119
+ * TODO(F-553): drop the `is_infinite` slot once `Point` no longer carries the flag.
110
120
  */ toFields() {
111
121
  return [
112
- ...this.masterNullifierPublicKey.toFields(),
113
- ...this.masterIncomingViewingPublicKey.toFields(),
114
- ...this.masterOutgoingViewingPublicKey.toFields(),
115
- ...this.masterTaggingPublicKey.toFields()
122
+ this.npkMHash,
123
+ this.ivpkM.x,
124
+ this.ivpkM.y,
125
+ new Fr(this.ivpkM.isInfinite ? 1 : 0),
126
+ this.ovpkMHash,
127
+ this.tpkMHash
116
128
  ];
117
129
  }
118
- // TOOD: This is used in foundation/src/abi/encoder. This is probably non-optimal but I did not want
119
- // to spend too much time on the encoder now. It probably needs a refactor.
130
+ // Used in foundation/src/abi/encoder. Probably non-optimal but the encoder needs a refactor.
120
131
  encodeToNoir() {
121
132
  return this.toFields();
122
133
  }
123
134
  static fromFields(fields) {
124
135
  const reader = FieldReader.asReader(fields);
125
- return new PublicKeys(reader.readObject(Point), reader.readObject(Point), reader.readObject(Point), reader.readObject(Point));
136
+ const npkMHash = reader.readField();
137
+ const ivpkMX = reader.readField();
138
+ const ivpkMY = reader.readField();
139
+ const ivpkMIsInfinite = reader.readBoolean();
140
+ const ovpkMHash = reader.readField();
141
+ const tpkMHash = reader.readField();
142
+ return new PublicKeys(npkMHash, new Point(ivpkMX, ivpkMY, ivpkMIsInfinite), ovpkMHash, tpkMHash);
126
143
  }
127
144
  toString() {
128
145
  return bufferToHex(this.toBuffer());
@@ -307,6 +307,7 @@ export declare function makePublicKeys(seed?: number): Promise<PublicKeys>;
307
307
  export declare function makeContractInstanceFromClassId(classId: Fr, seed?: number, overrides?: {
308
308
  deployer?: AztecAddress;
309
309
  initializationHash?: Fr;
310
+ immutablesHash?: Fr;
310
311
  publicKeys?: PublicKeys;
311
312
  currentClassId?: Fr;
312
313
  }): Promise<ContractInstanceWithAddress>;
@@ -393,4 +394,4 @@ export declare function randomTxScopedPublicL2Log(opts?: {
393
394
  */
394
395
  export declare function makeL2Tips(blockNumber: number | BlockNumber, hash?: string, checkpointNumber?: number | CheckpointNumber, checkpointHash?: string): L2Tips;
395
396
  export declare function randomExtendedDirectionalAppTaggingSecret(): Promise<ExtendedDirectionalAppTaggingSecret>;
396
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yaWVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdHMvZmFjdG9yaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJDQSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFjLE1BQU0saUNBQWlDLENBQUM7QUFJNUYsT0FBTyxFQUFNLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBdUIsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN6RixPQUFPLEVBR0wsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFFaEIsdUJBQXVCLEVBQ3ZCLG9CQUFvQixFQUNwQixpQ0FBaUMsRUFDakMsaUNBQWlDLEVBQ2pDLGlDQUFpQyxFQUNqQyx1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIsbUNBQW1DLEVBQ25DLG9DQUFvQyxFQUNwQyxtQkFBbUIsRUFDbkIsNEJBQTRCLEVBQzVCLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsb0NBQW9DLEVBQ3BDLHFDQUFxQyxFQUNyQyxTQUFTLEVBQ1YsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixP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
397
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yaWVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdHMvZmFjdG9yaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJDQSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFjLE1BQU0saUNBQWlDLENBQUM7QUFJNUYsT0FBTyxFQUFNLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBdUIsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN6RixPQUFPLEVBR0wsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFFaEIsdUJBQXVCLEVBQ3ZCLG9CQUFvQixFQUNwQixpQ0FBaUMsRUFDakMsaUNBQWlDLEVBQ2pDLGlDQUFpQyxFQUNqQyx1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIsbUNBQW1DLEVBQ25DLG9DQUFvQyxFQUNwQyxtQkFBbUIsRUFDbkIsNEJBQTRCLEVBQzVCLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsb0NBQW9DLEVBQ3BDLHFDQUFxQyxFQUNyQyxTQUFTLEVBQ1YsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixP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
@@ -1 +1 @@
1
- {"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../src/tests/factories.ts"],"names":[],"mappings":"AA2CA,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAc,MAAM,iCAAiC,CAAC;AAI5F,OAAO,EAAM,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAGL,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAEhB,uBAAuB,EACvB,oBAAoB,EACpB,iCAAiC,EACjC,iCAAiC,EACjC,iCAAiC,EACjC,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,mCAAmC,EACnC,oCAAoC,EACpC,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,oCAAoC,EACpC,qCAAqC,EACrC,SAAS,EACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EACL,KAAK,mBAAmB,EACxB,sBAAsB,EACtB,KAAK,2BAA2B,EAMjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAW,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAK5D,OAAO,EAIL,oCAAoC,EAGpC,8BAA8B,EAC9B,wCAAwC,EACxC,8BAA8B,EAC/B,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAExF,OAAO,EAAE,wCAAwC,EAAE,MAAM,6DAA6D,CAAC;AACvH,OAAO,EAEL,iBAAiB,EACjB,6BAA6B,EAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,mCAAmC,EAAE,MAAM,oDAAoD,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAA0B,MAAM,kBAAkB,CAAC;AAG5E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAwB,aAAa,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5G,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAuB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EACL,iCAAiC,EACjC,oCAAoC,EACrC,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAgB,MAAM,8CAA8C,CAAC;AAE1G,OAAO,EAAE,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AACtG,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACpG,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,uBAAuB,EAAuB,MAAM,4BAA4B,CAAC;AA0C1F;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAU,GAAG,SAAS,CAGzD;AAED;;GAEG;AACH,wBAAgB,eAAe,gBAE9B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAE3D;AAwBD,wBAAgB,mBAAmB,CAAC,IAAI,SAAI,mBAE3C;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,SAAI,GAAG,cAAc,CAE3D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,cAAc,CAExD;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,SAAI,GAAG,4BAA4B,CAEvF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,SAAI,GAAG,mBAAmB,CAErE;AAqBD;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,IAAI,SAAI,EACR,EACE,aAAsC,EACtC,aAAqC,EACrC,iBAA4C,EAC5C,cAAwC,EACxC,oBAAqD,EACtD,GAAE;IACD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC1B,GACL,8BAA8B,CAoBhC;AAED,wBAAgB,kCAAkC,CAChD,IAAI,SAAI,EACR,EACE,aAAsC,EACtC,aAAqC,EACrC,iBAA4C,EAC5C,cAAwC,EACxC,oBAAqD,EACrD,gBAA4C,EAC7C,GAAE;IACD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACtB,kCA4BP;AA4BD,wBAAgB,OAAO,CAAC,IAAI,SAAI,OAK/B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,SAAI,EAAE,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAM,GAAG,WAAW,CAQrG;AAED;;;;GAIG;AACH,wBAAgB,wCAAwC,CACtD,IAAI,SAAI,EACR,WAAW,UAAO,GACjB,oCAAoC,CAmBtC;AAED,wBAAgB,4CAA4C,CAAC,IAAI,SAAI,4CAUpE;AAED,wBAAgB,mCAAmC,CAAC,IAAI,SAAI,mCAE3D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,SAAI,qBAE7C;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,CAAC,IAAI,SAAI,GAAG,wCAAwC,CAQ/G;AAiCD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAEpG;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CAEjF;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,SAAI,GAAG,KAAK,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,SAAI,GAAG,cAAc,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,SAAI,SAEjC;AAMD,wBAAgB,qBAAqB,CAAC,IAAI,SAAI,qBAE7C;AAED,wBAAgB,iCAAiC,CAAC,IAAI,SAAI,iCAEzD;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,SAAI,GAAG,SAAS,CAQjD;AAWD;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,SAAI,GAAG,0BAA0B,CA0CnF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,SAAI,EAAE,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAM,GAAG,eAAe,CAYjH;AAUD;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,SAAI,GAAG,sBAAsB,CAI3E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,SAAI,GAAG,UAAU,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,SAAK,EAAE,IAAI,SAAI,GAAG,MAAM,CAErD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,SAAI,GAAG,YAAY,CAEvD;AA+BD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,SAAI,EACR,eAAe,GAAE,eAAe,GAAG,SAAqB,GACvD,oBAAoB,CAYtB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,SAAI,GAAG,uBAAuB,CAgB7E;AAED,wBAAgB,gCAAgC,CAAC,IAAI,SAAI,gCAaxD;AAED,wBAAgB,sBAAsB,CAAC,IAAI,SAAI,GAAG,kBAAkB,CAOnE;AAED,wBAAgB,2BAA2B,CAAC,IAAI,SAAI,GAAG,uBAAuB,CAM7E;AAED,wBAAgB,2BAA2B,CAAC,IAAI,SAAI,2BAInD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,SAAI,GAAG,sBAAsB,CAU3E;AAED,wBAAgB,eAAe,CAC7B,IAAI,SAAI,EACR,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAM,GAC3G,WAAW,CAUb;AAED,wBAAgB,oBAAoB,CAAC,IAAI,SAAI,EAAE,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAM,oBAejG;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,SAAI,GAAG,cAAc,CAK3D;AAWD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,SAAI,GAAG,aAAa,CAKzD;AAMD,wBAAgB,uBAAuB,CAAC,IAAI,SAAI,uBAE/C;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,SAAI,GAAG,qBAAqB,CAMzE;AAED,wBAAgB,8BAA8B,CAAC,IAAI,SAAI,GAAG,0BAA0B,CAKnF;AAED,wBAAgB,qCAAqC,CAAC,IAAI,SAAI,qCAQ7D;AAED,wBAAgB,wCAAwC,CAAC,IAAI,SAAI,wCAKhE;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,SAAI,iCAKzD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,SAAI,GAAG,kBAAkB,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,SAAI,GAAG,aAAa,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,SAAI,GAAG,qBAAqB,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,SAAI,GAAG,0BAA0B,CAEnF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,SAAI,GAAG,qBAAqB,CAgCzE;AAMD,wBAAgB,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,YAAY,SAAS,MAAM,EAC7E,IAAI,oBAAI,EACR,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,EACrC,SAAS,GAAE,YAAwE,8BAOpF;AAiDD,wBAAgB,oCAAoC,CAAC,IAAI,SAAI,oCAK5D;AAED,wBAAgB,mCAAmC,CAAC,IAAI,SAAI,mCAkB3D;AAED,wBAAsB,uBAAuB,CAAC,IAAI,SAAI,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAa7G;AAUD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,EAAE,MAAM,SAAI,OAE5E;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,SAAI,yBAM1F;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,EAAE,MAAM,SAAI,aAEhG;AAED,wBAAsB,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,SAAI,+BAEpH;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,SAAI,kBAElF;AAED,wBAAsB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,SAAI,2BAEtG;AAED,wBAAsB,cAAc,CAAC,IAAI,SAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAIlE;AAED,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,EAAE,EACX,IAAI,SAAI,EACR,SAAS,CAAC,EAAE;IACV,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,kBAAkB,CAAC,EAAE,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,cAAc,CAAC,EAAE,EAAE,CAAC;CACrB,GACA,OAAO,CAAC,2BAA2B,CAAC,CAsBtC;AAED,wBAAgB,yBAAyB,CAAC,IAAI,SAAI,GAAG,qBAAqB,CASzE;AAED,wBAAgB,gCAAgC,CAAC,IAAI,SAAI,GAAG,4BAA4B,CAWvF;AAED,wBAAgB,wCAAwC,CAAC,IAAI,SAAI,GAAG,oCAAoC,CAQvG;AAED,wBAAgB,uCAAuC,CAAC,IAAI,SAAI,GAAG,mCAAmC,CAQrG;AAED,wBAAgB,uBAAuB,CAAC,IAAI,SAAI,GAAG,mBAAmB,CASrE;AAED,wBAAgB,yCAAyC,CAAC,IAAI,SAAI,GAAG,qCAAqC,CAoBzG;AAED,wBAAgB,wCAAwC,CAAC,IAAI,SAAI,GAAG,oCAAoC,CAoBvG;AAED,wBAAgB,uBAAuB,CAAC,IAAI,SAAI,GAAG,mBAAmB,CAQrE;AAED,wBAAgB,2CAA2C,CAAC,IAAI,SAAI,GAAG,uBAAuB,CAM7F;AAED,wBAAgB,2CAA2C,CAAC,IAAI,SAAI,GAAG,uBAAuB,CAM7F;AAED,wBAAgB,2CAA2C,CAAC,IAAI,SAAI,GAAG,uBAAuB,CAQ7F;AAED,wBAAgB,qDAAqD,CAAC,IAAI,SAAI,GAAG,iCAAiC,CAMjH;AAED,wBAAgB,qDAAqD,CAAC,IAAI,SAAI,GAAG,iCAAiC,CAMjH;AAED,wBAAgB,qDAAqD,CAAC,IAAI,SAAI,GAAG,iCAAiC,CAMjH;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,SAAI,GAAG,uBAAuB,CAgB7E;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,SAAI,GAAG,wBAAwB,CAE/E;AAMD,wBAAgB,wBAAwB,CAAC,IAAI,SAAI,GAAG,oBAAoB,CAGvE;AAED,wBAAsB,6BAA6B,CAAC,IAAI,SAAI,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAIhG;AAED,wBAAsB,iCAAiC,CAAC,IAAI,SAAI,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAUxG;AAED,wBAAgB,oBAAoB,CAAC,IAAI,SAAI,GAAG,gBAAgB,CAE/D;AAED,wBAAgB,0BAA0B,CAAC,IAAI,SAAI,GAAG,sBAAsB,CAI3E;AAED,wBAAsB,aAAa,CAAC,IAAI,SAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAuBhE;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,SAAI,EACR,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAM,GACnD,OAAO,CAAC,iBAAiB,CAAC,CA+E5B;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,SAAI,EACR,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAM,GAClD,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED;;;;;GAKG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,EAAE,CAEhC;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,CAAC,EAAE;IAChD,GAAG,CAAC,EAAE,EAAE,CAAC;IACT,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,EAAE,CAAC;CACrB,iBAUA;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,CAAC,EAAE;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,EAAE,CAAC;CACrB,0BAUA;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,WAAW,EAAE,MAAM,GAAG,WAAW,EACjC,IAAI,SAAK,EACT,gBAAgB,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAC5C,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CA4BR;AAED,wBAAsB,yCAAyC,IAAI,OAAO,CAAC,mCAAmC,CAAC,CAM9G"}
1
+ {"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../src/tests/factories.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ import { PrivateCircuitPublicInputs } from '../kernel/private_circuit_public_inp
31
31
  import { PrivateLogData } from '../kernel/private_log_data.js';
32
32
  import { PrivateToRollupKernelCircuitPublicInputs } from '../kernel/private_to_rollup_kernel_circuit_public_inputs.js';
33
33
  import { CountedPublicCallRequest, PublicCallRequest, PublicCallRequestArrayLengths } from '../kernel/public_call_request.js';
34
- import { PublicKeys, computeAddress } from '../keys/index.js';
34
+ import { PublicKeys, computeAddress, hashPublicKey } from '../keys/index.js';
35
35
  import { ExtendedDirectionalAppTaggingSecret } from '../logs/extended_directional_app_tagging_secret.js';
36
36
  import { ContractClassLog, ContractClassLogFields } from '../logs/index.js';
37
37
  import { PrivateLog } from '../logs/private_log.js';
@@ -138,7 +138,7 @@ function makeScopedReadRequest(n) {
138
138
  * @param seed - The seed to use for generating the KeyValidationRequest.
139
139
  * @returns A KeyValidationRequest.
140
140
  */ function makeKeyValidationRequests(seed) {
141
- return new KeyValidationRequest(makePoint(seed), fr(seed + 2));
141
+ return new KeyValidationRequest(fr(seed), fr(seed + 2));
142
142
  }
143
143
  /**
144
144
  * Creates arbitrary KeyValidationRequestAndSeparator from the given seed.
@@ -673,27 +673,31 @@ export async function makeMapAsync(size, fn, offset = 0) {
673
673
  }
674
674
  export async function makePublicKeys(seed = 0) {
675
675
  const f = (offset)=>Grumpkin.mul(Grumpkin.generator, new Fq(seed + offset));
676
- return new PublicKeys(await f(0), await f(1), await f(2), await f(3));
676
+ const ivpkM = await f(1);
677
+ return new PublicKeys(await hashPublicKey(await f(0)), ivpkM, await hashPublicKey(await f(2)), await hashPublicKey(await f(3)));
677
678
  }
678
679
  export async function makeContractInstanceFromClassId(classId, seed = 0, overrides) {
679
680
  const salt = new Fr(seed);
680
681
  const initializationHash = overrides?.initializationHash ?? new Fr(seed + 1);
681
682
  const deployer = overrides?.deployer ?? new AztecAddress(new Fr(seed + 2));
682
683
  const publicKeys = overrides?.publicKeys ?? await makePublicKeys(seed + 3);
684
+ const immutablesHash = overrides?.immutablesHash ?? new Fr(seed + 4);
683
685
  const partialAddress = await computePartialAddress({
684
686
  originalContractClassId: classId,
685
687
  salt,
686
688
  initializationHash,
689
+ immutablesHash,
687
690
  deployer
688
691
  });
689
692
  const address = await computeAddress(publicKeys, partialAddress);
690
693
  return new SerializableContractInstance({
691
- version: 1,
694
+ version: 2,
692
695
  salt,
693
696
  deployer,
694
697
  currentContractClassId: overrides?.currentClassId ?? classId,
695
698
  originalContractClassId: classId,
696
699
  initializationHash,
700
+ immutablesHash,
697
701
  publicKeys
698
702
  }).withAddress(address);
699
703
  }
@@ -776,7 +780,7 @@ export function makeAvmContractDbCheckpointActionRevertCheckpointHint(seed = 0)
776
780
  * @param seed - The seed to use for generating the state reference.
777
781
  * @returns AvmContractInstanceHint.
778
782
  */ export function makeAvmContractInstanceHint(seed = 0) {
779
- return new AvmContractInstanceHint(seed, new AztecAddress(new Fr(seed)), new Fr(seed + 0x2), new AztecAddress(new Fr(seed + 0x3)), new Fr(seed + 0x4), new Fr(seed + 0x5), new Fr(seed + 0x6), new PublicKeys(new Point(new Fr(seed + 0x7), new Fr(seed + 0x8), false), new Point(new Fr(seed + 0x9), new Fr(seed + 0x10), false), new Point(new Fr(seed + 0x11), new Fr(seed + 0x12), false), new Point(new Fr(seed + 0x13), new Fr(seed + 0x14), false)));
783
+ return new AvmContractInstanceHint(seed, new AztecAddress(new Fr(seed)), new Fr(seed + 0x2), new AztecAddress(new Fr(seed + 0x3)), new Fr(seed + 0x4), new Fr(seed + 0x5), new Fr(seed + 0x6), new Fr(seed + 0x7), new PublicKeys(new Fr(seed + 0x7), new Point(new Fr(seed + 0x9), new Fr(seed + 0x10), false), new Fr(seed + 0x11), new Fr(seed + 0x13)));
780
784
  }
781
785
  /**
782
786
  * Makes arbitrary AvmDebugFunctionNameHint.