@aztec/protocol-contracts 0.0.1-commit.c2eed6949 → 0.0.1-commit.c52d6e7

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 (71) hide show
  1. package/artifacts/ContractClassRegistry.json +2815 -2607
  2. package/artifacts/ContractInstanceRegistry.json +3946 -4115
  3. package/artifacts/FeeJuice.json +5575 -5403
  4. package/dest/class-registry/contract_class_published_event.d.ts +1 -1
  5. package/dest/class-registry/contract_class_published_event.d.ts.map +1 -1
  6. package/dest/class-registry/contract_class_published_event.js +8 -2
  7. package/dest/class-registry/lazy.js +1 -1
  8. package/dest/fee-juice/lazy.js +1 -1
  9. package/dest/instance-registry/contract_instance_published_event.d.ts +3 -2
  10. package/dest/instance-registry/contract_instance_published_event.d.ts.map +1 -1
  11. package/dest/instance-registry/contract_instance_published_event.js +7 -3
  12. package/dest/instance-registry/lazy.js +1 -1
  13. package/dest/make_protocol_contract.d.ts +1 -1
  14. package/dest/make_protocol_contract.d.ts.map +1 -1
  15. package/dest/make_protocol_contract.js +3 -1
  16. package/dest/protocol_contract.d.ts +4 -1
  17. package/dest/protocol_contract.d.ts.map +1 -1
  18. package/dest/protocol_contract.js +5 -1
  19. package/dest/protocol_contract_data.d.ts +2 -5
  20. package/dest/protocol_contract_data.d.ts.map +1 -1
  21. package/dest/protocol_contract_data.js +38 -84
  22. package/dest/provider/bundle.d.ts +1 -1
  23. package/dest/provider/bundle.d.ts.map +1 -1
  24. package/dest/provider/bundle.js +1 -7
  25. package/dest/provider/lazy.d.ts +1 -1
  26. package/dest/provider/lazy.d.ts.map +1 -1
  27. package/dest/provider/lazy.js +0 -9
  28. package/dest/scripts/generate_data.js +12 -13
  29. package/dest/tests/fixtures.js +2 -2
  30. package/package.json +5 -4
  31. package/src/class-registry/contract_class_published_event.ts +7 -2
  32. package/src/class-registry/lazy.ts +1 -1
  33. package/src/fee-juice/lazy.ts +1 -1
  34. package/src/instance-registry/contract_instance_published_event.ts +5 -1
  35. package/src/instance-registry/lazy.ts +1 -1
  36. package/src/make_protocol_contract.ts +3 -1
  37. package/src/protocol_contract.ts +9 -1
  38. package/src/protocol_contract_data.ts +39 -75
  39. package/src/provider/bundle.ts +0 -6
  40. package/src/provider/lazy.ts +0 -9
  41. package/src/tests/fixtures.ts +2 -2
  42. package/artifacts/AuthRegistry.d.json.ts +0 -5
  43. package/artifacts/AuthRegistry.json +0 -7955
  44. package/artifacts/MultiCallEntrypoint.d.json.ts +0 -5
  45. package/artifacts/MultiCallEntrypoint.json +0 -6221
  46. package/artifacts/PublicChecks.d.json.ts +0 -5
  47. package/artifacts/PublicChecks.json +0 -4468
  48. package/dest/auth-registry/index.d.ts +0 -6
  49. package/dest/auth-registry/index.d.ts.map +0 -1
  50. package/dest/auth-registry/index.js +0 -13
  51. package/dest/auth-registry/lazy.d.ts +0 -6
  52. package/dest/auth-registry/lazy.d.ts.map +0 -1
  53. package/dest/auth-registry/lazy.js +0 -23
  54. package/dest/multi-call-entrypoint/index.d.ts +0 -5
  55. package/dest/multi-call-entrypoint/index.d.ts.map +0 -1
  56. package/dest/multi-call-entrypoint/index.js +0 -13
  57. package/dest/multi-call-entrypoint/lazy.d.ts +0 -6
  58. package/dest/multi-call-entrypoint/lazy.d.ts.map +0 -1
  59. package/dest/multi-call-entrypoint/lazy.js +0 -23
  60. package/dest/public-checks/index.d.ts +0 -5
  61. package/dest/public-checks/index.d.ts.map +0 -1
  62. package/dest/public-checks/index.js +0 -13
  63. package/dest/public-checks/lazy.d.ts +0 -6
  64. package/dest/public-checks/lazy.d.ts.map +0 -1
  65. package/dest/public-checks/lazy.js +0 -23
  66. package/src/auth-registry/index.ts +0 -18
  67. package/src/auth-registry/lazy.ts +0 -29
  68. package/src/multi-call-entrypoint/index.ts +0 -18
  69. package/src/multi-call-entrypoint/lazy.ts +0 -29
  70. package/src/public-checks/index.ts +0 -18
  71. package/src/public-checks/lazy.ts +0 -29
