@aztec/protocol-contracts 6.0.0-nightly.20260604 → 6.0.0-nightly.20260721

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.
@@ -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';
@@ -27,7 +28,12 @@ import { ProtocolContractAddress } from '../protocol_contract_data.js';
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');
@@ -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');
@@ -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
+ }
@@ -14,34 +14,34 @@ export const ProtocolContractSalt = {
14
14
  FeeJuice: new Fr(1)
15
15
  };
16
16
  export const ProtocolContractAddress = {
17
- ContractInstanceRegistry: AztecAddress.fromBigInt(2n),
18
- ContractClassRegistry: AztecAddress.fromBigInt(1n),
19
- FeeJuice: AztecAddress.fromBigInt(3n)
17
+ ContractInstanceRegistry: AztecAddress.fromBigIntUnsafe(2n),
18
+ ContractClassRegistry: AztecAddress.fromBigIntUnsafe(1n),
19
+ FeeJuice: AztecAddress.fromBigIntUnsafe(3n)
20
20
  };
21
21
  export const ProtocolContractDerivedAddress = {
22
- ContractInstanceRegistry: AztecAddress.fromString('0x06dfe62bfb54240305937575dce49eab9dd602636bfd6f9a7d5051728d30b0af'),
23
- ContractClassRegistry: AztecAddress.fromString('0x1d99dee8cbd3bf8c68e5094b23838c29f1e6ef01c1b9ce221e8a35171e3b6eb8'),
24
- FeeJuice: AztecAddress.fromString('0x00c8b2c5fb213715b3b9ba5e68e2239fa97df49ad3e1b19acbde348007ba7e71')
22
+ ContractInstanceRegistry: AztecAddress.fromStringUnsafe('0x262381bdb818ed44505e217b6b02ecc37a1046edc6785b3caef6a86513d71058'),
23
+ ContractClassRegistry: AztecAddress.fromStringUnsafe('0x0f75f6277a8850d5f77139ea643de697009a1ab4666673553b908b247d514f0f'),
24
+ FeeJuice: AztecAddress.fromStringUnsafe('0x0aee027cb94b86007afb04f4378f4a2c1649e4642c72056896ba54819fbf5430')
25
25
  };
26
26
  export const ProtocolContractClassId = {
27
- ContractInstanceRegistry: Fr.fromString('0x125644eb2e5fa6eccea7cb5ebd05140f759a1f1c17e1f52447e0f4b9934fdf2e'),
28
- ContractClassRegistry: Fr.fromString('0x16ac535481cad20ecece15a3253e30e12cb04c7ecf8019552c70bfc8dff583a9'),
29
- FeeJuice: Fr.fromString('0x0994c2148e20b4810f083d5661ea12b566edbb9dd5daef95bf99fe53219dc7f3')
27
+ ContractInstanceRegistry: Fr.fromString('0x06900ee6077e08bc0bcf1be064f3dad67b58d46ca59a00c99e1ad1db425525c7'),
28
+ ContractClassRegistry: Fr.fromString('0x2cce985fc14d6fff65d3eed0435e037ed27039a6a86d3aab6a5bd2569b83ec70'),
29
+ FeeJuice: Fr.fromString('0x17c33630396638ccf890042352185bedae92c69d7db3ec4aece71b70bcb8a7a4')
30
30
  };
