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

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 (49) 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/avm/message_pack.js +12 -3
  7. package/dest/contract/complete_address.d.ts +2 -1
  8. package/dest/contract/complete_address.d.ts.map +1 -1
  9. package/dest/contract/complete_address.js +6 -2
  10. package/dest/contract/contract_address.d.ts +5 -5
  11. package/dest/contract/contract_address.d.ts.map +1 -1
  12. package/dest/contract/contract_address.js +4 -3
  13. package/dest/contract/contract_instance.d.ts +4 -2
  14. package/dest/contract/contract_instance.d.ts.map +1 -1
  15. package/dest/contract/contract_instance.js +10 -3
  16. package/dest/contract/interfaces/contract_instance.d.ts +24 -20
  17. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  18. package/dest/contract/interfaces/contract_instance.js +4 -2
  19. package/dest/interfaces/proving-job.d.ts +11 -9
  20. package/dest/interfaces/proving-job.d.ts.map +1 -1
  21. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  22. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  23. package/dest/kernel/hints/key_validation_request.js +20 -18
  24. package/dest/keys/derivation.d.ts +6 -2
  25. package/dest/keys/derivation.d.ts.map +1 -1
  26. package/dest/keys/derivation.js +12 -5
  27. package/dest/keys/public_key.d.ts +22 -3
  28. package/dest/keys/public_key.d.ts.map +1 -1
  29. package/dest/keys/public_key.js +20 -1
  30. package/dest/keys/public_keys.d.ts +37 -69
  31. package/dest/keys/public_keys.d.ts.map +1 -1
  32. package/dest/keys/public_keys.js +77 -74
  33. package/dest/tests/factories.d.ts +2 -1
  34. package/dest/tests/factories.d.ts.map +1 -1
  35. package/dest/tests/factories.js +10 -6
  36. package/dest/tx/simulated_tx.d.ts +17 -13
  37. package/dest/tx/simulated_tx.d.ts.map +1 -1
  38. package/package.json +8 -8
  39. package/src/avm/avm.ts +5 -0
  40. package/src/avm/message_pack.ts +12 -3
  41. package/src/contract/complete_address.ts +7 -3
  42. package/src/contract/contract_address.ts +5 -5
  43. package/src/contract/contract_instance.ts +11 -2
  44. package/src/contract/interfaces/contract_instance.ts +6 -2
  45. package/src/kernel/hints/key_validation_request.ts +18 -16
  46. package/src/keys/derivation.ts +15 -8
  47. package/src/keys/public_key.ts +26 -2
  48. package/src/keys/public_keys.ts +80 -116
  49. package/src/tests/factories.ts +20 -10
@@ -5,7 +5,7 @@ import { AztecAddress } from '../aztec-address/index.js';
5
5
  import { getContractClassFromArtifact } from '../contract/contract_class.js';
6
6
  import { PublicKeys } from '../keys/public_keys.js';
7
7
  import { computeContractAddressFromInstance, computeInitializationHash, computeInitializationHashFromEncodedArgs } from './contract_address.js';