@@ -17,4 +17,4 @@ export declare class ContractClassPublishedEvent {
17
17
  toContractClassPublicWithBytecodeCommitment(): Promise<ContractClassPublicWithCommitment>;
18
18
  static extractContractClassEvents(logs: ContractClassLog[]): ContractClassPublishedEvent[];
19
19
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3NfcHVibGlzaGVkX2V2ZW50LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xhc3MtcmVnaXN0cnkvY29udHJhY3RfY2xhc3NfcHVibGlzaGVkX2V2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdwRCxPQUFPLEVBQ0wsS0FBSyxtQkFBbUIsRUFDeEIsS0FBSyxpQ0FBaUMsRUFFdkMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSTNELG9EQUFvRDtBQUNwRCxxQkFBYSwyQkFBMkI7YUFFcEIsZUFBZSxFQUFFLEVBQUU7YUFDbkIsT0FBTyxFQUFFLE1BQU07YUFDZixZQUFZLEVBQUUsRUFBRTthQUNoQixvQkFBb0IsRUFBRSxFQUFFO2FBQ3hCLG9CQUFvQixFQUFFLE1BQU07SUFMOUMsWUFDa0IsZUFBZSxFQUFFLEVBQUUsRUFDbkIsT0FBTyxFQUFFLE1BQU0sRUFDZixZQUFZLEVBQUUsRUFBRSxFQUNoQixvQkFBb0IsRUFBRSxFQUFFLEVBQ3hCLG9CQUFvQixFQUFFLE1BQU0sRUFDMUM7SUFFSixNQUFNLENBQUMsNkJBQTZCLENBQUMsR0FBRyxFQUFFLGdCQUFnQixXQUt6RDtJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLGdCQUFnQiwrQkFpQm5DO0lBRUQsdUdBQXVHO0lBQ3ZHLHFCQUFxQixJQUFJLG1CQUFtQixDQVEzQztJQUVELHVGQUF1RjtJQUNqRiwyQ0FBMkMsSUFBSSxPQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FHOUY7SUFFRCxPQUFjLDBCQUEwQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLDJCQUEyQixFQUFFLENBSWhHO0NBQ0YifQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3NfcHVibGlzaGVkX2V2ZW50LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xhc3MtcmVnaXN0cnkvY29udHJhY3RfY2xhc3NfcHVibGlzaGVkX2V2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdwRCxPQUFPLEVBQ0wsS0FBSyxtQkFBbUIsRUFDeEIsS0FBSyxpQ0FBaUMsRUFFdkMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSTNELG9EQUFvRDtBQUNwRCxxQkFBYSwyQkFBMkI7YUFFcEIsZUFBZSxFQUFFLEVBQUU7YUFDbkIsT0FBTyxFQUFFLE1BQU07YUFDZixZQUFZLEVBQUUsRUFBRTthQUNoQixvQkFBb0IsRUFBRSxFQUFFO2FBQ3hCLG9CQUFvQixFQUFFLE1BQU07SUFMOUMsWUFDa0IsZUFBZSxFQUFFLEVBQUUsRUFDbkIsT0FBTyxFQUFFLE1BQU0sRUFDZixZQUFZLEVBQUUsRUFBRSxFQUNoQixvQkFBb0IsRUFBRSxFQUFFLEVBQ3hCLG9CQUFvQixFQUFFLE1BQU0sRUFDMUM7SUFFSixNQUFNLENBQUMsNkJBQTZCLENBQUMsR0FBRyxFQUFFLGdCQUFnQixXQUt6RDtJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLGdCQUFnQiwrQkFzQm5DO0lBRUQsdUdBQXVHO0lBQ3ZHLHFCQUFxQixJQUFJLG1CQUFtQixDQVEzQztJQUVELHVGQUF1RjtJQUNqRiwyQ0FBMkMsSUFBSSxPQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FHOUY7SUFFRCxPQUFjLDBCQUEwQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLDJCQUEyQixFQUFFLENBSWhHO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"contract_class_published_event.d.ts","sourceRoot":"","sources":["../../src/class-registry/contract_class_published_event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,iCAAiC,EAEvC,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI3D,oDAAoD;AACpD,qBAAa,2BAA2B;aAEpB,eAAe,EAAE,EAAE;aACnB,OAAO,EAAE,MAAM;aACf,YAAY,EAAE,EAAE;aAChB,oBAAoB,EAAE,EAAE;aACxB,oBAAoB,EAAE,MAAM;IAL9C,YACkB,eAAe,EAAE,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,EAAE,EAChB,oBAAoB,EAAE,EAAE,EACxB,oBAAoB,EAAE,MAAM,EAC1C;IAEJ,MAAM,CAAC,6BAA6B,CAAC,GAAG,EAAE,gBAAgB,WAKzD;IAED,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,+BAiBnC;IAED,uGAAuG;IACvG,qBAAqB,IAAI,mBAAmB,CAQ3C;IAED,uFAAuF;IACjF,2CAA2C,IAAI,OAAO,CAAC,iCAAiC,CAAC,CAG9F;IAED,OAAc,0BAA0B,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,2BAA2B,EAAE,CAIhG;CACF"}
1
+ {"version":3,"file":"contract_class_published_event.d.ts","sourceRoot":"","sources":["../../src/class-registry/contract_class_published_event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,iCAAiC,EAEvC,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI3D,oDAAoD;AACpD,qBAAa,2BAA2B;aAEpB,eAAe,EAAE,EAAE;aACnB,OAAO,EAAE,MAAM;aACf,YAAY,EAAE,EAAE;aAChB,oBAAoB,EAAE,EAAE;aACxB,oBAAoB,EAAE,MAAM;IAL9C,YACkB,eAAe,EAAE,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,EAAE,EAChB,oBAAoB,EAAE,EAAE,EACxB,oBAAoB,EAAE,MAAM,EAC1C;IAEJ,MAAM,CAAC,6BAA6B,CAAC,GAAG,EAAE,gBAAgB,WAKzD;IAED,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,+BAsBnC;IAED,uGAAuG;IACvG,qBAAqB,IAAI,mBAAmB,CAQ3C;IAED,uFAAuF;IACjF,2CAA2C,IAAI,OAAO,CAAC,iCAAiC,CAAC,CAG9F;IAED,OAAc,0BAA0B,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,2BAA2B,EAAE,CAIhG;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { CONTRACT_CLASS_PUBLISHED_MAGIC_VALUE } from '@aztec/constants';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
3
  import { FieldReader } from '@aztec/foundation/serialize';
3
4
  import { bufferFromFields } from '@aztec/stdlib/abi';
4
5
  import { computePublicBytecodeCommitment } from '@aztec/stdlib/contract';
@@ -20,14 +21,19 @@ import { ProtocolContractAddress } from '../protocol_contract_data.js';
20
21
  return log.contractAddress.equals(ProtocolContractAddress.ContractClassRegistry) && log.fields.fields[0].toBigInt() === CONTRACT_CLASS_PUBLISHED_MAGIC_VALUE;
21
22
  }
22
23
  static fromLog(log) {
23
- // See how the log is serialized in `noir-projects/noir-contracts/contracts/protocol/contract_class_registry_contract/src/events/class_published.nr`.
24
+ // See how the log is serialized in `noir-projects/fnd/noir-contracts/contracts/protocol/contract_class_registry_contract/src/events/class_published.nr`.
24
25
  const fieldsWithoutTag = log.fields.fields.slice(1);
25
26
  const reader = new FieldReader(fieldsWithoutTag);
26
27
  const contractClassId = reader.readField();
27
28
  const version = reader.readField().toNumber();
28
29
  const artifactHash = reader.readField();
29
30
  const privateFunctionsRoot = reader.readField();
30
- const packedPublicBytecode = bufferFromFields(reader.readFieldArray(fieldsWithoutTag.length - reader.cursor));
31
+ const bytecodeFields = reader.readFieldArray(fieldsWithoutTag.length - reader.cursor);
32
+ // The fixed-size class log can hold at most this many packed-bytecode bytes (every payload field
33
+ // carries 31 bytes). Bound the declared length to it so a malformed log can't declare a multi-MiB
34
+ // length backed by a tiny payload and force a large allocation during early (pre-proof) validation.
35
+ const maxByteLength = (bytecodeFields.length - 1) * (Fr.SIZE_IN_BYTES - 1);
36
+ const packedPublicBytecode = bufferFromFields(bytecodeFields, maxByteLength);
31
37
  return new ContractClassPublishedEvent(contractClassId, version, artifactHash, privateFunctionsRoot, packedPublicBytecode);
32
38
  }
33
39
  /** Converts the event to a contract class, without computing or validating the bytecode commitment. */ toContractClassPublic() {
@@ -7,7 +7,7 @@ export async function getContractClassRegistryArtifact() {
7
7
  if (!protocolContractArtifact) {
8
8
  // Cannot assert this import as it's incompatible with bundlers like vite
9
9
  // https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
10
- // Even if now supported by al major browsers, the MIME type is replaced with
10
+ // Even if now supported by all major browsers, the MIME type is replaced with
11
11
  // "text/javascript"
12
12
  // In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
13
13
  const { default: contractClassRegistryJson } = await import('../../artifacts/ContractClassRegistry.json');
@@ -6,7 +6,7 @@ export async function getFeeJuiceArtifact() {
6
6
  if (!protocolContractArtifact) {
7
7
  // Cannot assert this import as it's incompatible with bundlers like vite
8
8
  // https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
9
- // Even if now supported by al major browsers, the MIME type is replaced with
9
+ // Even if now supported by all major browsers, the MIME type is replaced with
10
10
  // "text/javascript"
11
11
  // In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
12
12
  const { default: feeJuiceJson } = await import('../../artifacts/FeeJuice.json');
@@ -10,12 +10,13 @@ export declare class ContractInstancePublishedEvent {
10
10
  readonly salt: Fr;
11
11
  readonly contractClassId: Fr;
12
12
  readonly initializationHash: Fr;
13
+ readonly immutablesHash: Fr;
13
14
  readonly publicKeys: PublicKeys;
14
15
  readonly deployer: AztecAddress;
15
- constructor(address: AztecAddress, version: number, salt: Fr, contractClassId: Fr, initializationHash: Fr, publicKeys: PublicKeys, deployer: AztecAddress);
16
+ constructor(address: AztecAddress, version: number, salt: Fr, contractClassId: Fr, initializationHash: Fr, immutablesHash: Fr, publicKeys: PublicKeys, deployer: AztecAddress);
16
17
  static isContractInstancePublishedEvent(log: PrivateLog): boolean;
17
18
  static fromLog(log: PrivateLog): ContractInstancePublishedEvent;
18
19
  toContractInstance(): ContractInstanceWithAddress;
19
20
  static extractContractInstanceEvents(logs: PrivateLog[]): ContractInstancePublishedEvent[];
20
21
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2VfcHVibGlzaGVkX2V2ZW50LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5zdGFuY2UtcmVnaXN0cnkvY29udHJhY3RfaW5zdGFuY2VfcHVibGlzaGVkX2V2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJckQsdURBQXVEO0FBQ3ZELHFCQUFhLDhCQUE4QjthQUV2QixPQUFPLEVBQUUsWUFBWTthQUNyQixPQUFPLEVBQUUsTUFBTTthQUNmLElBQUksRUFBRSxFQUFFO2FBQ1IsZUFBZSxFQUFFLEVBQUU7YUFDbkIsa0JBQWtCLEVBQUUsRUFBRTthQUN0QixVQUFVLEVBQUUsVUFBVTthQUN0QixRQUFRLEVBQUUsWUFBWTtJQVB4QyxZQUNrQixPQUFPLEVBQUUsWUFBWSxFQUNyQixPQUFPLEVBQUUsTUFBTSxFQUNmLElBQUksRUFBRSxFQUFFLEVBQ1IsZUFBZSxFQUFFLEVBQUUsRUFDbkIsa0JBQWtCLEVBQUUsRUFBRSxFQUN0QixVQUFVLEVBQUUsVUFBVSxFQUN0QixRQUFRLEVBQUUsWUFBWSxFQUNwQztJQUVKLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxHQUFHLEVBQUUsVUFBVSxXQUV0RDtJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFVBQVUsa0NBb0I3QjtJQUVELGtCQUFrQixJQUFJLDJCQUEyQixDQWVoRDtJQUVELE9BQWMsNkJBQTZCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLDhCQUE4QixFQUFFLENBSWhHO0NBQ0YifQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2VfcHVibGlzaGVkX2V2ZW50LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5zdGFuY2UtcmVnaXN0cnkvY29udHJhY3RfaW5zdGFuY2VfcHVibGlzaGVkX2V2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJckQsdURBQXVEO0FBQ3ZELHFCQUFhLDhCQUE4QjthQUV2QixPQUFPLEVBQUUsWUFBWTthQUNyQixPQUFPLEVBQUUsTUFBTTthQUNmLElBQUksRUFBRSxFQUFFO2FBQ1IsZUFBZSxFQUFFLEVBQUU7YUFDbkIsa0JBQWtCLEVBQUUsRUFBRTthQUN0QixjQUFjLEVBQUUsRUFBRTthQUNsQixVQUFVLEVBQUUsVUFBVTthQUN0QixRQUFRLEVBQUUsWUFBWTtJQVJ4QyxZQUNrQixPQUFPLEVBQUUsWUFBWSxFQUNyQixPQUFPLEVBQUUsTUFBTSxFQUNmLElBQUksRUFBRSxFQUFFLEVBQ1IsZUFBZSxFQUFFLEVBQUUsRUFDbkIsa0JBQWtCLEVBQUUsRUFBRSxFQUN0QixjQUFjLEVBQUUsRUFBRSxFQUNsQixVQUFVLEVBQUUsVUFBVSxFQUN0QixRQUFRLEVBQUUsWUFBWSxFQUNwQztJQUVKLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxHQUFHLEVBQUUsVUFBVSxXQUV0RDtJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFVBQVUsa0NBc0I3QjtJQUVELGtCQUFrQixJQUFJLDJCQUEyQixDQWdCaEQ7SUFFRCxPQUFjLDZCQUE2QixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyw4QkFBOEIsRUFBRSxDQUloRztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"contract_instance_published_event.d.ts","sourceRoot":"","sources":["../../src/instance-registry/contract_instance_published_event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,uDAAuD;AACvD,qBAAa,8BAA8B;aAEvB,OAAO,EAAE,YAAY;aACrB,OAAO,EAAE,MAAM;aACf,IAAI,EAAE,EAAE;aACR,eAAe,EAAE,EAAE;aACnB,kBAAkB,EAAE,EAAE;aACtB,UAAU,EAAE,UAAU;aACtB,QAAQ,EAAE,YAAY;IAPxC,YACkB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,EAAE,EACR,eAAe,EAAE,EAAE,EACnB,kBAAkB,EAAE,EAAE,EACtB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,YAAY,EACpC;IAEJ,MAAM,CAAC,gCAAgC,CAAC,GAAG,EAAE,UAAU,WAEtD;IAED,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,kCAoB7B;IAED,kBAAkB,IAAI,2BAA2B,CAehD;IAED,OAAc,6BAA6B,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,8BAA8B,EAAE,CAIhG;CACF"}
1
+ {"version":3,"file":"contract_instance_published_event.d.ts","sourceRoot":"","sources":["../../src/instance-registry/contract_instance_published_event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,uDAAuD;AACvD,qBAAa,8BAA8B;aAEvB,OAAO,EAAE,YAAY;aACrB,OAAO,EAAE,MAAM;aACf,IAAI,EAAE,EAAE;aACR,eAAe,EAAE,EAAE;aACnB,kBAAkB,EAAE,EAAE;aACtB,cAAc,EAAE,EAAE;aAClB,UAAU,EAAE,UAAU;aACtB,QAAQ,EAAE,YAAY;IARxC,YACkB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,EAAE,EACR,eAAe,EAAE,EAAE,EACnB,kBAAkB,EAAE,EAAE,EACtB,cAAc,EAAE,EAAE,EAClB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,YAAY,EACpC;IAEJ,MAAM,CAAC,gCAAgC,CAAC,GAAG,EAAE,UAAU,WAEtD;IAED,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,kCAsB7B;IAED,kBAAkB,IAAI,2BAA2B,CAgBhD;IAED,OAAc,6BAA6B,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,8BAA8B,EAAE,CAIhG;CACF"}
@@ -9,14 +9,16 @@ import { CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG } from '../protocol_contract_data
9
9
  salt;
10
10
  contractClassId;
11
11
  initializationHash;
12
+ immutablesHash;
12
13
  publicKeys;
13
14
  deployer;
14
- constructor(address, version, salt, contractClassId, initializationHash, publicKeys, deployer){
15
+ constructor(address, version, salt, contractClassId, initializationHash, immutablesHash, publicKeys, deployer){
15
16
  this.address = address;
16
17
  this.version = version;
17
18
  this.salt = salt;
18
19
  this.contractClassId = contractClassId;
19
20
  this.initializationHash = initializationHash;
21
+ this.immutablesHash = immutablesHash;
20
22
  this.publicKeys = publicKeys;
21
23
  this.deployer = deployer;
22
24
  }
@@ -31,12 +33,13 @@ import { CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG } from '../protocol_contract_data
31
33
  const salt = reader.readObject(Fr);
32
34
  const contractClassId = reader.readObject(Fr);
33
35
  const initializationHash = reader.readObject(Fr);
36
+ const immutablesHash = reader.readObject(Fr);
34
37
  const publicKeys = reader.readObject(PublicKeys);
35
38
  const deployer = reader.readObject(AztecAddress);
36
- return new ContractInstancePublishedEvent(address, version, salt, contractClassId, initializationHash, publicKeys, deployer);
39
+ return new ContractInstancePublishedEvent(address, version, salt, contractClassId, initializationHash, immutablesHash, publicKeys, deployer);
37
40
  }
38
41
  toContractInstance() {
39
- if (this.version !== 1) {
42
+ if (this.version !== 2) {
40
43
  throw new Error(`Unexpected contract instance version ${this.version}`);
41
44
  }
42
45
  return {
@@ -45,6 +48,7 @@ import { CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG } from '../protocol_contract_data
45
48
  currentContractClassId: this.contractClassId,
46
49
  originalContractClassId: this.contractClassId,
47
50
  initializationHash: this.initializationHash,
51
+ immutablesHash: this.immutablesHash,
48
52
  publicKeys: this.publicKeys,
49
53
  salt: this.salt,
50
54
  deployer: this.deployer
@@ -8,7 +8,7 @@ export async function getContractInstanceRegistryArtifact() {
8
8
  if (!protocolContractArtifact) {
9
9
  // Cannot assert this import as it's incompatible with bundlers like vite
10
10
  // https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
11
- // Even if now supported by al major browsers, the MIME type is replaced with
11
+ // Even if now supported by all major browsers, the MIME type is replaced with
12
12
  // "text/javascript"
13
13
  // In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
14
14
  const { default: contractInstanceRegistryJson } = await import('../../artifacts/ContractInstanceRegistry.json');
@@ -6,4 +6,4 @@ import { type ProtocolContractName } from './protocol_contract_data.js';
6
6
  * Internal to the protocol-contracts package — not part of the public API.
7
7
  */
8
8
  export declare function makeProtocolContract(name: ProtocolContractName, artifact: ContractArtifact): ProtocolContract;
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZV9wcm90b2NvbF9jb250cmFjdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21ha2VfcHJvdG9jb2xfY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUcxRCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFLTCxLQUFLLG9CQUFvQixFQUcxQixNQUFNLDZCQUE2QixDQUFDO0FBRXJDOzs7R0FHRztBQUNILHdCQUFnQixvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixHQUFHLGdCQUFnQixDQTZCN0cifQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZV9wcm90b2NvbF9jb250cmFjdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21ha2VfcHJvdG9jb2xfY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUcxRCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFLTCxLQUFLLG9CQUFvQixFQUcxQixNQUFNLDZCQUE2QixDQUFDO0FBRXJDOzs7R0FHRztBQUNILHdCQUFnQixvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixHQUFHLGdCQUFnQixDQThCN0cifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"make_protocol_contract.d.ts","sourceRoot":"","sources":["../src/make_protocol_contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAKL,KAAK,oBAAoB,EAG1B,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,CA6B7G"}
1
+ {"version":3,"file":"make_protocol_contract.d.ts","sourceRoot":"","sources":["../src/make_protocol_contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAKL,KAAK,oBAAoB,EAG1B,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,CA8B7G"}
@@ -1,3 +1,4 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
1
2
  import { PublicKeys } from '@aztec/stdlib/keys';
2
3
  import { ProtocolContractAddress, ProtocolContractClassId, ProtocolContractClassIdPreimage, ProtocolContractInitializationHash, ProtocolContractPrivateFunctions, ProtocolContractSalt } from './protocol_contract_data.js';
3
4
  /**
@@ -19,10 +20,11 @@ import { ProtocolContractAddress, ProtocolContractClassId, ProtocolContractClass
19
20
  privateFunctions: ProtocolContractPrivateFunctions[name]
20
21
  };
21
22
  const instance = {
22
- version: 1,
23
+ version: 2,
23
24
  currentContractClassId: classId,
24
25
  originalContractClassId: classId,
25
26
  initializationHash,
27
+ immutablesHash: Fr.ZERO,
26
28
  publicKeys: PublicKeys.default(),
27
29
  salt,
28
30
  deployer: address,
@@ -1,3 +1,4 @@
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
1
2
  import type { ContractArtifact } from '@aztec/stdlib/abi';
2
3
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
4
  import type { ContractClassIdPreimage, ContractClassWithId, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
@@ -13,5 +14,7 @@ export interface ProtocolContract {
13
14
  address: AztecAddress;
14
15
  }
15
16
  export declare function isProtocolContract(address: AztecAddress): boolean;
17
+ /** Returns whether the given contract class id belongs to a bundled protocol contract. */
18
+ export declare function isProtocolContractClass(classId: Fr): boolean;
16
19
  export { type ProtocolContractsProvider } from './provider/protocol_contracts_provider.js';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm90b2NvbF9jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJeEgsdURBQXVEO0FBQ3ZELE1BQU0sV0FBVyxnQkFBZ0I7SUFDL0IsbUNBQW1DO0lBQ25DLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQztJQUN0Qyx1Q0FBdUM7SUFDdkMsYUFBYSxFQUFFLG1CQUFtQixHQUFHLHVCQUF1QixDQUFDO0lBQzdELGtDQUFrQztJQUNsQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUM7SUFDM0Isc0RBQXNEO0lBQ3RELE9BQU8sRUFBRSxZQUFZLENBQUM7Q0FDdkI7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsT0FBTyxFQUFFLFlBQVksV0FFdkQ7QUFFRCxPQUFPLEVBQUUsS0FBSyx5QkFBeUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDIn0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm90b2NvbF9jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJeEgsdURBQXVEO0FBQ3ZELE1BQU0sV0FBVyxnQkFBZ0I7SUFDL0IsbUNBQW1DO0lBQ25DLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQztJQUN0Qyx1Q0FBdUM7SUFDdkMsYUFBYSxFQUFFLG1CQUFtQixHQUFHLHVCQUF1QixDQUFDO0lBQzdELGtDQUFrQztJQUNsQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUM7SUFDM0Isc0RBQXNEO0lBQ3RELE9BQU8sRUFBRSxZQUFZLENBQUM7Q0FDdkI7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsT0FBTyxFQUFFLFlBQVksV0FFdkQ7QUFJRCwwRkFBMEY7QUFDMUYsd0JBQWdCLHVCQUF1QixDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUU1RDtBQUVELE9BQU8sRUFBRSxLQUFLLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"protocol_contract.d.ts","sourceRoot":"","sources":["../src/protocol_contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAIxH,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,uCAAuC;IACvC,aAAa,EAAE,mBAAmB,GAAG,uBAAuB,CAAC;IAC7D,kCAAkC;IAClC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,sDAAsD;IACtD,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,WAEvD;AAED,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,2CAA2C,CAAC"}
1
+ {"version":3,"file":"protocol_contract.d.ts","sourceRoot":"","sources":["../src/protocol_contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAIxH,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,uCAAuC;IACvC,aAAa,EAAE,mBAAmB,GAAG,uBAAuB,CAAC;IAC7D,kCAAkC;IAClC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,sDAAsD;IACtD,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,WAEvD;AAID,0FAA0F;AAC1F,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,CAE5D;AAED,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,2CAA2C,CAAC"}
@@ -1,4 +1,8 @@
1
- import { ProtocolContractAddress } from './protocol_contract_data.js';
1
+ import { ProtocolContractAddress, ProtocolContractClassId } from './protocol_contract_data.js';
2
2
  export function isProtocolContract(address) {
3
3
  return Object.values(ProtocolContractAddress).some((a)=>a.equals(address));
4
4
  }
5
+ const protocolContractClassIds = new Set(Object.values(ProtocolContractClassId).map((id)=>id.toString()));
6
+ /** Returns whether the given contract class id belongs to a bundled protocol contract. */ export function isProtocolContractClass(classId) {
7
+ return protocolContractClassIds.has(classId.toString());
8
+ }
@@ -2,17 +2,14 @@ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { FunctionSelector } from '@aztec/stdlib/abi';
3
3
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
4
  import { ProtocolContracts } from '@aztec/stdlib/tx';
5
- export declare const protocolContractNames: readonly ["AuthRegistry", "ContractInstanceRegistry", "ContractClassRegistry", "MultiCallEntrypoint", "FeeJuice", "PublicChecks"];
5
+ export declare const protocolContractNames: readonly ["ContractInstanceRegistry", "ContractClassRegistry", "FeeJuice"];
6
6
  export type ProtocolContractName = typeof protocolContractNames[number];
7
7
  export declare const ProtocolContractSalt: Record<ProtocolContractName, Fr>;
8
8
  export declare const ProtocolContractAddress: Record<ProtocolContractName, AztecAddress>;
9
9
  export declare const ProtocolContractDerivedAddress: {
10
- AuthRegistry: AztecAddress;
11
10
  ContractInstanceRegistry: AztecAddress;
12
11
  ContractClassRegistry: AztecAddress;
13
- MultiCallEntrypoint: AztecAddress;
14
12
  FeeJuice: AztecAddress;
15
- PublicChecks: AztecAddress;
16
13
  };
17
14
  export declare const ProtocolContractClassId: Record<ProtocolContractName, Fr>;
18
15
  export declare const ProtocolContractClassIdPreimage: Record<ProtocolContractName, {
@@ -28,4 +25,4 @@ export declare const ProtocolContractPrivateFunctions: Record<ProtocolContractNa
28
25
  export declare const ProtocolContractsList: ProtocolContracts;
29
26
  export declare const protocolContractsHash: Fr;
30
27
  export declare const CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG: Fr;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RfZGF0YS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb3RvY29sX2NvbnRyYWN0X2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUksT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdyRCxlQUFPLE1BQU0scUJBQXFCLG1JQU94QixDQUFDO0FBRVgsTUFBTSxNQUFNLG9CQUFvQixHQUFHLE9BQU8scUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFJeEUsZUFBTyxNQUFNLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBT2pFLENBQUM7QUFJRixlQUFPLE1BQU0sdUJBQXVCLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixFQUFFLFlBQVksQ0FPOUUsQ0FBQztBQUlGLGVBQU8sTUFBTSw4QkFBOEI7Ozs7Ozs7Q0FPMUMsQ0FBQztBQUlGLGVBQU8sTUFBTSx1QkFBdUIsRUFBRSxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQU9wRSxDQUFDO0FBRUYsZUFBTyxNQUFNLCtCQUErQixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtJQUFFLFlBQVksRUFBRSxFQUFFLENBQUM7SUFBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7SUFBQyx3QkFBd0IsRUFBRSxFQUFFLENBQUE7Q0FBRSxDQStCdEosQ0FBQztBQUVGLGVBQU8sTUFBTSxrQ0FBa0MsRUFBRSxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQU8vRSxDQUFDO0FBRUYsZUFBTyxNQUFNLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtJQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQztJQUFDLE1BQU0sRUFBRSxFQUFFLENBQUE7Q0FBRSxFQUFFLENBT3ZILENBQUM7QUFJRixlQUFPLE1BQU0scUJBQXFCLG1CQVloQyxDQUFDO0FBRUgsZUFBTyxNQUFNLHFCQUFxQixJQUFzRixDQUFDO0FBSTNILGVBQU8sTUFBTSxxQ0FBcUMsSUFBeUYsQ0FBQyJ9
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RfZGF0YS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb3RvY29sX2NvbnRyYWN0X2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUksT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdyRCxlQUFPLE1BQU0scUJBQXFCLDRFQUl4QixDQUFDO0FBRVgsTUFBTSxNQUFNLG9CQUFvQixHQUFHLE9BQU8scUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFJeEUsZUFBTyxNQUFNLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBSWpFLENBQUM7QUFJRixlQUFPLE1BQU0sdUJBQXVCLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixFQUFFLFlBQVksQ0FJOUUsQ0FBQztBQUlGLGVBQU8sTUFBTSw4QkFBOEI7Ozs7Q0FJMUMsQ0FBQztBQUlGLGVBQU8sTUFBTSx1QkFBdUIsRUFBRSxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUlwRSxDQUFDO0FBRUYsZUFBTyxNQUFNLCtCQUErQixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtJQUFFLFlBQVksRUFBRSxFQUFFLENBQUM7SUFBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7SUFBQyx3QkFBd0IsRUFBRSxFQUFFLENBQUE7Q0FBRSxDQWdCdEosQ0FBQztBQUVGLGVBQU8sTUFBTSxrQ0FBa0MsRUFBRSxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUkvRSxDQUFDO0FBRUYsZUFBTyxNQUFNLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtJQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQztJQUFDLE1BQU0sRUFBRSxFQUFFLENBQUE7Q0FBRSxFQUFFLENBSXZILENBQUM7QUFJRixlQUFPLE1BQU0scUJBQXFCLG1CQVloQyxDQUFDO0FBRUgsZUFBTyxNQUFNLHFCQUFxQixJQUFzRixDQUFDO0FBSTNILGVBQU8sTUFBTSxxQ0FBcUMsSUFBeUYsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"protocol_contract_data.d.ts","sourceRoot":"","sources":["../src/protocol_contract_data.ts"],"names":[],"mappings":"AAEI,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,eAAO,MAAM,qBAAqB,mIAOxB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAIxE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAOjE,CAAC;AAIF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,oBAAoB,EAAE,YAAY,CAO9E,CAAC;AAIF,eAAO,MAAM,8BAA8B;;;;;;;CAO1C,CAAC;AAIF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAOpE,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,oBAAoB,EAAE;IAAE,YAAY,EAAE,EAAE,CAAC;IAAC,oBAAoB,EAAE,EAAE,CAAC;IAAC,wBAAwB,EAAE,EAAE,CAAA;CAAE,CA+BtJ,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAO/E,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,oBAAoB,EAAE;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,EAAE,CAOvH,CAAC;AAIF,eAAO,MAAM,qBAAqB,mBAYhC,CAAC;AAEH,eAAO,MAAM,qBAAqB,IAAsF,CAAC;AAI3H,eAAO,MAAM,qCAAqC,IAAyF,CAAC"}
1
+ {"version":3,"file":"protocol_contract_data.d.ts","sourceRoot":"","sources":["../src/protocol_contract_data.ts"],"names":[],"mappings":"AAEI,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,eAAO,MAAM,qBAAqB,4EAIxB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAIxE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAIjE,CAAC;AAIF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,oBAAoB,EAAE,YAAY,CAI9E,CAAC;AAIF,eAAO,MAAM,8BAA8B;;;;CAI1C,CAAC;AAIF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAIpE,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,oBAAoB,EAAE;IAAE,YAAY,EAAE,EAAE,CAAC;IAAC,oBAAoB,EAAE,EAAE,CAAC;IAAC,wBAAwB,EAAE,EAAE,CAAA;CAAE,CAgBtJ,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAI/E,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,oBAAoB,EAAE;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,EAAE,CAIvH,CAAC;AAIF,eAAO,MAAM,qBAAqB,mBAYhC,CAAC;AAEH,eAAO,MAAM,qBAAqB,IAAsF,CAAC;AAI3H,eAAO,MAAM,qCAAqC,IAAyF,CAAC"}
@@ -4,134 +4,88 @@ import { FunctionSelector } from '@aztec/stdlib/abi';
4
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
5
  import { ProtocolContracts } from '@aztec/stdlib/tx';
6
6
  export const protocolContractNames = [
7
- 'AuthRegistry',
8
7
  'ContractInstanceRegistry',
9
8
  'ContractClassRegistry',
10
- 'MultiCallEntrypoint',
11
- 'FeeJuice',
12
- 'PublicChecks'
9
+ 'FeeJuice'
13
10
  ];
14
11
  export const ProtocolContractSalt = {
15
- AuthRegistry: new Fr(1),
16
12
  ContractInstanceRegistry: new Fr(1),
17
13
  ContractClassRegistry: new Fr(1),
18
- MultiCallEntrypoint: new Fr(1),
19
- FeeJuice: new Fr(1),
20
- PublicChecks: new Fr(1)
14
+ FeeJuice: new Fr(1)
21
15
  };
22
16
  export const ProtocolContractAddress = {
23
- AuthRegistry: AztecAddress.fromBigInt(1n),
24
- ContractInstanceRegistry: AztecAddress.fromBigInt(2n),
25
- ContractClassRegistry: AztecAddress.fromBigInt(3n),
26
- MultiCallEntrypoint: AztecAddress.fromBigInt(4n),
27
- FeeJuice: AztecAddress.fromBigInt(5n),
28
- PublicChecks: AztecAddress.fromBigInt(6n)
17
+ ContractInstanceRegistry: AztecAddress.fromBigIntUnsafe(2n),
18
+ ContractClassRegistry: AztecAddress.fromBigIntUnsafe(1n),
19
+ FeeJuice: AztecAddress.fromBigIntUnsafe(3n)
29
20
  };
30
21
  export const ProtocolContractDerivedAddress = {
31
- AuthRegistry: AztecAddress.fromString('0x0a847d95021e6f94f477dbebbcce8464688e84723a75597b0083603b1ae31c34'),
32
- ContractInstanceRegistry: AztecAddress.fromString('0x2ac557d59f4e780344660c70b7d269b32dcd89133ce44704027a40ea984c140d'),
33
- ContractClassRegistry: AztecAddress.fromString('0x2c6630df9bc892ccf46898fbc2997aaafbf7f81430746c06d1f9ac3b632c5497'),
34
- MultiCallEntrypoint: AztecAddress.fromString('0x0f51d97fdc7993e8a5dfa26f544804ff9c1a5473ae69988756a8d47ad5700f3b'),
35
- FeeJuice: AztecAddress.fromString('0x27947b30bc7580789b60e4ae40865b438109af56fc191e2469b408541f92e715'),
36
- PublicChecks: AztecAddress.fromString('0x169879de0a57ed33ff2f23ca169c3c49b001d417f896515c894a23984dd88644')
22
+ ContractInstanceRegistry: AztecAddress.fromStringUnsafe('0x2ce1dfe11c45332d557e8302d624b011eb471f0dfa40d2fae64d9fb21590321b'),
23
+ ContractClassRegistry: AztecAddress.fromStringUnsafe('0x1bbb52d2b4ac8c634f4b5026f2228580627c918895c369495f71caae13d996fe'),
24
+ FeeJuice: AztecAddress.fromStringUnsafe('0x258a4892dd83d064f6f250601711a82a7b2aaa20f39dbab216237af3ae0c63f2')
37
25
  };
38
26
  export const ProtocolContractClassId = {
39
- AuthRegistry: Fr.fromString('0x1cde63d00caee5994ee383fc5fd29d588b0df447c769120360d639ff43b5b15a'),
40
- ContractInstanceRegistry: Fr.fromString('0x043a81621de929f5933af76ff2f57cce9537d26c26c4c136c5203e67cd4aff89'),
41
- ContractClassRegistry: Fr.fromString('0x296951a1a1afd6b50de27be695bf18658a5e29a240e9940cf3ebfecc330b2d79'),
42
- MultiCallEntrypoint: Fr.fromString('0x0024bc7e208259894179becc1fd0cac591463d0fc2f6fb6f52c0e1841aff2d48'),
43
- FeeJuice: Fr.fromString('0x1d589a24ac67243d7d0bbddaf5713fbede6f82e365880d65599c6eef86ceae35'),
44
- PublicChecks: Fr.fromString('0x27f4b06d10f954d26f2ba815a46436b96133a8bf5f7d972c6c16d38d7f7f6f67')
27
+ ContractInstanceRegistry: Fr.fromString('0x265816820ef83a476c1725199f5b25fefffcf30d564b31ae95fa8eeee579aa30'),
28
+ ContractClassRegistry: Fr.fromString('0x0026d0944a8b8204b840c37cf238b145bdd6b1af9daf59eeb5e689022a708e5e'),
29
+ FeeJuice: Fr.fromString('0x2a58e1588a3ee6ef0d4c951051959789ec8a3680c551f74148f4b4dab7a3df9d')
45
30
  };
46
31
  export const ProtocolContractClassIdPreimage = {
47
- AuthRegistry: {
48
- artifactHash: Fr.fromString('0x19b8f6aa8fa60edcfebbed20c679361755501b1226aaac4b89856dd7d2e47b94'),
49
- privateFunctionsRoot: Fr.fromString('0x11900a485e3ffa03da98d89abb0c9419200644aaf17f5caa863953fccf1ed88f'),
50
- publicBytecodeCommitment: Fr.fromString('0x03fe8d2f7d592ab04300c1957d9e70f14af378235f73b0fc3ac6a59fecd4ee9d')
51
- },
52
32
  ContractInstanceRegistry: {
53
- artifactHash: Fr.fromString('0x0680a32d61731ede431aea5f42e39865f2bcac4840ef35eb6a384ea1c2333603'),
54
- privateFunctionsRoot: Fr.fromString('0x003e0fc68df58cceacc107e1909391217ba2f2033821c97748536a9a1d7a07dc'),
55
- publicBytecodeCommitment: Fr.fromString('0x173e23c6266b480c9222e2bbd3cc28ff158f8c988e80283de852f91b4bd855ea')
33
+ artifactHash: Fr.fromString('0x19835337f0aee2e9042f3a0ae0d334bdb39ecb22794b40d2670d26b2ca72b98f'),
34
+ privateFunctionsRoot: Fr.fromString('0x05bb912d9d2871492d76c610472544d8219df70aa874768f9667e99861d7971f'),
35
+ publicBytecodeCommitment: Fr.fromString('0x1a226919cd754b17c3c32ad430ecb2ce41117aa6bab5d52f070d3ab4c103c45f')
56
36
  },
57
37
  ContractClassRegistry: {
58
- artifactHash: Fr.fromString('0x0a286a92191899cc74c555827329a3cca59f3f15d5ee300d5acf950d2e0de923'),
59
- privateFunctionsRoot: Fr.fromString('0x2ac3bf890a7d534a768079aa86889caa1a86373c8e6fc2db48215b11bbb79106'),
60
- publicBytecodeCommitment: Fr.fromString('0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e')
61
- },
62
- MultiCallEntrypoint: {
63
- artifactHash: Fr.fromString('0x2674100736657625e47481e9d4542bb681620f33b84a296bace581c936ce307a'),
64
- privateFunctionsRoot: Fr.fromString('0x266505ecb7c02ce6e227227c0b6bdb44713c8ecd43164ee7bb00b8fb340e8b03'),
38
+ artifactHash: Fr.fromString('0x0d0ef0a61d9c829c306eee702aa7914299d58e7d3fc9f11d5aebd38c838fa1d0'),
39
+ privateFunctionsRoot: Fr.fromString('0x119c77be6d76c221642b63a337d94bf7b6ed8f872927ef3645c7e6b5002baa34'),
65
40
  publicBytecodeCommitment: Fr.fromString('0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e')
66
41
  },
67
42
  FeeJuice: {
68
- artifactHash: Fr.fromString('0x28d487836ba903fd6fa81e899ebfc903c2f05f5add0d4d12256fcb1155426a92'),
69
- privateFunctionsRoot: Fr.fromString('0x0abef3cfc6ae314886c841b42dc33d3eed255ad3dee7773daabf05b229573759'),
70
- publicBytecodeCommitment: Fr.fromString('0x21e4b6d1450920af1d52a3cee46198ae52536c4a70dd8780c96bbc70911ba3ef')
71
- },
72
- PublicChecks: {
73
- artifactHash: Fr.fromString('0x1b24eab5ea8e4714f917d25bbb5b2a9fa08405c6dd9b13e1956f0f9d38c75502'),
74
- privateFunctionsRoot: Fr.fromString('0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1'),
75
- publicBytecodeCommitment: Fr.fromString('0x123f9e2e26c424665a1958af5c04054bb489c8a4d2aa19af0c93ee9abe43a1ec')
43
+ artifactHash: Fr.fromString('0x2686d931d674aa3a340ad779b9464901ea46b645570f62ddf6beeafcab989e5b'),
44
+ privateFunctionsRoot: Fr.fromString('0x1c4bf54a4a33e3b9eae6f816dfc81e128d76d2646807a5443598c8adbd47f81f'),
45
+ publicBytecodeCommitment: Fr.fromString('0x1d4b1a8f71b8250d4fb65f8e16a4604e9165648279f47d80e024ce2684c4bdfb')
76
46
  }
77
47
  };
78
48
  export const ProtocolContractInitializationHash = {
79
- AuthRegistry: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
80
49
  ContractInstanceRegistry: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
81
50
  ContractClassRegistry: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
82
- MultiCallEntrypoint: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
83
- FeeJuice: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
84
- PublicChecks: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000')
51
+ FeeJuice: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000')
85
52
  };
86
53
  export const ProtocolContractPrivateFunctions = {
87
- AuthRegistry: [
88
- {
89
- selector: FunctionSelector.fromField(Fr.fromString('0x0000000000000000000000000000000000000000000000000000000079a3d418')),
90
- vkHash: Fr.fromString('0x185a64e85b31ece67103f33ec67ddef374308c0a5dc2b7f37e016bca0dce63fb')
91
- }
92
- ],
93
54
  ContractInstanceRegistry: [
94
55
  {
95
- selector: FunctionSelector.fromField(Fr.fromString('0x0000000000000000000000000000000000000000000000000000000016ec12aa')),
96
- vkHash: Fr.fromString('0x1e2a5280232a51e7132b4897219096079379f4f0a1670055680d4bf2d2fd6c7d')
56
+ selector: FunctionSelector.fromField(Fr.fromString('0x0000000000000000000000000000000000000000000000000000000077cff62f')),
57
+ vkHash: Fr.fromString('0x19172c0acecd517dd8995c2e36178ca2aa16cbe001c3606d8cd848776ab80d23')
97
58
  }
98
59
  ],
99
60
  ContractClassRegistry: [
100
61
  {
101
62
  selector: FunctionSelector.fromField(Fr.fromString('0x000000000000000000000000000000000000000000000000000000006934ed0d')),
102
- vkHash: Fr.fromString('0x1163f31e191528254c877fce0c7f62dd738f5552bbd2dda97512fe4777377f5b')
103
- }
104
- ],
105
- MultiCallEntrypoint: [
106
- {
107
- selector: FunctionSelector.fromField(Fr.fromString('0x00000000000000000000000000000000000000000000000000000000f04908a9')),
108
- vkHash: Fr.fromString('0x21732ab3cecf633e4c31a030df62c93e35a005b89941fdab568d2818c1355192')
63
+ vkHash: Fr.fromString('0x1241fdbf61631c59b977bb6a520cafe3169604036705b8680dea59f05fb71251')
109
64
  }
110
65
  ],
111
66
  FeeJuice: [
112
67
  {
113
68
  selector: FunctionSelector.fromField(Fr.fromString('0x00000000000000000000000000000000000000000000000000000000cbe67243')),
114
- vkHash: Fr.fromString('0x2ad6083b4595f8076c014e5152191013167ab1b5a31ad0cbb06490054c7c59ae')
69
+ vkHash: Fr.fromString('0x0bdf2e5c4467f295f8defb436546a7f2e642e7fe75786d0d54aef497b76527a1')
115
70
  },
116
71
  {
117
72
  selector: FunctionSelector.fromField(Fr.fromString('0x00000000000000000000000000000000000000000000000000000000e8d374b6')),
118
- vkHash: Fr.fromString('0x05aaffffdf797625ff24575d939339303775c5db77fb6bdcecbf955f726fd071')
73
+ vkHash: Fr.fromString('0x2616a94d2d2981737c31ed7d74b9fd32ddc8376bf436dd60fb2507662b47c6dd')
119
74
  }
120
- ],
121
- PublicChecks: []
75
+ ]
122
76
  };
123
77
  export const ProtocolContractsList = new ProtocolContracts([
124
- AztecAddress.fromString('0x0a847d95021e6f94f477dbebbcce8464688e84723a75597b0083603b1ae31c34'),
125
- AztecAddress.fromString('0x2ac557d59f4e780344660c70b7d269b32dcd89133ce44704027a40ea984c140d'),
126
- AztecAddress.fromString('0x2c6630df9bc892ccf46898fbc2997aaafbf7f81430746c06d1f9ac3b632c5497'),
127
- AztecAddress.fromString('0x0f51d97fdc7993e8a5dfa26f544804ff9c1a5473ae69988756a8d47ad5700f3b'),
128
- AztecAddress.fromString('0x27947b30bc7580789b60e4ae40865b438109af56fc191e2469b408541f92e715'),
129
- AztecAddress.fromString('0x169879de0a57ed33ff2f23ca169c3c49b001d417f896515c894a23984dd88644'),
130
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
131
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
132
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
133
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
134
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000')
78
+ AztecAddress.fromStringUnsafe('0x1bbb52d2b4ac8c634f4b5026f2228580627c918895c369495f71caae13d996fe'),
79
+ AztecAddress.fromStringUnsafe('0x2ce1dfe11c45332d557e8302d624b011eb471f0dfa40d2fae64d9fb21590321b'),
80
+ AztecAddress.fromStringUnsafe('0x258a4892dd83d064f6f250601711a82a7b2aaa20f39dbab216237af3ae0c63f2'),
81
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000'),
82
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000'),
83
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000'),
84
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000'),
85
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000'),
86
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000'),
87
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000'),
88
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000')
135
89
  ]);
136
- export const protocolContractsHash = Fr.fromString('0x06aa0dd8d99654eb1af1e82f417a8a54c39cb25aa4207e29444ecb4fba03580f');
90
+ export const protocolContractsHash = Fr.fromString('0x08d0026a4983c49638d0910859942c6648d5ea0a3a152c8a376e4983d0a003d9');
137
91
  export const CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG = Fr.fromHexString('0x1a7e1badb79abdd38c684b3c8306ffe7ecb33c69e3380d9855730aaaa83a21a8');
@@ -6,4 +6,4 @@ export declare const ProtocolContractArtifact: Record<ProtocolContractName, Cont
6
6
  export declare class BundledProtocolContractsProvider implements ProtocolContractsProvider {
7
7
  getProtocolContractArtifact(name: ProtocolContractName): Promise<ProtocolContract>;
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXIvYnVuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFRMUQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXpFLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbEYsZUFBTyxNQUFNLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxnQkFBZ0IsQ0FPbkYsQ0FBQztBQUVGLHFCQUFhLGdDQUFpQyxZQUFXLHlCQUF5QjtJQUNoRiwyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBRWpGO0NBQ0YifQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXIvYnVuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFNMUQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbEYsZUFBTyxNQUFNLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxnQkFBZ0IsQ0FJbkYsQ0FBQztBQUVGLHFCQUFhLGdDQUFpQyxZQUFXLHlCQUF5QjtJQUNoRiwyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBRWpGO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/provider/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQ1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAOnF,CAAC;AAEF,qBAAa,gCAAiC,YAAW,yBAAyB;IAChF,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEjF;CACF"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/provider/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAM1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAInF,CAAC;AAEF,qBAAa,gCAAiC,YAAW,yBAAyB;IAChF,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEjF;CACF"}
@@ -1,17 +1,11 @@
1
- import { AuthRegistryArtifact } from '../auth-registry/index.js';
2
1
  import { ContractClassRegistryArtifact } from '../class-registry/index.js';
3
2
  import { FeeJuiceArtifact } from '../fee-juice/index.js';
4
3
  import { ContractInstanceRegistryArtifact } from '../instance-registry/index.js';
5
4
  import { makeProtocolContract } from '../make_protocol_contract.js';
6
- import { MultiCallEntrypointArtifact } from '../multi-call-entrypoint/index.js';
7
- import { PublicChecksArtifact } from '../public-checks/index.js';
8
5
  export const ProtocolContractArtifact = {
9
- AuthRegistry: AuthRegistryArtifact,
10
6
  ContractInstanceRegistry: ContractInstanceRegistryArtifact,
11
7
  ContractClassRegistry: ContractClassRegistryArtifact,
12
- MultiCallEntrypoint: MultiCallEntrypointArtifact,
13
- FeeJuice: FeeJuiceArtifact,
14
- PublicChecks: PublicChecksArtifact
8
+ FeeJuice: FeeJuiceArtifact
15
9
  };
16
10
  export class BundledProtocolContractsProvider {
17
11
  getProtocolContractArtifact(name) {
@@ -4,4 +4,4 @@ import type { ProtocolContractsProvider } from './protocol_contracts_provider.js
4
4
  export declare class LazyProtocolContractsProvider implements ProtocolContractsProvider {
5
5
  getProtocolContractArtifact(name: ProtocolContractName): Promise<ProtocolContract>;
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVyL2xhenkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXpFLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbEYscUJBQWEsNkJBQThCLFlBQVcseUJBQXlCO0lBQzdFLDJCQUEyQixDQUFDLElBQUksRUFBRSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FpQmpGO0NBQ0YifQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVyL2xhenkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbEYscUJBQWEsNkJBQThCLFlBQVcseUJBQXlCO0lBQzdFLDJCQUEyQixDQUFDLElBQUksRUFBRSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FXakY7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/provider/lazy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,qBAAa,6BAA8B,YAAW,yBAAyB;IAC7E,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiBjF;CACF"}
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/provider/lazy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,qBAAa,6BAA8B,YAAW,yBAAyB;IAC7E,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAWjF;CACF"}
@@ -1,24 +1,15 @@
1
- import { getCanonicalAuthRegistry } from '../auth-registry/lazy.js';
2
1
  import { getCanonicalClassRegistry } from '../class-registry/lazy.js';
3
2
  import { getCanonicalFeeJuice } from '../fee-juice/lazy.js';
4
3
  import { getCanonicalInstanceRegistry } from '../instance-registry/lazy.js';
5
- import { getCanonicalMultiCallEntrypoint } from '../multi-call-entrypoint/lazy.js';
6
- import { getCanonicalPublicChecks } from '../public-checks/lazy.js';
7
4
  export class LazyProtocolContractsProvider {
8
5
  getProtocolContractArtifact(name) {
9
6
  switch(name){
10
- case 'AuthRegistry':
11
- return getCanonicalAuthRegistry();
12
7
  case 'ContractInstanceRegistry':
13
8
  return getCanonicalInstanceRegistry();
14
9
  case 'ContractClassRegistry':
15
10
  return getCanonicalClassRegistry();
16
- case 'MultiCallEntrypoint':
17
- return getCanonicalMultiCallEntrypoint();
18
11
  case 'FeeJuice':
19
12
  return getCanonicalFeeJuice();
20
- case 'PublicChecks':
21
- return getCanonicalPublicChecks();
22
13
  default:
23
14
  throw new Error(`Unknown protocol contract name: ${name}`);
24
15
  }
@@ -2,10 +2,11 @@
2
2
  // bytecode commitments, and other deployment data, emitting everything as precomputed constants into
3
3
  // `protocol_contract_data.ts`. This avoids clients repeating the expensive hashing at runtime and
4
4
  // ensures a single source of truth for the protocol contracts hash enforced by circuits, P2P, and L1.
5
- import { CANONICAL_AUTH_REGISTRY_ADDRESS, CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS, CONTRACT_INSTANCE_PUBLISHED_MAGIC_VALUE, CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS, FEE_JUICE_ADDRESS, MAX_PROTOCOL_CONTRACTS, MULTI_CALL_ENTRYPOINT_ADDRESS, PUBLIC_CHECKS_ADDRESS } from '@aztec/constants';
5
+ import { CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS, CONTRACT_INSTANCE_PUBLISHED_MAGIC_VALUE, CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS, FEE_JUICE_ADDRESS, MAX_PROTOCOL_CONTRACTS } from '@aztec/constants';
6
6
  import { makeTuple } from '@aztec/foundation/array';
7
7
  import { Fr } from '@aztec/foundation/curves/bn254';
8
8
  import { createConsoleLogger } from '@aztec/foundation/log';
9
+ import { fileURLToPath } from '@aztec/foundation/url';
9
10
  import { loadContractArtifact } from '@aztec/stdlib/abi';
10
11
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
11
12
  import { computeContractAddressFromInstance, computeInitializationHash, getContractClassFromArtifact } from '@aztec/stdlib/contract';
@@ -15,18 +16,15 @@ import { ProtocolContracts } from '@aztec/stdlib/tx';
15
16
  import { promises as fs } from 'fs';
16
17
  import path from 'path';
17
18
  const log = createConsoleLogger('autogenerate');
18
- const noirContractsRoot = '../../noir-projects/noir-contracts';
19
- const srcPath = path.join(noirContractsRoot, './target');
19
+ const artifactsPkgRoot = path.dirname(fileURLToPath(import.meta.resolve('@aztec/protocol-contracts-artifacts/package.json')));
20
+ const srcPath = path.join(artifactsPkgRoot, 'artifacts');
20
21
  const destArtifactsDir = './artifacts';
21
22
  const outputFilePath = './src/protocol_contract_data.ts';
22
23
  const salt = new Fr(1);
23
24
  const contractAddressMapping = {
24
- AuthRegistry: CANONICAL_AUTH_REGISTRY_ADDRESS,
25
25
  ContractInstanceRegistry: CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS,
26
26
  ContractClassRegistry: CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS,
27
- MultiCallEntrypoint: MULTI_CALL_ENTRYPOINT_ADDRESS,
28
- FeeJuice: FEE_JUICE_ADDRESS,
29
- PublicChecks: PUBLIC_CHECKS_ADDRESS
27
+ FeeJuice: FEE_JUICE_ADDRESS
30
28
  };
31
29
  async function clearDestDir() {
32
30
  try {
@@ -63,10 +61,11 @@ async function computeContractData(artifact, deployer) {
63
61
  const constructorArtifact = loaded.functions.find((f)=>f.name === 'constructor');
64
62
  const initializationHash = await computeInitializationHash(constructorArtifact, []);
65
63
  const instance = {
66
- version: 1,
64
+ version: 2,
67
65
  currentContractClassId: contractClass.id,
68
66
  originalContractClassId: contractClass.id,
69
67
  initializationHash,
68
+ immutablesHash: Fr.ZERO,
70
69
  publicKeys: PublicKeys.default(),
71
70
  salt,
72
71
  deployer
@@ -107,7 +106,7 @@ function generateSalts(names) {
107
106
  `;
108
107
  }
109
108
  function generateContractAddresses(names) {
110
- const addresses = names.map((name)=>`${name}: AztecAddress.fromBigInt(${contractAddressMapping[name]}n)`).join(',\n');
109
+ const addresses = names.map((name)=>`${name}: AztecAddress.fromBigIntUnsafe(${contractAddressMapping[name]}n)`).join(',\n');
111
110
  return `
112
111
  export const ProtocolContractAddress: Record<ProtocolContractName, AztecAddress> = {
113
112
  ${addresses}
@@ -117,7 +116,7 @@ function generateContractAddresses(names) {
117
116
  function generateDerivedAddresses(names, contractData) {
118
117
  return `
119
118
  export const ProtocolContractDerivedAddress = {
120
- ${contractData.map((d, i)=>`${names[i]}: AztecAddress.fromString('${d.address.toString()}')`).join(',\n')}
119
+ ${contractData.map((d, i)=>`${names[i]}: AztecAddress.fromStringUnsafe('${d.address.toString()}')`).join(',\n')}
121
120
  };
122
121
  `;
123
122
  }
@@ -157,7 +156,7 @@ async function generateProtocolContractsList(names, contractData) {
157
156
  }
158
157
  return `
159
158
  export const ProtocolContractsList = new ProtocolContracts([
160
- ${list.map((address)=>`AztecAddress.fromString('${address.toString()}')`).join(',\n')}
159
+ ${list.map((address)=>`AztecAddress.fromStringUnsafe('${address.toString()}')`).join(',\n')}
161
160
  ]);
162
161
 
163
162
  export const protocolContractsHash = Fr.fromString('${(await new ProtocolContracts(list).hash()).toString()}');
@@ -195,7 +194,7 @@ async function generateOutputFile(names, contractData) {
195
194
  }
196
195
  async function main() {
197
196
  await clearDestDir();
198
- const srcNames = JSON.parse(await fs.readFile(path.join(noirContractsRoot, 'protocol_contracts.json'), 'utf8'));
197
+ const srcNames = JSON.parse(await fs.readFile(path.join(artifactsPkgRoot, 'protocol_contracts.json'), 'utf8'));
199
198
  const contractDataList = [];
200
199
  const destNames = srcNames.map((n)=>n.split('-')[1]);
201
200
  for(let i = 0; i < srcNames.length; i++){
@@ -203,7 +202,7 @@ async function main() {
203
202
  const destName = destNames[i];
204
203
  const artifact = await copyArtifact(srcName, destName);
205
204
  await generateDeclarationFile(destName);
206
- contractDataList.push(await computeContractData(artifact, AztecAddress.fromBigInt(BigInt(contractAddressMapping[destName]))));
205
+ contractDataList.push(await computeContractData(artifact, AztecAddress.fromBigIntUnsafe(BigInt(contractAddressMapping[destName]))));
207
206
  }
208
207
  await generateOutputFile(destNames, contractDataList);
209
208
  }