31
31
  export const ProtocolContractClassIdPreimage = {
32
32
  ContractInstanceRegistry: {
33
- artifactHash: Fr.fromString('0x04466e40f0c16f8887f67a7e440c1db06d647bfcb3c5d49c62b8a5248c359c00'),
34
- privateFunctionsRoot: Fr.fromString('0x0239b0f293384aad456e2e27901eb97cd9073322a28d14b0ac7816a5297b2812'),
35
- publicBytecodeCommitment: Fr.fromString('0x2c79b6699098244e947caca071a31799c20aa20e7124910a2b7c918fe817d65e')
33
+ artifactHash: Fr.fromString('0x1a45ee8878136dff02e310c2c62b875be7480494673f5dc2d4f963746b0dbd8d'),
34
+ privateFunctionsRoot: Fr.fromString('0x05bb912d9d2871492d76c610472544d8219df70aa874768f9667e99861d7971f'),
35
+ publicBytecodeCommitment: Fr.fromString('0x232a10bc23611d07c57c32110e6ad7accd088e861c4e167a17bd7433fec2f020')
36
36
  },
37
37
  ContractClassRegistry: {
38
- artifactHash: Fr.fromString('0x2dab24245f93027f0ef3a55d314ce0a3dff2eb72df31176250341bccbdfdba03'),
39
- privateFunctionsRoot: Fr.fromString('0x0672f623ec0753ab9fbb02a9a241df81b9bcc0dbed8628d8cab8790e0cb0c03d'),
38
+ artifactHash: Fr.fromString('0x2cbc206eed84dbb5fc5b5d34e223c8c26def6bf0eb4ef93a54936ef1d6be6bbb'),
39
+ privateFunctionsRoot: Fr.fromString('0x1226036210d1d3d19245a2fe913bd14c7d3922be9e551aa481189d9561ca23a2'),
40
40
  publicBytecodeCommitment: Fr.fromString('0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e')
41
41
  },
42
42
  FeeJuice: {
43
- artifactHash: Fr.fromString('0x0f8391835edb72493831756f8f3e20a84b61857009024f592ef8c69304f4d31d'),
44
- privateFunctionsRoot: Fr.fromString('0x247aaafc67f6bf5b06736649181a477dac9f18d3468969b14669708c3dabb275'),
43
+ artifactHash: Fr.fromString('0x1a57ff2a8e653094229bd15c028683e08b2086dfeadecac4c6b950c383b3ae1d'),
44
+ privateFunctionsRoot: Fr.fromString('0x1c4bf54a4a33e3b9eae6f816dfc81e128d76d2646807a5443598c8adbd47f81f'),
45
45
  publicBytecodeCommitment: Fr.fromString('0x1d4b1a8f71b8250d4fb65f8e16a4604e9165648279f47d80e024ce2684c4bdfb')
46
46
  }
47
47
  };
@@ -54,38 +54,38 @@ export const ProtocolContractPrivateFunctions = {
54
54
  ContractInstanceRegistry: [
55
55
  {
56
56
  selector: FunctionSelector.fromField(Fr.fromString('0x0000000000000000000000000000000000000000000000000000000077cff62f')),
57
- vkHash: Fr.fromString('0x08a57d0b4d164c6c8d92da9c3bfe57a4ac1a639ab0a2a0ccb60bbb6bcd37f245')
57
+ vkHash: Fr.fromString('0x19172c0acecd517dd8995c2e36178ca2aa16cbe001c3606d8cd848776ab80d23')
58
58
  }
59
59
  ],
60
60
  ContractClassRegistry: [
61
61
  {
62
62
  selector: FunctionSelector.fromField(Fr.fromString('0x000000000000000000000000000000000000000000000000000000006934ed0d')),
63
- vkHash: Fr.fromString('0x1531ed0e20d6d05f1aeb06f746c8c4b8f467174836d6edf915b0c45099b393ed')
63
+ vkHash: Fr.fromString('0x0609c8195389d9ff372c9788d314c1387c31a9a4b73dacad95b01f5e03956056')
64
64
  }
65
65
  ],
66
66
  FeeJuice: [
67
67
  {
68
68
  selector: FunctionSelector.fromField(Fr.fromString('0x00000000000000000000000000000000000000000000000000000000cbe67243')),
69
- vkHash: Fr.fromString('0x2dbad42bf59fe7ea908485dea59573b4d7fb8ddefb6a0f73bbcce79aa27d545c')
69
+ vkHash: Fr.fromString('0x0bdf2e5c4467f295f8defb436546a7f2e642e7fe75786d0d54aef497b76527a1')
70
70
  },
71
71
  {
72
72
  selector: FunctionSelector.fromField(Fr.fromString('0x00000000000000000000000000000000000000000000000000000000e8d374b6')),
73
- vkHash: Fr.fromString('0x2e9880e15fb0c9a5494faef915861144769e94aded54c737819ee75918fbda51')
73
+ vkHash: Fr.fromString('0x2616a94d2d2981737c31ed7d74b9fd32ddc8376bf436dd60fb2507662b47c6dd')
74
74
  }
75
75
  ]
76
76
  };