8
- const VERSION = 1;
8
+ const VERSION = 2;
9
9
  export class SerializableContractInstance {
10
10
  version = VERSION;
11
11
  salt;
@@ -13,6 +13,7 @@ export class SerializableContractInstance {
13
13
  currentContractClassId;
14
14
  originalContractClassId;
15
15
  initializationHash;
16
+ immutablesHash;
16
17
  publicKeys;
17
18
  constructor(instance){
18
19
  if (instance.version !== VERSION) {
@@ -23,10 +24,11 @@ export class SerializableContractInstance {
23
24
  this.currentContractClassId = instance.currentContractClassId;
24
25
  this.originalContractClassId = instance.originalContractClassId;
25
26
  this.initializationHash = instance.initializationHash;
27
+ this.immutablesHash = instance.immutablesHash;
26
28
  this.publicKeys = instance.publicKeys;
27
29
  }
28
30
  toBuffer() {
29
- return serializeToBuffer(numToUInt8(this.version), this.salt, this.deployer, this.currentContractClassId, this.originalContractClassId, this.initializationHash, this.publicKeys);
31
+ return serializeToBuffer(numToUInt8(this.version), this.salt, this.deployer, this.currentContractClassId, this.originalContractClassId, this.initializationHash, this.immutablesHash, this.publicKeys);
30
32
  }
31
33
  /** Returns a copy of this object with its address included. */ withAddress(address) {
32
34
  return {
@@ -43,6 +45,7 @@ export class SerializableContractInstance {
43
45
  currentContractClassId: reader.readObject(Fr),
44
46
  originalContractClassId: reader.readObject(Fr),
45
47
  initializationHash: reader.readObject(Fr),
48
+ immutablesHash: reader.readObject(Fr),
46
49
  publicKeys: reader.readObject(PublicKeys)
47
50
  });
48
51
  }
@@ -54,6 +57,7 @@ export class SerializableContractInstance {
54
57
  currentContractClassId: Fr.random(),
55
58
  originalContractClassId: Fr.random(),
56
59
  initializationHash: Fr.random(),
60
+ immutablesHash: Fr.random(),
57
61
  publicKeys: await PublicKeys.random(),
58
62
  ...opts
59
63
  });
@@ -66,6 +70,7 @@ export class SerializableContractInstance {
66
70
  currentContractClassId: Fr.zero(),
67
71
  originalContractClassId: Fr.zero(),
68
72
  initializationHash: Fr.zero(),
73
+ immutablesHash: Fr.zero(),
69
74
  publicKeys: PublicKeys.default()
70
75
  });
71
76
  }
@@ -82,14 +87,16 @@ export class SerializableContractInstance {
82
87
  const contractClass = await getContractClassFromArtifact(artifact);
83
88
  const initializationHash = constructorArtifact && opts?.skipArgsDecoding ? await computeInitializationHashFromEncodedArgs(await FunctionSelector.fromNameAndParameters(constructorArtifact?.name, constructorArtifact?.parameters), args) : await computeInitializationHash(constructorArtifact, args);
84
89
  const publicKeys = opts.publicKeys ?? PublicKeys.default();
90
+ const immutablesHash = opts.immutablesHash ?? Fr.ZERO;
85
91
  const instance = {
86
92
  currentContractClassId: contractClass.id,
87
93
  originalContractClassId: contractClass.id,
88
94
  initializationHash,
95
+ immutablesHash,
89
96
  publicKeys,
90
97
  salt: opts.salt,
91
98
  deployer,
92
- version: 1
99
+ version: 2
93
100
  };
94
101
  return {
95
102
  ...instance,
@@ -2,7 +2,7 @@ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { z } from 'zod';
3
3
  import { AztecAddress } from '../../aztec-address/index.js';
4
4
  import { PublicKeys } from '../../keys/public_keys.js';
5
- declare const VERSION: 1;
5
+ declare const VERSION: 2;
6
6
  /**
7
7
  * A contract instance is a concrete deployment of a contract class. It always references a contract class,
8
8
  * which dictates what code it executes when called. It has state (both private and public), as well as an
@@ -21,6 +21,8 @@ export interface ContractInstance {
21
21
  originalContractClassId: Fr;
22
22
  /** Hash of the selector and arguments to the constructor. */
23
23
  initializationHash: Fr;
24
+ /** Hash of Immutables Values the contract is deployed with. */
25
+ immutablesHash: Fr;
24
26
  /** Public keys associated with this instance. */
25
27
  publicKeys: PublicKeys;
26
28
  }
@@ -28,41 +30,43 @@ export type ContractInstanceWithAddress = ContractInstance & {
28
30
  address: AztecAddress;
29
31
  };
30
32
  export declare const ContractInstanceSchema: z.ZodObject<{
31
- version: z.ZodLiteral<1>;
33
+ version: z.ZodLiteral<2>;
32
34
  salt: import("../../schemas/index.js").ZodFor<Fr>;
33
35
  deployer: import("../../schemas/index.js").ZodFor<AztecAddress>;
34
36
  currentContractClassId: import("../../schemas/index.js").ZodFor<Fr>;
35
37
  originalContractClassId: import("../../schemas/index.js").ZodFor<Fr>;
36
38
  initializationHash: import("../../schemas/index.js").ZodFor<Fr>;
39
+ immutablesHash: import("../../schemas/index.js").ZodFor<Fr>;
37
40
  publicKeys: z.ZodPipe<z.ZodObject<{
38
- masterNullifierPublicKey: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
39
- masterIncomingViewingPublicKey: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
40
- masterOutgoingViewingPublicKey: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
41
- masterTaggingPublicKey: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
41
+ npkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
42
+ ivpkM: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
43
+ ovpkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
44
+ tpkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
42
45
  }, z.core.$strip>, z.ZodTransform<PublicKeys, {
43
- masterNullifierPublicKey: import("@aztec/foundation/schemas").Point;
44
- masterIncomingViewingPublicKey: import("@aztec/foundation/schemas").Point;
45
- masterOutgoingViewingPublicKey: import("@aztec/foundation/schemas").Point;
46
- masterTaggingPublicKey: import("@aztec/foundation/schemas").Point;
46
+ npkMHash: Fr;
47
+ ivpkM: import("@aztec/foundation/schemas").Point;
48
+ ovpkMHash: Fr;
49
+ tpkMHash: Fr;
47
50
  }>>;
48
51
  }, z.core.$strip>;
49
52
  export declare const ContractInstanceWithAddressSchema: z.ZodIntersection<z.ZodObject<{
50
- version: z.ZodLiteral<1>;
53
+ version: z.ZodLiteral<2>;
51
54
  salt: import("../../schemas/index.js").ZodFor<Fr>;
52
55
  deployer: import("../../schemas/index.js").ZodFor<AztecAddress>;
53
56
  currentContractClassId: import("../../schemas/index.js").ZodFor<Fr>;
54
57
  originalContractClassId: import("../../schemas/index.js").ZodFor<Fr>;
55
58
  initializationHash: import("../../schemas/index.js").ZodFor<Fr>;
59
+ immutablesHash: import("../../schemas/index.js").ZodFor<Fr>;
56
60
  publicKeys: z.ZodPipe<z.ZodObject<{
57
- masterNullifierPublicKey: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
58
- masterIncomingViewingPublicKey: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
59
- masterOutgoingViewingPublicKey: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
60
- masterTaggingPublicKey: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
61
+ npkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
62
+ ivpkM: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
63
+ ovpkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
64
+ tpkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
61
65
  }, z.core.$strip>, z.ZodTransform<PublicKeys, {
62
- masterNullifierPublicKey: import("@aztec/foundation/schemas").Point;
63
- masterIncomingViewingPublicKey: import("@aztec/foundation/schemas").Point;
64
- masterOutgoingViewingPublicKey: import("@aztec/foundation/schemas").Point;
65
- masterTaggingPublicKey: import("@aztec/foundation/schemas").Point;
66
+ npkMHash: Fr;
67
+ ivpkM: import("@aztec/foundation/schemas").Point;
68
+ ovpkMHash: Fr;
69
+ tpkMHash: Fr;
66
70
  }>>;
67
71
  }, z.core.$strip>, z.ZodObject<{
68
72
  address: import("../../schemas/index.js").ZodFor<AztecAddress>;
@@ -78,4 +82,4 @@ export declare function contractInstanceFromPlainObject(obj: any): ContractInsta
78
82
  */
79
83
  export declare function contractInstanceWithAddressFromPlainObject(address: AztecAddress, obj: any): ContractInstanceWithAddress;
80
84
  export {};
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdC9pbnRlcmZhY2VzL2NvbnRyYWN0X2luc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHdkQsUUFBQSxNQUFNLE9BQU8sR0FBYSxDQUFDO0FBRTNCOzs7O0dBSUc7QUFDSCxNQUFNLFdBQVcsZ0JBQWdCO0lBQy9CLGlHQUFpRztJQUNqRyxPQUFPLEVBQUUsT0FBTyxPQUFPLENBQUM7SUFDeEIsd0RBQXdEO0lBQ3hELElBQUksRUFBRSxFQUFFLENBQUM7SUFDVCx3RUFBd0U7SUFDeEUsUUFBUSxFQUFFLFlBQVksQ0FBQztJQUN2QiwwREFBMEQ7SUFDMUQsc0JBQXNCLEVBQUUsRUFBRSxDQUFDO0lBQzNCLGtGQUFrRjtJQUNsRix1QkFBdUIsRUFBRSxFQUFFLENBQUM7SUFDNUIsNkRBQTZEO0lBQzdELGtCQUFrQixFQUFFLEVBQUUsQ0FBQztJQUN2QixpREFBaUQ7SUFDakQsVUFBVSxFQUFFLFVBQVUsQ0FBQztDQUN4QjtBQUVELE1BQU0sTUFBTSwyQkFBMkIsR0FBRyxnQkFBZ0IsR0FBRztJQUFFLE9BQU8sRUFBRSxZQUFZLENBQUE7Q0FBRSxDQUFDO0FBRXZGLGVBQU8sTUFBTSxzQkFBc0I7Ozs7Ozs7Ozs7Ozs7Ozs7OztpQkFVbEMsQ0FBQztBQUVGLGVBQU8sTUFBTSxpQ0FBaUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQUU3QyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsd0JBQWdCLCtCQUErQixDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsZ0JBQWdCLENBVTFFO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLDBDQUEwQyxDQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUNyQixHQUFHLEVBQUUsR0FBRyxHQUNQLDJCQUEyQixDQUs3QiJ9
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdC9pbnRlcmZhY2VzL2NvbnRyYWN0X2luc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHdkQsUUFBQSxNQUFNLE9BQU8sR0FBYSxDQUFDO0FBRTNCOzs7O0dBSUc7QUFDSCxNQUFNLFdBQVcsZ0JBQWdCO0lBQy9CLGlHQUFpRztJQUNqRyxPQUFPLEVBQUUsT0FBTyxPQUFPLENBQUM7SUFDeEIsd0RBQXdEO0lBQ3hELElBQUksRUFBRSxFQUFFLENBQUM7SUFDVCx3RUFBd0U7SUFDeEUsUUFBUSxFQUFFLFlBQVksQ0FBQztJQUN2QiwwREFBMEQ7SUFDMUQsc0JBQXNCLEVBQUUsRUFBRSxDQUFDO0lBQzNCLGtGQUFrRjtJQUNsRix1QkFBdUIsRUFBRSxFQUFFLENBQUM7SUFDNUIsNkRBQTZEO0lBQzdELGtCQUFrQixFQUFFLEVBQUUsQ0FBQztJQUN2QiwrREFBK0Q7SUFDL0QsY0FBYyxFQUFFLEVBQUUsQ0FBQztJQUNuQixpREFBaUQ7SUFDakQsVUFBVSxFQUFFLFVBQVUsQ0FBQztDQUN4QjtBQUVELE1BQU0sTUFBTSwyQkFBMkIsR0FBRyxnQkFBZ0IsR0FBRztJQUFFLE9BQU8sRUFBRSxZQUFZLENBQUE7Q0FBRSxDQUFDO0FBRXZGLGVBQU8sTUFBTSxzQkFBc0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUJBV2xDLENBQUM7QUFFRixlQUFPLE1BQU0saUNBQWlDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBRTdDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCx3QkFBZ0IsK0JBQStCLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxnQkFBZ0IsQ0FXMUU7QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0IsMENBQTBDLENBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQ3JCLEdBQUcsRUFBRSxHQUFHLEdBQ1AsMkJBQTJCLENBSzdCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"contract_instance.d.ts","sourceRoot":"","sources":["../../../src/contract/interfaces/contract_instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,QAAA,MAAM,OAAO,GAAa,CAAC;AAE3B;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iGAAiG;IACjG,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,wDAAwD;IACxD,IAAI,EAAE,EAAE,CAAC;IACT,wEAAwE;IACxE,QAAQ,EAAE,YAAY,CAAC;IACvB,0DAA0D;IAC1D,sBAAsB,EAAE,EAAE,CAAC;IAC3B,kFAAkF;IAClF,uBAAuB,EAAE,EAAE,CAAC;IAC5B,6DAA6D;IAC7D,kBAAkB,EAAE,EAAE,CAAC;IACvB,iDAAiD;IACjD,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC;AAEvF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;iBAUlC,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;kBAE7C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,GAAG,GAAG,gBAAgB,CAU1E;AAED;;;GAGG;AACH,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,GAAG,GACP,2BAA2B,CAK7B"}
1
+ {"version":3,"file":"contract_instance.d.ts","sourceRoot":"","sources":["../../../src/contract/interfaces/contract_instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,QAAA,MAAM,OAAO,GAAa,CAAC;AAE3B;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iGAAiG;IACjG,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,wDAAwD;IACxD,IAAI,EAAE,EAAE,CAAC;IACT,wEAAwE;IACxE,QAAQ,EAAE,YAAY,CAAC;IACvB,0DAA0D;IAC1D,sBAAsB,EAAE,EAAE,CAAC;IAC3B,kFAAkF;IAClF,uBAAuB,EAAE,EAAE,CAAC;IAC5B,6DAA6D;IAC7D,kBAAkB,EAAE,EAAE,CAAC;IACvB,+DAA+D;IAC/D,cAAc,EAAE,EAAE,CAAC;IACnB,iDAAiD;IACjD,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC;AAEvF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;iBAWlC,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;kBAE7C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,GAAG,GAAG,gBAAgB,CAW1E;AAED;;;GAGG;AACH,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,GAAG,GACP,2BAA2B,CAK7B"}
@@ -3,7 +3,7 @@ import { z } from 'zod';
3
3
  import { AztecAddress } from '../../aztec-address/index.js';
4
4
  import { PublicKeys } from '../../keys/public_keys.js';
5
5
  import { schemas, zodFor } from '../../schemas/index.js';
6
- const VERSION = 1;
6
+ const VERSION = 2;
7
7
  export const ContractInstanceSchema = zodFor()(z.object({
8
8
  version: z.literal(VERSION),
9
9
  salt: schemas.Fr,
@@ -11,6 +11,7 @@ export const ContractInstanceSchema = zodFor()(z.object({
11
11
  currentContractClassId: schemas.Fr,
12
12
  originalContractClassId: schemas.Fr,
13
13
  initializationHash: schemas.Fr,
14
+ immutablesHash: schemas.Fr,
14
15
  publicKeys: PublicKeys.schema
15
16
  }));
16
17
  export const ContractInstanceWithAddressSchema = zodFor()(ContractInstanceSchema.and(z.object({
@@ -21,12 +22,13 @@ export const ContractInstanceWithAddressSchema = zodFor()(ContractInstanceSchema
21
22
  * Suitable for deserializing trusted data (e.g., from C++ via MessagePack).
22
23
  */ export function contractInstanceFromPlainObject(obj) {
23
24
  return {
24
- version: 1,
25
+ version: 2,
25
26
  salt: Fr.fromPlainObject(obj.salt),
26
27
  deployer: AztecAddress.fromPlainObject(obj.deployer),
27
28
  currentContractClassId: Fr.fromPlainObject(obj.currentContractClassId),
28
29
  originalContractClassId: Fr.fromPlainObject(obj.originalContractClassId),
29
30
  initializationHash: Fr.fromPlainObject(obj.initializationHash),
31
+ immutablesHash: Fr.fromPlainObject(obj.immutablesHash),
30
32
  publicKeys: PublicKeys.fromPlainObject(obj.publicKeys)
31
33
  };
32
34
  }
@@ -237,16 +237,17 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<[z.ZodObject<{
237
237
  currentContractClassId: ZodFor<import("@aztec/foundation/schemas").Fr>;
238
238
  originalContractClassId: ZodFor<import("@aztec/foundation/schemas").Fr>;
239
239
  initializationHash: ZodFor<import("@aztec/foundation/schemas").Fr>;
240
+ immutablesHash: ZodFor<import("@aztec/foundation/schemas").Fr>;
240
241
  publicKeys: z.ZodPipe<z.ZodObject<{
241
- masterNullifierPublicKey: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
242
- masterIncomingViewingPublicKey: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
243
- masterOutgoingViewingPublicKey: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
244
- masterTaggingPublicKey: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
242
+ npkMHash: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
243
+ ivpkM: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
244
+ ovpkMHash: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
245
+ tpkMHash: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
245
246
  }, z.core.$strip>, z.ZodTransform<import("../keys/public_keys.js").PublicKeys, {
246
- masterNullifierPublicKey: import("@aztec/foundation/schemas").Point;
247
- masterIncomingViewingPublicKey: import("@aztec/foundation/schemas").Point;
248
- masterOutgoingViewingPublicKey: import("@aztec/foundation/schemas").Point;
249
- masterTaggingPublicKey: import("@aztec/foundation/schemas").Point;
247
+ npkMHash: import("@aztec/foundation/schemas").Fr;
248
+ ivpkM: import("@aztec/foundation/schemas").Point;
249
+ ovpkMHash: import("@aztec/foundation/schemas").Fr;
250
+ tpkMHash: import("@aztec/foundation/schemas").Fr;
250
251
  }>>;
251
252
  }, z.core.$strip>, z.ZodTransform<import("../avm/avm.js").AvmContractInstanceHint, {
252
253
  hintKey: number;
@@ -256,6 +257,7 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<[z.ZodObject<{
256
257
  currentContractClassId: import("@aztec/foundation/schemas").Fr;
257
258
  originalContractClassId: import("@aztec/foundation/schemas").Fr;
258
259
  initializationHash: import("@aztec/foundation/schemas").Fr;
260
+ immutablesHash: import("@aztec/foundation/schemas").Fr;
259
261
  publicKeys: import("../keys/public_keys.js").PublicKeys;
260
262
  }>>>;
261
263
  contractClasses: z.ZodArray<z.ZodPipe<z.ZodObject<{
@@ -1493,4 +1495,4 @@ export declare const ProvingJobStatus: z.ZodDiscriminatedUnion<[z.ZodObject<{
1493
1495
  }, z.core.$strip>], "status">;
1494
1496
  export type ProvingJobStatus = z.infer<typeof ProvingJobStatus>;
1495
1497
  export {};
1496
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZy1qb2IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcmZhY2VzL3Byb3Zpbmctam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxvQ0FBb0MsRUFDcEMsNkJBQTZCLEVBQzdCLHlDQUF5QyxFQUN6QyxzQkFBc0IsRUFDdkIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsV0FBVyxFQUFxQixNQUFNLGlDQUFpQyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXhELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLGlDQUFpQyxFQUNqQyw0QkFBNEIsRUFDNUIseUNBQXlDLEVBQ3pDLG9DQUFvQyxFQUNyQyxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzVGLE9BQU8s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
1498
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZy1qb2IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcmZhY2VzL3Byb3Zpbmctam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxvQ0FBb0MsRUFDcEMsNkJBQTZCLEVBQzdCLHlDQUF5QyxFQUN6QyxzQkFBc0IsRUFDdkIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsV0FBVyxFQUFxQixNQUFNLGlDQUFpQyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXhELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLGlDQUFpQyxFQUNqQyw0QkFBNEIsRUFDNUIseUNBQXlDLEVBQ3pDLG9DQUFvQyxFQUNyQyxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzVGLE9BQU8s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
@@ -1 +1 @@
1
- {"version":3,"file":"proving-job.d.ts","sourceRoot":"","sources":["../../src/interfaces/proving-job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proving-job.d.ts","sourceRoot":"","sources":["../../src/interfaces/proving-job.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,EACpC,6BAA6B,EAC7B,yCAAyC,EACzC,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,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,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EACL,wCAAwC,EACxC,iCAAiC,EACjC,4BAA4B,EAC5B,yCAAyC,EACzC,oCAAoC,EACrC,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,kCAAkC,EAAE,MAAM,qDAAqD,CAAC;AACzG,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EACL,oCAAoC,EACpC,iCAAiC,EACjC,4CAA4C,EAC7C,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AACtG,OAAO,EAAE,gCAAgC,EAAE,MAAM,mDAAmD,CAAC;AACrG,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACpG,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,MAAM,IAAI;IACtD,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACzB,eAAe,EAAE,mBAAmB,CAAC;CACtC,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,MAAM,EAC1D,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EACxB,eAAe,EAAE,mBAAmB,GACnC,uBAAuB,CAAC,CAAC,CAAC,CAE5B;AAED,MAAM,MAAM,6BAA6B,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,OAAO,6BAA6B,IAAI;IACtG,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACzB,eAAe,EAAE,mBAAmB,CAAC;CACtC,CAAC;AAaF,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,OAAO,6BAA6B,EAC1G,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EACxB,eAAe,EAAE,mBAAmB,GACnC,6BAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAErC;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAoD3B,CAAC;AAEH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,kBAAkB,osBA2ClE;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACjD,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,EAAE,gCAAgC,CAAC;IAC7E,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,EAAE,gCAAgC,CAAC;IAC9E,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,EAAE,+BAA+B,CAAC;IAC5E,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,0BAA0B,CAAC;IACjE,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,EAAE,iCAAiC,CAAC;IAChF,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,EAAE,yCAAyC,CAAC;IAClG,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,EAAE,wCAAwC,CAAC;IAChG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,4BAA4B,CAAC;IACrE,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,EAAE,oCAAoC,CAAC;IACvF,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE,6BAA6B,CAAC;IACvE,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,EAAE,iCAAiC,CAAC;IAC/E,CAAC,kBAAkB,CAAC,mCAAmC,CAAC,EAAE,4CAA4C,CAAC;IACvG,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,EAAE,oCAAoC,CAAC;IACrF,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,EAAE,kCAAkC,CAAC;IACjF,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,uBAAuB,CAAC;IAC1D,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,uBAAuB,CAAC;IAC1D,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,uBAAuB,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAmH3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAChE,MAAM,MAAM,oBAAoB,GAAG;IACjC,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,OAAO,oCAAoC,CAAC,CAAC;IAC5F,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,EAAE,6BAA6B,CACvE,+BAA+B,EAC/B,OAAO,yCAAyC,CACjD,CAAC;IACF,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,EAAE,6BAA6B,CACxE,oBAAoB,EACpB,OAAO,yCAAyC,CACjD,CAAC;IACF,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,EAAE,6BAA6B,CACvE,oBAAoB,EACpB,OAAO,yCAAyC,CACjD,CAAC;IACF,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,6BAA6B,CACjE,oBAAoB,EACpB,OAAO,yCAAyC,CACjD,CAAC;IACF,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,EAAE,6BAA6B,CACzE,uBAAuB,EACvB,OAAO,yCAAyC,CACjD,CAAC;IACF,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,EAAE,6BAA6B,CACnF,uBAAuB,EACvB,OAAO,yCAAyC,CACjD,CAAC;IACF,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,EAAE,6BAA6B,CAClF,uBAAuB,EACvB,OAAO,yCAAyC,CACjD,CAAC;IACF,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,6BAA6B,CACnE,uBAAuB,EACvB,OAAO,yCAAyC,CACjD,CAAC;IACF,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,EAAE,6BAA6B,CAC7E,uBAAuB,EACvB,OAAO,yCAAyC,CACjD,CAAC;IACF,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE,6BAA6B,CACpE,uBAAuB,EACvB,OAAO,yCAAyC,CACjD,CAAC;IACF,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,EAAE,6BAA6B,CACxE,4BAA4B,EAC5B,OAAO,yCAAyC,CACjD,CAAC;IACF,CAAC,kBAAkB,CAAC,mCAAmC,CAAC,EAAE,6BAA6B,CACrF,4BAA4B,EAC5B,OAAO,yCAAyC,CACjD,CAAC;IACF,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,EAAE,6BAA6B,CAC3E,4BAA4B,EAC5B,OAAO,yCAAyC,CACjD,CAAC;IACF,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,EAAE,6BAA6B,CACzE,4BAA4B,EAC5B,OAAO,yCAAyC,CACjD,CAAC;IACF,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,6BAA6B,CAAC,sBAAsB,CAAC,CAAC;IACxF,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,6BAA6B,CAAC,kBAAkB,EAAE,OAAO,sBAAsB,CAAC,CAAC;IACnH,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,6BAA6B,CAC7D,kBAAkB,EAClB,OAAO,6BAA6B,CACrC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,kBAAkB,IAAI;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAEjH,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAC1D,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAoD,CAAC;AAE3F,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,KAAK,eAAe,GAAG;IACrB,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAKrD,CAAC;AAEH,eAAO,MAAM,gBAAgB,oFAE5B,CAAC;AAEF,eAAO,MAAM,wBAAwB,6BAOpC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GACjC,gBAAgB,CAElB;AAED,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAElF,eAAO,MAAM,wBAAwB;;;iBAGnC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEhF,eAAO,MAAM,uBAAuB;;;;;;6BAGlC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;6BAM3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -1,17 +1,21 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { GrumpkinScalar, Point } from '@aztec/foundation/curves/grumpkin';
2
+ import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
3
3
  import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
4
4
  /**
5
5
  * Request for validating keys used in the app.
6
+ *
7
+ * The master public key is exposed only as `pkMHash` (its `hashPublicKey` digest).
8
+ * The kernel reset circuit derives the corresponding point from the master secret key hint and
9
+ * asserts that its hash matches `pkMHash`.
6
10
  */
7
11
  export declare class KeyValidationRequest {
8
- /** Master public key corresponding to the same underlying secret as app secret key below. */
9
- readonly pkM: Point;
10
- /** App-siloed secret key corresponding to the same underlying secret as master public key above. */
12
+ /** Hash of the master public key corresponding to the same underlying secret as `skApp`. */
13
+ readonly pkMHash: Fr;
14
+ /** App-siloed secret key corresponding to the same underlying secret as `pkMHash`. */
11
15
  readonly skApp: Fr;
12
16
  constructor(
13
- /** Master public key corresponding to the same underlying secret as app secret key below. */
14
- pkM: Point, skApp: Fr | GrumpkinScalar);
17
+ /** Hash of the master public key corresponding to the same underlying secret as `skApp`. */
18
+ pkMHash: Fr, skApp: Fr | GrumpkinScalar);
15
19
  toBuffer(): Buffer<ArrayBufferLike>;
16
20
  get skAppAsGrumpkinScalar(): import("@aztec/foundation/curves/bn254").Fq;
17
21
  static fromBuffer(buffer: Buffer | BufferReader): KeyValidationRequest;
@@ -19,6 +23,6 @@ export declare class KeyValidationRequest {
19
23
  static fromFields(fields: Fr[] | FieldReader): KeyValidationRequest;
20
24
  isEmpty(): boolean;
21
25
  static empty(): KeyValidationRequest;
22
- static random(): Promise<KeyValidationRequest>;
26
+ static random(): KeyValidationRequest;
23
27
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5X3ZhbGlkYXRpb25fcmVxdWVzdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2tlcm5lbC9oaW50cy9rZXlfdmFsaWRhdGlvbl9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTNGOztHQUVHO0FBQ0gscUJBQWEsb0JBQW9CO0lBSzdCLDZGQUE2RjthQUM3RSxHQUFHLEVBQUUsS0FBSztJQUw1QixvR0FBb0c7SUFDcEcsU0FBZ0IsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUUxQjtJQUNFLDZGQUE2RjtJQUM3RSxHQUFHLEVBQUUsS0FBSyxFQUMxQixLQUFLLEVBQUUsRUFBRSxHQUFHLGNBQWMsRUFPM0I7SUFFRCxRQUFRLDRCQUVQO0lBRUQsSUFBSSxxQkFBcUIsZ0RBRXhCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksd0JBRzlDO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQVFmO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxHQUFHLG9CQUFvQixDQUdsRTtJQUVELE9BQU8sWUFFTjtJQUVELE1BQU0sQ0FBQyxLQUFLLHlCQUVYO0lBRUQsT0FBYSxNQUFNLGtDQUVsQjtDQUNGIn0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5X3ZhbGlkYXRpb25fcmVxdWVzdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2tlcm5lbC9oaW50cy9rZXlfdmFsaWRhdGlvbl9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFM0Y7Ozs7OztHQU1HO0FBQ0gscUJBQWEsb0JBQW9CO0lBSzdCLDRGQUE0RjthQUM1RSxPQUFPLEVBQUUsRUFBRTtJQUw3QixzRkFBc0Y7SUFDdEYsU0FBZ0IsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUUxQjtJQUNFLDRGQUE0RjtJQUM1RSxPQUFPLEVBQUUsRUFBRSxFQUMzQixLQUFLLEVBQUUsRUFBRSxHQUFHLGNBQWMsRUFLM0I7SUFFRCxRQUFRLDRCQUVQO0lBRUQsSUFBSSxxQkFBcUIsZ0RBRXhCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksd0JBRzlDO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQVFmO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxHQUFHLG9CQUFvQixDQUdsRTtJQUVELE9BQU8sWUFFTjtJQUVELE1BQU0sQ0FBQyxLQUFLLHlCQUVYO0lBRUQsTUFBTSxDQUFDLE1BQU0seUJBRVo7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"key_validation_request.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/key_validation_request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F;;GAEG;AACH,qBAAa,oBAAoB;IAK7B,6FAA6F;aAC7E,GAAG,EAAE,KAAK;IAL5B,oGAAoG;IACpG,SAAgB,KAAK,EAAE,EAAE,CAAC;IAE1B;IACE,6FAA6F;IAC7E,GAAG,EAAE,KAAK,EAC1B,KAAK,EAAE,EAAE,GAAG,cAAc,EAO3B;IAED,QAAQ,4BAEP;IAED,IAAI,qBAAqB,gDAExB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,wBAG9C;IAED,QAAQ,IAAI,EAAE,EAAE,CAQf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,oBAAoB,CAGlE;IAED,OAAO,YAEN;IAED,MAAM,CAAC,KAAK,yBAEX;IAED,OAAa,MAAM,kCAElB;CACF"}
1
+ {"version":3,"file":"key_validation_request.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/key_validation_request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAK7B,4FAA4F;aAC5E,OAAO,EAAE,EAAE;IAL7B,sFAAsF;IACtF,SAAgB,KAAK,EAAE,EAAE,CAAC;IAE1B;IACE,4FAA4F;IAC5E,OAAO,EAAE,EAAE,EAC3B,KAAK,EAAE,EAAE,GAAG,cAAc,EAK3B;IAED,QAAQ,4BAEP;IAED,IAAI,qBAAqB,gDAExB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,wBAG9C;IAED,QAAQ,IAAI,EAAE,EAAE,CAQf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,oBAAoB,CAGlE;IAED,OAAO,YAEN;IAED,MAAM,CAAC,KAAK,yBAEX;IAED,MAAM,CAAC,MAAM,yBAEZ;CACF"}
@@ -1,35 +1,37 @@
1
1
  import { KEY_VALIDATION_REQUEST_LENGTH } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
- import { GrumpkinScalar, Point } from '@aztec/foundation/curves/grumpkin';
3
+ import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
4
4
  import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
  /**
6
6
  * Request for validating keys used in the app.
7
+ *
8
+ * The master public key is exposed only as `pkMHash` (its `hashPublicKey` digest).
9
+ * The kernel reset circuit derives the corresponding point from the master secret key hint and
10
+ * asserts that its hash matches `pkMHash`.
7
11
  */ export class KeyValidationRequest {
8
- pkM;
9
- /** App-siloed secret key corresponding to the same underlying secret as master public key above. */ skApp;
10
- constructor(/** Master public key corresponding to the same underlying secret as app secret key below. */ pkM, skApp){
11
- this.pkM = pkM;
12
- // I am doing this conversion here because in some places skApp is represented as GrumpkinScalar (Fq).
13
- // I can do this conversion even though Fq.MODULUS is larger than Fr.MODULUS because when we pass in
14
- // the skApp as GrumpkinScalar it was converted to that form from Fr. So, it is safe to convert it back
15
- // to Fr. If this would change in the future the code below will throw an error so it should be easy to debug.
12
+ pkMHash;
13
+ /** App-siloed secret key corresponding to the same underlying secret as `pkMHash`. */ skApp;
14
+ constructor(/** Hash of the master public key corresponding to the same underlying secret as `skApp`. */ pkMHash, skApp){
15
+ this.pkMHash = pkMHash;
16
+ // skApp may arrive as a GrumpkinScalar (Fq) in some code paths; safe to truncate to Fr because
17
+ // the value originally came from an Fr poseidon hash and was widened to GrumpkinScalar.
16
18
  this.skApp = skApp instanceof Fr ? skApp : new Fr(skApp.toBigInt());
17
19
  }
18
20
  toBuffer() {
19
- return serializeToBuffer(this.pkM, this.skApp);
21
+ return serializeToBuffer(this.pkMHash, this.skApp);
20
22
  }
21
23
  get skAppAsGrumpkinScalar() {
22
24
  return new GrumpkinScalar(this.skApp.toBigInt());
23
25
  }
24
26
  static fromBuffer(buffer) {
25
27
  const reader = BufferReader.asReader(buffer);
26
- return new KeyValidationRequest(Point.fromBuffer(reader), Fr.fromBuffer(reader));
28
+ return new KeyValidationRequest(Fr.fromBuffer(reader), Fr.fromBuffer(reader));
27
29
  }
28
30
  toFields() {
29
31
  const fields = [
30
- this.pkM.toFields(),
32
+ this.pkMHash,
31
33
  this.skApp
32
- ].flat();
34
+ ];
33
35
  if (fields.length !== KEY_VALIDATION_REQUEST_LENGTH) {
34
36
  throw new Error(`Invalid number of fields for KeyValidationRequest. Expected ${KEY_VALIDATION_REQUEST_LENGTH}, got ${fields.length}`);
35
37
  }
@@ -37,15 +39,15 @@ import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/
37
39
  }
38
40
  static fromFields(fields) {
39
41
  const reader = FieldReader.asReader(fields);
40
- return new KeyValidationRequest(Point.fromFields(reader), reader.readField());
42
+ return new KeyValidationRequest(reader.readField(), reader.readField());
41
43
  }
42
44
  isEmpty() {
43
- return this.pkM.isZero() && this.skApp.isZero();
45
+ return this.pkMHash.isZero() && this.skApp.isZero();
44
46
  }
45
47
  static empty() {
46
- return new KeyValidationRequest(Point.ZERO, Fr.ZERO);
48
+ return new KeyValidationRequest(Fr.ZERO, Fr.ZERO);
47
49
  }
48
- static async random() {
49
- return new KeyValidationRequest(await Point.random(), Fr.random());
50
+ static random() {
51
+ return new KeyValidationRequest(Fr.random(), Fr.random());
50
52
  }
51
53
  }
@@ -2,6 +2,7 @@ import { Fq, Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
3
3
  import { AztecAddress } from '../aztec-address/index.js';
4
4
  import type { KeyPrefix } from './key_types.js';
5
+ import { PublicKey } from './public_key.js';
5
6
  import { PublicKeys } from './public_keys.js';
6
7
  export declare function computeAppNullifierHidingKey(masterNullifierHidingKey: GrumpkinScalar, app: AztecAddress): Promise<Fr>;
7
8
  export declare function computeAppSecretKey(skM: GrumpkinScalar, app: AztecAddress, keyPrefix: KeyPrefix): Promise<Fr>;
@@ -13,7 +14,7 @@ export declare function deriveSigningKey(secretKey: Fr): GrumpkinScalar;
13
14
  export declare function computePreaddress(publicKeysHash: Fr, partialAddress: Fr): Promise<Fr>;
14
15
  export declare function computeAddress(publicKeys: PublicKeys, partialAddress: Fr): Promise<AztecAddress>;
15
16
  export declare function computeAddressSecret(preaddress: Fr, ivsk: Fq): Promise<Fq>;
16
- export declare function derivePublicKeyFromSecretKey(secretKey: Fq): Promise<import("@aztec/foundation/curves/grumpkin").Point>;
17
+ export declare function derivePublicKeyFromSecretKey(secretKey: Fq): Promise<PublicKey>;
17
18
  /**
18
19
  * Computes secret and public keys and public keys hash from a secret key.
19
20
  * @param secretKey - The secret key to derive keys from.
@@ -24,6 +25,9 @@ export declare function deriveKeys(secretKey: Fr): Promise<{
24
25
  masterIncomingViewingSecretKey: Fq;
25
26
  masterOutgoingViewingSecretKey: Fq;
26
27
  masterTaggingSecretKey: Fq;
28
+ masterNullifierPublicKey: import("@aztec/foundation/curves/grumpkin").Point;
29
+ masterOutgoingViewingPublicKey: import("@aztec/foundation/curves/grumpkin").Point;
30
+ masterTaggingPublicKey: import("@aztec/foundation/curves/grumpkin").Point;
27
31
  publicKeys: PublicKeys;
28
32
  }>;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVyaXZhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tleXMvZGVyaXZhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzlDLHdCQUFnQiw0QkFBNEIsQ0FBQyx3QkFBd0IsRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBRXJIO0FBRUQsd0JBQWdCLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FHN0c7QUFFRCx3QkFBc0IsY0FBYyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBS3pGO0FBRUQsd0JBQWdCLDhCQUE4QixDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsY0FBYyxDQUU1RTtBQUVELHdCQUFnQixvQ0FBb0MsQ0FBQyxTQUFTLEVBQUUsRUFBRSxHQUFHLGNBQWMsQ0FFbEY7QUFFRCx3QkFBZ0Isb0NBQW9DLENBQUMsU0FBUyxFQUFFLEVBQUUsR0FBRyxjQUFjLENBRWxGO0FBRUQsd0JBQWdCLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsY0FBYyxDQUc5RDtBQUVELHdCQUFnQixpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxFQUFFLGVBRXZFO0FBRUQsd0JBQXNCLGNBQWMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQVl0RztBQUVELHdCQUFzQixvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLGVBb0JsRTtBQUVELHdCQUFnQiw0QkFBNEIsQ0FBQyxTQUFTLEVBQUUsRUFBRSw4REFFekQ7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQXNCLFVBQVUsQ0FBQyxTQUFTLEVBQUUsRUFBRTs7Ozs7O0dBNkI3QyJ9
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVyaXZhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tleXMvZGVyaXZhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHOUMsd0JBQWdCLDRCQUE0QixDQUFDLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFckg7QUFFRCx3QkFBZ0IsbUJBQW1CLENBQUMsR0FBRyxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUc3RztBQUVELHdCQUFzQixjQUFjLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FLekY7QUFFRCx3QkFBZ0IsOEJBQThCLENBQUMsU0FBUyxFQUFFLEVBQUUsR0FBRyxjQUFjLENBRTVFO0FBRUQsd0JBQWdCLG9DQUFvQyxDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsY0FBYyxDQUVsRjtBQUVELHdCQUFnQixvQ0FBb0MsQ0FBQyxTQUFTLEVBQUUsRUFBRSxHQUFHLGNBQWMsQ0FFbEY7QUFFRCx3QkFBZ0IsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEVBQUUsR0FBRyxjQUFjLENBRzlEO0FBRUQsd0JBQWdCLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLEVBQUUsZUFFdkU7QUFFRCx3QkFBc0IsY0FBYyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBWXRHO0FBRUQsd0JBQXNCLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsZUFvQmxFO0FBRUQsd0JBQWdCLDRCQUE0QixDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUU5RTtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBc0IsVUFBVSxDQUFDLFNBQVMsRUFBRSxFQUFFOzs7Ozs7Ozs7R0FtQzdDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"derivation.d.ts","sourceRoot":"","sources":["../../src/keys/derivation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,wBAAgB,4BAA4B,CAAC,wBAAwB,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAErH;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,CAG7G;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAKzF;AAED,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAE5E;AAED,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAElF;AAED,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAElF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAG9D;AAED,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,eAEvE;AAED,wBAAsB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAYtG;AAED,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,eAoBlE;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,EAAE,8DAEzD;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,EAAE;;;;;;GA6B7C"}
1
+ {"version":3,"file":"derivation.d.ts","sourceRoot":"","sources":["../../src/keys/derivation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,wBAAgB,4BAA4B,CAAC,wBAAwB,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAErH;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,CAG7G;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAKzF;AAED,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAE5E;AAED,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAElF;AAED,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAElF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAG9D;AAED,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,eAEvE;AAED,wBAAsB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAYtG;AAED,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,eAoBlE;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAE9E;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,EAAE;;;;;;;;;GAmC7C"}
@@ -5,6 +5,7 @@ import { sha512ToGrumpkinScalar } from '@aztec/foundation/crypto/sha512';
5
5
  import { Fq, Fr } from '@aztec/foundation/curves/bn254';
6
6
  import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
7
7
  import { AztecAddress } from '../aztec-address/index.js';
8
+ import { hashPublicKey } from './public_key.js';
8
9
  import { PublicKeys } from './public_keys.js';
9
10
  import { getKeyGenerator } from './utils.js';
10
11
  export function computeAppNullifierHidingKey(masterNullifierHidingKey, app) {
@@ -53,15 +54,15 @@ export function computePreaddress(publicKeysHash, partialAddress) {
53
54
  return poseidon2HashWithSeparator([
54
55
  publicKeysHash,
55
56
  partialAddress
56
- ], DomainSeparator.CONTRACT_ADDRESS_V1);
57
+ ], DomainSeparator.CONTRACT_ADDRESS_V2);
57
58
  }
58
59
  export async function computeAddress(publicKeys, partialAddress) {
59
60
  // Given public keys and a partial address, we can compute our address in the following steps.
60
- // 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V1);
61
+ // 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V2);
61
62
  // 2. addressPoint = (preaddress * G) + ivpk_m
62
63
  // 3. address = addressPoint.x
63
64
  const preaddress = await computePreaddress(await publicKeys.hash(), partialAddress);
64
- const address = await Grumpkin.add(await derivePublicKeyFromSecretKey(new Fq(preaddress.toBigInt())), publicKeys.masterIncomingViewingPublicKey);
65
+ const address = await Grumpkin.add(await derivePublicKeyFromSecretKey(new Fq(preaddress.toBigInt())), publicKeys.ivpkM);
65
66
  return new AztecAddress(address.x);
66
67
  }
67
68
  export async function computeAddressSecret(preaddress, ivsk) {
@@ -105,13 +106,19 @@ export function derivePublicKeyFromSecretKey(secretKey) {
105
106
  const masterIncomingViewingPublicKey = await derivePublicKeyFromSecretKey(masterIncomingViewingSecretKey);
106
107
  const masterOutgoingViewingPublicKey = await derivePublicKeyFromSecretKey(masterOutgoingViewingSecretKey);
107
108
  const masterTaggingPublicKey = await derivePublicKeyFromSecretKey(masterTaggingSecretKey);
108
- // We hash the public keys to get the public keys hash
109
- const publicKeys = new PublicKeys(masterNullifierPublicKey, masterIncomingViewingPublicKey, masterOutgoingViewingPublicKey, masterTaggingPublicKey);
109
+ // The non-owner-visible PublicKeys carries hashes for npk/ovpk/tpk and the raw
110
+ // point only for ivpk_m. The npk/ovpk/tpk raw points are also returned alongside so the key
111
+ // store can persist them under `${account}-{n|ov|t}pk_m` (only their hashes live in publicKeys).
112
+ // The ivpk_m point isn't returned separately because it already lives in publicKeys.ivpkM.
113
+ const publicKeys = new PublicKeys(await hashPublicKey(masterNullifierPublicKey), masterIncomingViewingPublicKey, await hashPublicKey(masterOutgoingViewingPublicKey), await hashPublicKey(masterTaggingPublicKey));
110
114
  return {
111
115
  masterNullifierHidingKey,
112
116
  masterIncomingViewingSecretKey,
113
117
  masterOutgoingViewingSecretKey,
114
118
  masterTaggingSecretKey,
119
+ masterNullifierPublicKey,
120
+ masterOutgoingViewingPublicKey,
121
+ masterTaggingPublicKey,
115
122
  publicKeys
116
123
  };
117
124
  }
@@ -1,4 +1,23 @@
1
- import type { Point } from '@aztec/foundation/curves/grumpkin';
2
- /** Represents a user public key. */
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { Point } from '@aztec/foundation/curves/grumpkin';
3
+ /**
4
+ * Hashes a public key.
5
+ *
6
+ * Mirrors Noir's `hash_public_key` in `noir-protocol-circuits/crates/types/src/public_keys.nr`:
7
+ * `Poseidon2(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, [pk.x, pk.y])`.
8
+ *
9
+ * This is distinct from Noir's generic `Hash` impl for `EmbeddedCurvePoint` (`noir_stdlib/src/embedded_curve_ops.nr`),
10
+ * which simply absorbs `x` then `y` into a `Hasher` state with no domain separator. That generic impl is unsuitable
11
+ * for hashing keys at the protocol boundary, where the domain separator is required to prevent collisions with hashes
12
+ * of other Grumpkin points (e.g. note commitments, nullifiers).
13
+ */
14
+ export declare function hashPublicKey(pk: PublicKey): Promise<Fr>;
15
+ /**
16
+ * Represents a user public key.
17
+ *
18
+ * Structurally identical to a Grumpkin `Point`; exposed as a distinct name so call sites read as "public key" where
19
+ * that's the domain meaning.
20
+ */
3
21
  export type PublicKey = Point;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tleS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tleXMvcHVibGljX2tleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUvRCxvQ0FBb0M7QUFDcEMsTUFBTSxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMifQ==
22
+ export declare const PublicKey: typeof Point;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tleS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tleXMvcHVibGljX2tleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTFEOzs7Ozs7Ozs7O0dBVUc7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLEVBQUUsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUV4RDtBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUM7QUFDOUIsZUFBTyxNQUFNLFNBQVMsY0FBUSxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"public_key.d.ts","sourceRoot":"","sources":["../../src/keys/public_key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE/D,oCAAoC;AACpC,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"public_key.d.ts","sourceRoot":"","sources":["../../src/keys/public_key.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,CAExD;AAED;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC;AAC9B,eAAO,MAAM,SAAS,cAAQ,CAAC"}
@@ -1 +1,20 @@
1
- /** Represents a user public key. */ export { };
1
+ import { DomainSeparator } from '@aztec/constants';
2
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
+ import { Point } from '@aztec/foundation/curves/grumpkin';
4
+ /**
5
+ * Hashes a public key.
6
+ *
7
+ * Mirrors Noir's `hash_public_key` in `noir-protocol-circuits/crates/types/src/public_keys.nr`:
8
+ * `Poseidon2(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, [pk.x, pk.y])`.
9
+ *
10
+ * This is distinct from Noir's generic `Hash` impl for `EmbeddedCurvePoint` (`noir_stdlib/src/embedded_curve_ops.nr`),
11
+ * which simply absorbs `x` then `y` into a `Hasher` state with no domain separator. That generic impl is unsuitable
12
+ * for hashing keys at the protocol boundary, where the domain separator is required to prevent collisions with hashes
13
+ * of other Grumpkin points (e.g. note commitments, nullifiers).
14
+ */ export function hashPublicKey(pk) {
15
+ return poseidon2HashWithSeparator([
16
+ pk.x,
17
+ pk.y
18
+ ], DomainSeparator.SINGLE_PUBLIC_KEY_HASH);
19
+ }
20
+ export const PublicKey = Point;