77
77
  export const ProtocolContractsList = new ProtocolContracts([
78
- AztecAddress.fromString('0x1d99dee8cbd3bf8c68e5094b23838c29f1e6ef01c1b9ce221e8a35171e3b6eb8'),
79
- AztecAddress.fromString('0x06dfe62bfb54240305937575dce49eab9dd602636bfd6f9a7d5051728d30b0af'),
80
- AztecAddress.fromString('0x00c8b2c5fb213715b3b9ba5e68e2239fa97df49ad3e1b19acbde348007ba7e71'),
81
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
82
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
83
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
84
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
85
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
86
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
87
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
88
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000')
78
+ AztecAddress.fromStringUnsafe('0x0f75f6277a8850d5f77139ea643de697009a1ab4666673553b908b247d514f0f'),
79
+ AztecAddress.fromStringUnsafe('0x262381bdb818ed44505e217b6b02ecc37a1046edc6785b3caef6a86513d71058'),
80
+ AztecAddress.fromStringUnsafe('0x0aee027cb94b86007afb04f4378f4a2c1649e4642c72056896ba54819fbf5430'),
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')
89
89
  ]);
90
- export const protocolContractsHash = Fr.fromString('0x2d0277dcfbd0213fa60233bb3edb87acabedcaff904a4e65830be9f30b881f70');
90
+ export const protocolContractsHash = Fr.fromString('0x0727efc9473643b7abbe3c57df72d68e86b244b99cae71b17553c0f937ea433b');
91
91
  export const CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG = Fr.fromHexString('0x1a7e1badb79abdd38c684b3c8306ffe7ecb33c69e3380d9855730aaaa83a21a8');
@@ -105,7 +105,7 @@ function generateSalts(names) {
105
105
  `;
106
106
  }
107
107
  function generateContractAddresses(names) {
108
- const addresses = names.map((name)=>`${name}: AztecAddress.fromBigInt(${contractAddressMapping[name]}n)`).join(',\n');
108
+ const addresses = names.map((name)=>`${name}: AztecAddress.fromBigIntUnsafe(${contractAddressMapping[name]}n)`).join(',\n');
109
109
  return `
110
110
  export const ProtocolContractAddress: Record<ProtocolContractName, AztecAddress> = {
111
111
  ${addresses}
@@ -115,7 +115,7 @@ function generateContractAddresses(names) {
115
115
  function generateDerivedAddresses(names, contractData) {
116
116
  return `
117
117
  export const ProtocolContractDerivedAddress = {
118
- ${contractData.map((d, i)=>`${names[i]}: AztecAddress.fromString('${d.address.toString()}')`).join(',\n')}
118
+ ${contractData.map((d, i)=>`${names[i]}: AztecAddress.fromStringUnsafe('${d.address.toString()}')`).join(',\n')}
119
119
  };
120
120
  `;
121
121
  }
@@ -155,7 +155,7 @@ async function generateProtocolContractsList(names, contractData) {
155
155
  }
156
156
  return `
157
157
  export const ProtocolContractsList = new ProtocolContracts([
158
- ${list.map((address)=>`AztecAddress.fromString('${address.toString()}')`).join(',\n')}
158
+ ${list.map((address)=>`AztecAddress.fromStringUnsafe('${address.toString()}')`).join(',\n')}
159
159
  ]);
160
160
 
161
161
  export const protocolContractsHash = Fr.fromString('${(await new ProtocolContracts(list).hash()).toString()}');
@@ -201,7 +201,7 @@ async function main() {
201
201
  const destName = destNames[i];
202
202
  const artifact = await copyArtifact(srcName, destName);
203
203
  await generateDeclarationFile(destName);
204
- contractDataList.push(await computeContractData(artifact, AztecAddress.fromBigInt(BigInt(contractAddressMapping[destName]))));
204
+ contractDataList.push(await computeContractData(artifact, AztecAddress.fromBigIntUnsafe(BigInt(contractAddressMapping[destName]))));
205
205
  }
206
206
  await generateOutputFile(destNames, contractDataList);
207
207
  }
@@ -1,12 +1,12 @@
1
1
  import { readFileSync } from 'fs';
2
2
  import { dirname, resolve } from 'path';
3
3
  import { fileURLToPath } from 'url';
4
- // Generated from end-to-end/src/e2e_deploy_contract/contract_class_registration.test.ts with AZTEC_GENERATE_TEST_DATA=1
4
+ // Generated from end-to-end/src/automine/contracts/deploy/contract_class_registration.test.ts with AZTEC_GENERATE_TEST_DATA=1
5
5
  export function getSampleContractClassPublishedEventPayload() {
6
6
  const path = getPathToFixture('ContractClassPublishedEventData.hex');
7
7
  return Buffer.from(readFileSync(path).toString(), 'hex');
8
8
  }
9
- // Generated from end-to-end/src/e2e_deploy_contract/contract_class_registration.test.ts with AZTEC_GENERATE_TEST_DATA=1
9
+ // Generated from end-to-end/src/automine/contracts/deploy/contract_class_registration.test.ts with AZTEC_GENERATE_TEST_DATA=1
10
10
  export function getSampleContractInstancePublishedEventPayload() {
11
11
  const path = getPathToFixture('ContractInstancePublishedEventData.hex');
12
12
  return Buffer.from(readFileSync(path).toString(), 'hex');
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@aztec/protocol-contracts",
3
3
  "homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/protocol-contracts",
4
4
  "description": "Canonical Noir contracts for the Aztec Network",
5
- "version": "6.0.0-nightly.20260604",
5
+ "version": "6.0.0-nightly.20260721",
6
6
  "type": "module",
7
7
  "exports": {
8
8
  ".": "./dest/index.js",
@@ -73,9 +73,9 @@
73
73
  ]
74
74
  },
75
75
  "dependencies": {
76
- "@aztec/constants": "6.0.0-nightly.20260604",
77
- "@aztec/foundation": "6.0.0-nightly.20260604",
78
- "@aztec/stdlib": "6.0.0-nightly.20260604",
76
+ "@aztec/constants": "6.0.0-nightly.20260721",
77
+ "@aztec/foundation": "6.0.0-nightly.20260721",
78
+ "@aztec/stdlib": "6.0.0-nightly.20260721",
79
79
  "lodash.chunk": "^4.2.0",
80
80
  "lodash.omit": "^4.5.0",
81
81
  "tslib": "^2.4.0"
@@ -36,7 +36,12 @@ export class ContractClassPublishedEvent {
36
36
  const version = reader.readField().toNumber();
37
37
  const artifactHash = reader.readField();
38
38
  const privateFunctionsRoot = reader.readField();
39
- const packedPublicBytecode = bufferFromFields(reader.readFieldArray(fieldsWithoutTag.length - reader.cursor));
39
+ const bytecodeFields = reader.readFieldArray(fieldsWithoutTag.length - reader.cursor);
40
+ // The fixed-size class log can hold at most this many packed-bytecode bytes (every payload field
41
+ // carries 31 bytes). Bound the declared length to it so a malformed log can't declare a multi-MiB
42
+ // length backed by a tiny payload and force a large allocation during early (pre-proof) validation.
43
+ const maxByteLength = (bytecodeFields.length - 1) * (Fr.SIZE_IN_BYTES - 1);
44
+ const packedPublicBytecode = bufferFromFields(bytecodeFields, maxByteLength);
40
45
 
41
46
  return new ContractClassPublishedEvent(
42
47
  contractClassId,
@@ -12,7 +12,7 @@ export async function getContractClassRegistryArtifact(): Promise<ContractArtifa
12
12
  if (!protocolContractArtifact) {
13
13
  // Cannot assert this import as it's incompatible with bundlers like vite
14
14
  // https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
15
- // Even if now supported by al major browsers, the MIME type is replaced with
15
+ // Even if now supported by all major browsers, the MIME type is replaced with
16
16
  // "text/javascript"
17
17
  // In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
18
18
  const { default: contractClassRegistryJson } = await import('../../artifacts/ContractClassRegistry.json');
@@ -10,7 +10,7 @@ export async function getFeeJuiceArtifact(): Promise<ContractArtifact> {
10
10
  if (!protocolContractArtifact) {
11
11
  // Cannot assert this import as it's incompatible with bundlers like vite
12
12
  // https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
13
- // Even if now supported by al major browsers, the MIME type is replaced with
13
+ // Even if now supported by all major browsers, the MIME type is replaced with
14
14
  // "text/javascript"
15
15
  // In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
16
16
  const { default: feeJuiceJson } = await import('../../artifacts/FeeJuice.json');
@@ -13,7 +13,7 @@ export async function getContractInstanceRegistryArtifact(): Promise<ContractArt
13
13
  if (!protocolContractArtifact) {
14
14
  // Cannot assert this import as it's incompatible with bundlers like vite
15
15
  // https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
16
- // Even if now supported by al major browsers, the MIME type is replaced with
16
+ // Even if now supported by all major browsers, the MIME type is replaced with
17
17
  // "text/javascript"
18
18
  // In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
19
19
  const { default: contractInstanceRegistryJson } = await import('../../artifacts/ContractInstanceRegistry.json');
@@ -1,8 +1,9 @@
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';
4
5
 
5
- import { ProtocolContractAddress } from './protocol_contract_data.js';
6
+ import { ProtocolContractAddress, ProtocolContractClassId } from './protocol_contract_data.js';
6
7
 
7
8
  /** Represents a canonical contract in the protocol. */
8
9
  export interface ProtocolContract {
@@ -20,4 +21,11 @@ export function isProtocolContract(address: AztecAddress) {
20
21
  return Object.values(ProtocolContractAddress).some(a => a.equals(address));
21
22
  }
22
23
 
24
+ const protocolContractClassIds = new Set(Object.values(ProtocolContractClassId).map(id => id.toString()));
25
+
26
+ /** Returns whether the given contract class id belongs to a bundled protocol contract. */
27
+ export function isProtocolContractClass(classId: Fr): boolean {
28
+ return protocolContractClassIds.has(classId.toString());
29
+ }
30
+
23
31
  export { type ProtocolContractsProvider } from './provider/protocol_contracts_provider.js';
@@ -25,41 +25,41 @@ FeeJuice: new Fr(1)
25
25
 
26
26
 
27
27
  export const ProtocolContractAddress: Record<ProtocolContractName, AztecAddress> = {
28
- ContractInstanceRegistry: AztecAddress.fromBigInt(2n),
29
- ContractClassRegistry: AztecAddress.fromBigInt(1n),
30
- FeeJuice: AztecAddress.fromBigInt(3n)
28
+ ContractInstanceRegistry: AztecAddress.fromBigIntUnsafe(2n),
29
+ ContractClassRegistry: AztecAddress.fromBigIntUnsafe(1n),
30
+ FeeJuice: AztecAddress.fromBigIntUnsafe(3n)
31
31
  };
32
32
 
33
33
 
34
34
 
35
35
  export const ProtocolContractDerivedAddress = {
36
- ContractInstanceRegistry: AztecAddress.fromString('0x06dfe62bfb54240305937575dce49eab9dd602636bfd6f9a7d5051728d30b0af'),
37
- ContractClassRegistry: AztecAddress.fromString('0x1d99dee8cbd3bf8c68e5094b23838c29f1e6ef01c1b9ce221e8a35171e3b6eb8'),
38
- FeeJuice: AztecAddress.fromString('0x00c8b2c5fb213715b3b9ba5e68e2239fa97df49ad3e1b19acbde348007ba7e71')
36
+ ContractInstanceRegistry: AztecAddress.fromStringUnsafe('0x262381bdb818ed44505e217b6b02ecc37a1046edc6785b3caef6a86513d71058'),
37
+ ContractClassRegistry: AztecAddress.fromStringUnsafe('0x0f75f6277a8850d5f77139ea643de697009a1ab4666673553b908b247d514f0f'),
38
+ FeeJuice: AztecAddress.fromStringUnsafe('0x0aee027cb94b86007afb04f4378f4a2c1649e4642c72056896ba54819fbf5430')
39
39
  };
40
40
 
41
41
 
42
42
 
43
43
  export const ProtocolContractClassId: Record<ProtocolContractName, Fr> = {
44
- ContractInstanceRegistry: Fr.fromString('0x125644eb2e5fa6eccea7cb5ebd05140f759a1f1c17e1f52447e0f4b9934fdf2e'),
45
- ContractClassRegistry: Fr.fromString('0x16ac535481cad20ecece15a3253e30e12cb04c7ecf8019552c70bfc8dff583a9'),
46
- FeeJuice: Fr.fromString('0x0994c2148e20b4810f083d5661ea12b566edbb9dd5daef95bf99fe53219dc7f3')
44
+ ContractInstanceRegistry: Fr.fromString('0x06900ee6077e08bc0bcf1be064f3dad67b58d46ca59a00c99e1ad1db425525c7'),
45
+ ContractClassRegistry: Fr.fromString('0x2cce985fc14d6fff65d3eed0435e037ed27039a6a86d3aab6a5bd2569b83ec70'),
46
+ FeeJuice: Fr.fromString('0x17c33630396638ccf890042352185bedae92c69d7db3ec4aece71b70bcb8a7a4')
47
47
  };
48
48
 
49
49
  export const ProtocolContractClassIdPreimage: Record<ProtocolContractName, { artifactHash: Fr; privateFunctionsRoot: Fr; publicBytecodeCommitment: Fr }> = {
50
50
  ContractInstanceRegistry: {
51
- artifactHash: Fr.fromString('0x04466e40f0c16f8887f67a7e440c1db06d647bfcb3c5d49c62b8a5248c359c00'),
52
- privateFunctionsRoot: Fr.fromString('0x0239b0f293384aad456e2e27901eb97cd9073322a28d14b0ac7816a5297b2812'),
53
- publicBytecodeCommitment: Fr.fromString('0x2c79b6699098244e947caca071a31799c20aa20e7124910a2b7c918fe817d65e'),
51
+ artifactHash: Fr.fromString('0x1a45ee8878136dff02e310c2c62b875be7480494673f5dc2d4f963746b0dbd8d'),
52
+ privateFunctionsRoot: Fr.fromString('0x05bb912d9d2871492d76c610472544d8219df70aa874768f9667e99861d7971f'),
53
+ publicBytecodeCommitment: Fr.fromString('0x232a10bc23611d07c57c32110e6ad7accd088e861c4e167a17bd7433fec2f020'),
54
54
  },
55
55
  ContractClassRegistry: {
56
- artifactHash: Fr.fromString('0x2dab24245f93027f0ef3a55d314ce0a3dff2eb72df31176250341bccbdfdba03'),
57
- privateFunctionsRoot: Fr.fromString('0x0672f623ec0753ab9fbb02a9a241df81b9bcc0dbed8628d8cab8790e0cb0c03d'),
56
+ artifactHash: Fr.fromString('0x2cbc206eed84dbb5fc5b5d34e223c8c26def6bf0eb4ef93a54936ef1d6be6bbb'),
57
+ privateFunctionsRoot: Fr.fromString('0x1226036210d1d3d19245a2fe913bd14c7d3922be9e551aa481189d9561ca23a2'),
58
58
  publicBytecodeCommitment: Fr.fromString('0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e'),
59
59
  },
60
60
  FeeJuice: {
61
- artifactHash: Fr.fromString('0x0f8391835edb72493831756f8f3e20a84b61857009024f592ef8c69304f4d31d'),
62
- privateFunctionsRoot: Fr.fromString('0x247aaafc67f6bf5b06736649181a477dac9f18d3468969b14669708c3dabb275'),
61
+ artifactHash: Fr.fromString('0x1a57ff2a8e653094229bd15c028683e08b2086dfeadecac4c6b950c383b3ae1d'),
62
+ privateFunctionsRoot: Fr.fromString('0x1c4bf54a4a33e3b9eae6f816dfc81e128d76d2646807a5443598c8adbd47f81f'),
63
63
  publicBytecodeCommitment: Fr.fromString('0x1d4b1a8f71b8250d4fb65f8e16a4604e9165648279f47d80e024ce2684c4bdfb'),
64
64
  }
65
65
  };
@@ -71,28 +71,28 @@ FeeJuice: Fr.fromString('0x00000000000000000000000000000000000000000000000000000
71
71
  };
72
72
 
73
73
  export const ProtocolContractPrivateFunctions: Record<ProtocolContractName, { selector: FunctionSelector; vkHash: Fr }[]> = {
74
- ContractInstanceRegistry: [{ selector: FunctionSelector.fromField(Fr.fromString('0x0000000000000000000000000000000000000000000000000000000077cff62f')), vkHash: Fr.fromString('0x08a57d0b4d164c6c8d92da9c3bfe57a4ac1a639ab0a2a0ccb60bbb6bcd37f245') }],
75
- ContractClassRegistry: [{ selector: FunctionSelector.fromField(Fr.fromString('0x000000000000000000000000000000000000000000000000000000006934ed0d')), vkHash: Fr.fromString('0x1531ed0e20d6d05f1aeb06f746c8c4b8f467174836d6edf915b0c45099b393ed') }],
76
- FeeJuice: [{ selector: FunctionSelector.fromField(Fr.fromString('0x00000000000000000000000000000000000000000000000000000000cbe67243')), vkHash: Fr.fromString('0x2dbad42bf59fe7ea908485dea59573b4d7fb8ddefb6a0f73bbcce79aa27d545c') }, { selector: FunctionSelector.fromField(Fr.fromString('0x00000000000000000000000000000000000000000000000000000000e8d374b6')), vkHash: Fr.fromString('0x2e9880e15fb0c9a5494faef915861144769e94aded54c737819ee75918fbda51') }]
74
+ ContractInstanceRegistry: [{ selector: FunctionSelector.fromField(Fr.fromString('0x0000000000000000000000000000000000000000000000000000000077cff62f')), vkHash: Fr.fromString('0x19172c0acecd517dd8995c2e36178ca2aa16cbe001c3606d8cd848776ab80d23') }],
75
+ ContractClassRegistry: [{ selector: FunctionSelector.fromField(Fr.fromString('0x000000000000000000000000000000000000000000000000000000006934ed0d')), vkHash: Fr.fromString('0x0609c8195389d9ff372c9788d314c1387c31a9a4b73dacad95b01f5e03956056') }],
76
+ FeeJuice: [{ selector: FunctionSelector.fromField(Fr.fromString('0x00000000000000000000000000000000000000000000000000000000cbe67243')), vkHash: Fr.fromString('0x0bdf2e5c4467f295f8defb436546a7f2e642e7fe75786d0d54aef497b76527a1') }, { selector: FunctionSelector.fromField(Fr.fromString('0x00000000000000000000000000000000000000000000000000000000e8d374b6')), vkHash: Fr.fromString('0x2616a94d2d2981737c31ed7d74b9fd32ddc8376bf436dd60fb2507662b47c6dd') }]
77
77
  };
78
78
 
79
79
 
80
80
 
81
81
  export const ProtocolContractsList = new ProtocolContracts([
82
- AztecAddress.fromString('0x1d99dee8cbd3bf8c68e5094b23838c29f1e6ef01c1b9ce221e8a35171e3b6eb8'),
83
- AztecAddress.fromString('0x06dfe62bfb54240305937575dce49eab9dd602636bfd6f9a7d5051728d30b0af'),
84
- AztecAddress.fromString('0x00c8b2c5fb213715b3b9ba5e68e2239fa97df49ad3e1b19acbde348007ba7e71'),
85
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
86
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
87
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
88
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
89
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
90
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
91
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
92
- AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000')
82
+ AztecAddress.fromStringUnsafe('0x0f75f6277a8850d5f77139ea643de697009a1ab4666673553b908b247d514f0f'),
83
+ AztecAddress.fromStringUnsafe('0x262381bdb818ed44505e217b6b02ecc37a1046edc6785b3caef6a86513d71058'),
84
+ AztecAddress.fromStringUnsafe('0x0aee027cb94b86007afb04f4378f4a2c1649e4642c72056896ba54819fbf5430'),
85
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000'),
86
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000'),
87
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000'),
88
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000'),
89
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000'),
90
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000'),
91
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000'),
92
+ AztecAddress.fromStringUnsafe('0x0000000000000000000000000000000000000000000000000000000000000000')
93
93
  ]);
94
94
 
95
- export const protocolContractsHash = Fr.fromString('0x2d0277dcfbd0213fa60233bb3edb87acabedcaff904a4e65830be9f30b881f70');
95
+ export const protocolContractsHash = Fr.fromString('0x0727efc9473643b7abbe3c57df72d68e86b244b99cae71b17553c0f937ea433b');
96
96
 
97
97
 
98
98
 
@@ -2,13 +2,13 @@ import { readFileSync } from 'fs';
2
2
  import { dirname, resolve } from 'path';
3
3
  import { fileURLToPath } from 'url';
4
4
 
5
- // Generated from end-to-end/src/e2e_deploy_contract/contract_class_registration.test.ts with AZTEC_GENERATE_TEST_DATA=1
5
+ // Generated from end-to-end/src/automine/contracts/deploy/contract_class_registration.test.ts with AZTEC_GENERATE_TEST_DATA=1
6
6
  export function getSampleContractClassPublishedEventPayload(): Buffer {
7
7
  const path = getPathToFixture('ContractClassPublishedEventData.hex');
8
8
  return Buffer.from(readFileSync(path).toString(), 'hex');
9
9
  }
10
10
 
11
- // Generated from end-to-end/src/e2e_deploy_contract/contract_class_registration.test.ts with AZTEC_GENERATE_TEST_DATA=1
11
+ // Generated from end-to-end/src/automine/contracts/deploy/contract_class_registration.test.ts with AZTEC_GENERATE_TEST_DATA=1
12
12
  export function getSampleContractInstancePublishedEventPayload(): Buffer {
13
13
  const path = getPathToFixture('ContractInstancePublishedEventData.hex');
14
14
  return Buffer.from(readFileSync(path).toString(), 'hex');