@aztec/protocol-contracts 0.72.1 → 0.73.0

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.
@@ -2,5 +2,5 @@ import { type AztecAddress, type Fr, type MerkleTree } from '@aztec/circuits.js'
2
2
  export declare function buildProtocolContractTree(contracts: {
3
3
  address: AztecAddress;
4
4
  leaf: Fr;
5
- }[]): MerkleTree;
5
+ }[]): Promise<MerkleTree>;
6
6
  //# sourceMappingURL=build_protocol_contract_tree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build_protocol_contract_tree.d.ts","sourceRoot":"","sources":["../src/build_protocol_contract_tree.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,EAAE,EACP,KAAK,UAAU,EAGhB,MAAM,oBAAoB,CAAC;AAG5B,wBAAgB,yBAAyB,CAAC,SAAS,EAAE;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,EAAE,CAAA;CAAE,EAAE,GAAG,UAAU,CAatG"}
1
+ {"version":3,"file":"build_protocol_contract_tree.d.ts","sourceRoot":"","sources":["../src/build_protocol_contract_tree.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,EAAE,EACP,KAAK,UAAU,EAGhB,MAAM,oBAAoB,CAAC;AAG5B,wBAAsB,yBAAyB,CAAC,SAAS,EAAE;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,EAAE,CAAA;CAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAarH"}
@@ -1,7 +1,7 @@
1
1
  import { MerkleTreeCalculator, PROTOCOL_CONTRACT_TREE_HEIGHT, } from '@aztec/circuits.js';
2
2
  import { poseidon2Hash } from '@aztec/foundation/crypto';
3
- export function buildProtocolContractTree(contracts) {
4
- const calculator = new MerkleTreeCalculator(PROTOCOL_CONTRACT_TREE_HEIGHT, Buffer.alloc(32), (a, b) => poseidon2Hash([a, b]).toBuffer());
3
+ export async function buildProtocolContractTree(contracts) {
4
+ const calculator = await MerkleTreeCalculator.create(PROTOCOL_CONTRACT_TREE_HEIGHT, Buffer.alloc(32), async (a, b) => (await poseidon2Hash([a, b])).toBuffer());
5
5
  const leaves = new Array(2 ** PROTOCOL_CONTRACT_TREE_HEIGHT).fill(Buffer.alloc(32));
6
6
  for (const contract of contracts) {
7
7
  const index = contract.address.toField().toNumber();
@@ -9,4 +9,4 @@ export function buildProtocolContractTree(contracts) {
9
9
  }
10
10
  return calculator.computeTree(leaves);
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRfcHJvdG9jb2xfY29udHJhY3RfdHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idWlsZF9wcm90b2NvbF9jb250cmFjdF90cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxvQkFBb0IsRUFDcEIsNkJBQTZCLEdBQzlCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpELE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxTQUFnRDtJQUN4RixNQUFNLFVBQVUsR0FBRyxJQUFJLG9CQUFvQixDQUFDLDZCQUE2QixFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDcEcsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQ2pDLENBQUM7SUFFRixNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksNkJBQTZCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXBGLEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFLENBQUM7UUFDakMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwRCxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hDLENBQUMifQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRfcHJvdG9jb2xfY29udHJhY3RfdHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idWlsZF9wcm90b2NvbF9jb250cmFjdF90cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxvQkFBb0IsRUFDcEIsNkJBQTZCLEdBQzlCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpELE1BQU0sQ0FBQyxLQUFLLFVBQVUseUJBQXlCLENBQUMsU0FBZ0Q7SUFDOUYsTUFBTSxVQUFVLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsNkJBQTZCLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ25ILENBQUMsTUFBTSxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUN6QyxDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLDZCQUE2QixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVwRixLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN4QyxDQUFDIn0=
@@ -12,7 +12,7 @@ export async function getCanonicalProtocolContract(name) {
12
12
  const address = ProtocolContractAddress[name];
13
13
  const salt = ProtocolContractSalt[name];
14
14
  // TODO(@spalladino): This computes the contract class from the artifact twice.
15
- const contractClass = getContractClassFromArtifact(artifact);
15
+ const contractClass = await getContractClassFromArtifact(artifact);
16
16
  const instance = await getContractInstanceFromDeployParams(artifact, { salt });
17
17
  return {
18
18
  instance: { ...instance, address },
@@ -29,4 +29,4 @@ export const ProtocolContractArtifact = {
29
29
  FeeJuice: FeeJuiceArtifact,
30
30
  Router: RouterArtifact,
31
31
  };
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVuZGxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3ZHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSx1QkFBdUIsRUFBNkIsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxLQUFLLFVBQVUsNEJBQTRCLENBQUMsSUFBMEI7SUFDM0UsTUFBTSxRQUFRLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsTUFBTSxPQUFPLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsTUFBTSxJQUFJLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsK0VBQStFO0lBQy9FLE1BQU0sYUFBYSxHQUFHLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdELE1BQU0sUUFBUSxHQUFHLE1BQU0sbUNBQW1DLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMvRSxPQUFPO1FBQ0wsUUFBUSxFQUFFLEVBQUUsR0FBRyxRQUFRLEVBQUUsT0FBTyxFQUFFO1FBQ2xDLGFBQWE7UUFDYixRQUFRO1FBQ1IsT0FBTztLQUNSLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQW1EO0lBQ3RGLFlBQVksRUFBRSxvQkFBb0I7SUFDbEMsd0JBQXdCLEVBQUUsZ0NBQWdDO0lBQzFELHVCQUF1QixFQUFFLCtCQUErQjtJQUN4RCxtQkFBbUIsRUFBRSwyQkFBMkI7SUFDaEQsUUFBUSxFQUFFLGdCQUFnQjtJQUMxQixNQUFNLEVBQUUsY0FBYztDQUN2QixDQUFDIn0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVuZGxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3ZHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSx1QkFBdUIsRUFBNkIsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxLQUFLLFVBQVUsNEJBQTRCLENBQUMsSUFBMEI7SUFDM0UsTUFBTSxRQUFRLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsTUFBTSxPQUFPLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsTUFBTSxJQUFJLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsK0VBQStFO0lBQy9FLE1BQU0sYUFBYSxHQUFHLE1BQU0sNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkUsTUFBTSxRQUFRLEdBQUcsTUFBTSxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLE9BQU87UUFDTCxRQUFRLEVBQUUsRUFBRSxHQUFHLFFBQVEsRUFBRSxPQUFPLEVBQUU7UUFDbEMsYUFBYTtRQUNiLFFBQVE7UUFDUixPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBbUQ7SUFDdEYsWUFBWSxFQUFFLG9CQUFvQjtJQUNsQyx3QkFBd0IsRUFBRSxnQ0FBZ0M7SUFDMUQsdUJBQXVCLEVBQUUsK0JBQStCO0lBQ3hELG1CQUFtQixFQUFFLDJCQUEyQjtJQUNoRCxRQUFRLEVBQUUsZ0JBQWdCO0lBQzFCLE1BQU0sRUFBRSxjQUFjO0NBQ3ZCLENBQUMifQ==
@@ -12,6 +12,6 @@ export declare class ContractClassRegisteredEvent {
12
12
  constructor(contractClassId: Fr, version: number, artifactHash: Fr, privateFunctionsRoot: Fr, packedPublicBytecode: Buffer);
13
13
  static isContractClassRegisteredEvent(log: Buffer): boolean;
14
14
  static fromLog(log: Buffer): ContractClassRegisteredEvent;
15
- toContractClassPublic(): ContractClassPublic;
15
+ toContractClassPublic(): Promise<ContractClassPublic>;
16
16
  }
17
17
  //# sourceMappingURL=contract_class_registered_event.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract_class_registered_event.d.ts","sourceRoot":"","sources":["../../src/class-registerer/contract_class_registered_event.ts"],"names":[],"mappings":";;AAAA,OAAO,EACL,KAAK,mBAAmB,EAKzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAO9C,sDAAsD;AACtD,qBAAa,4BAA4B;aAErB,eAAe,EAAE,EAAE;aACnB,OAAO,EAAE,MAAM;aACf,YAAY,EAAE,EAAE;aAChB,oBAAoB,EAAE,EAAE;aACxB,oBAAoB,EAAE,MAAM;gBAJ5B,eAAe,EAAE,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,EAAE,EAChB,oBAAoB,EAAE,EAAE,EACxB,oBAAoB,EAAE,MAAM;IAG9C,MAAM,CAAC,8BAA8B,CAAC,GAAG,EAAE,MAAM;IAIjD,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;IAmB1B,qBAAqB,IAAI,mBAAmB;CAqC7C"}
1
+ {"version":3,"file":"contract_class_registered_event.d.ts","sourceRoot":"","sources":["../../src/class-registerer/contract_class_registered_event.ts"],"names":[],"mappings":";;AAAA,OAAO,EACL,KAAK,mBAAmB,EAKzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAO9C,sDAAsD;AACtD,qBAAa,4BAA4B;aAErB,eAAe,EAAE,EAAE;aACnB,OAAO,EAAE,MAAM;aACf,YAAY,EAAE,EAAE;aAChB,oBAAoB,EAAE,EAAE;aACxB,oBAAoB,EAAE,MAAM;gBAJ5B,eAAe,EAAE,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,EAAE,EAChB,oBAAoB,EAAE,EAAE,EACxB,oBAAoB,EAAE,MAAM;IAG9C,MAAM,CAAC,8BAA8B,CAAC,GAAG,EAAE,MAAM;IAIjD,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;IAmBpB,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAqC5D"}
@@ -25,11 +25,11 @@ export class ContractClassRegisteredEvent {
25
25
  const packedPublicBytecode = bufferFromFields(chunk(reader.readToEnd(), Fr.SIZE_IN_BYTES).map(Buffer.from).map(Fr.fromBuffer));
26
26
  return new ContractClassRegisteredEvent(contractClassId, version, artifactHash, privateFunctionsRoot, packedPublicBytecode);
27
27
  }
28
- toContractClassPublic() {
29
- const computedClassId = computeContractClassId({
28
+ async toContractClassPublic() {
29
+ const computedClassId = await computeContractClassId({
30
30
  artifactHash: this.artifactHash,
31
31
  privateFunctionsRoot: this.privateFunctionsRoot,
32
- publicBytecodeCommitment: computePublicBytecodeCommitment(this.packedPublicBytecode),
32
+ publicBytecodeCommitment: await computePublicBytecodeCommitment(this.packedPublicBytecode),
33
33
  });
34
34
  if (!computedClassId.equals(this.contractClassId)) {
35
35
  throw new Error(`Invalid contract class id: computed ${computedClassId.toString()} but event broadcasted ${this.contractClassId.toString()}`);
@@ -57,4 +57,4 @@ export class ContractClassRegisteredEvent {
57
57
  };
58
58
  }
59
59
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3NfcmVnaXN0ZXJlZF9ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGFzcy1yZWdpc3RlcmVyL2NvbnRyYWN0X2NsYXNzX3JlZ2lzdGVyZWRfZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHdCQUF3QixFQUV4QixzQkFBc0IsRUFDdEIsK0JBQStCLEdBQ2hDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFFakMsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFeEYsc0RBQXNEO0FBQ3RELE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFDa0IsZUFBbUIsRUFDbkIsT0FBZSxFQUNmLFlBQWdCLEVBQ2hCLG9CQUF3QixFQUN4QixvQkFBNEI7UUFKNUIsb0JBQWUsR0FBZixlQUFlLENBQUk7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGlCQUFZLEdBQVosWUFBWSxDQUFJO1FBQ2hCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBSTtRQUN4Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVE7SUFDM0MsQ0FBQztJQUVKLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxHQUFXO1FBQy9DLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBVztRQUN4QixNQUFNLE1B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
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3NfcmVnaXN0ZXJlZF9ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGFzcy1yZWdpc3RlcmVyL2NvbnRyYWN0X2NsYXNzX3JlZ2lzdGVyZWRfZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHdCQUF3QixFQUV4QixzQkFBc0IsRUFDdEIsK0JBQStCLEdBQ2hDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFFakMsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFeEYsc0RBQXNEO0FBQ3RELE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFDa0IsZUFBbUIsRUFDbkIsT0FBZSxFQUNmLFlBQWdCLEVBQ2hCLG9CQUF3QixFQUN4QixvQkFBNEI7UUFKNUIsb0JBQWUsR0FBZixlQUFlLENBQUk7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGlCQUFZLEdBQVosWUFBWSxDQUFJO1FBQ2hCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBSTtRQUN4Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVE7SUFDM0MsQ0FBQztJQUVKLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxHQUFXO1FBQy9DLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBVztRQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0MsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sb0JBQW9CLEdBQUcsZ0JBQWdCLENBQzNDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FDaEYsQ0FBQztRQUVGLE9BQU8sSUFBSSw0QkFBNEIsQ0FDckMsZUFBZSxFQUNmLE9BQU8sRUFDUCxZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLG9CQUFvQixDQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxxQkFBcUI7UUFDekIsTUFBTSxlQUFlLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQztZQUNuRCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0Isb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtZQUMvQyx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztTQUMzRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUNsRCxNQUFNLElBQUksS0FBSyxDQUNiLHVDQUF1QyxlQUFlLENBQUMsUUFBUSxFQUFFLDBCQUEwQixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQzdILENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCw4RkFBOEY7UUFDOUYsTUFBTSxlQUFlLEdBQXFCLEVBQUUsQ0FBQztRQUM3QyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekMsZUFBZSxDQUFDLElBQUksQ0FBQztnQkFDbkIsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2dCQUN0RSxRQUFRLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjthQUNwQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUN4QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsY0FBYyxFQUFFLElBQUksQ0FBQyxvQkFBb0I7WUFDekMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtZQUMvQyxlQUFlLEVBQUUsZUFBZTtZQUNoQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsZ0JBQWdCLEVBQUUsRUFBRTtZQUNwQixzQkFBc0IsRUFBRSxFQUFFO1NBQzNCLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
@@ -8,7 +8,7 @@ export async function makeProtocolContract(name, artifact) {
8
8
  const address = ProtocolContractAddress[name];
9
9
  const salt = ProtocolContractSalt[name];
10
10
  // TODO(@spalladino): This computes the contract class from the artifact twice.
11
- const contractClass = getContractClassFromArtifact(artifact);
11
+ const contractClass = await getContractClassFromArtifact(artifact);
12
12
  const instance = await getContractInstanceFromDeployParams(artifact, { salt });
13
13
  return {
14
14
  instance: { ...instance, address },
@@ -17,4 +17,4 @@ export async function makeProtocolContract(name, artifact) {
17
17
  address,
18
18
  };
19
19
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZV9wcm90b2NvbF9jb250cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWtlX3Byb3RvY29sX2NvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBNkIsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2SDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLG9CQUFvQixDQUN4QyxJQUEwQixFQUMxQixRQUEwQjtJQUUxQixNQUFNLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxNQUFNLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QywrRUFBK0U7SUFDL0UsTUFBTSxhQUFhLEdBQUcsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLE9BQU87UUFDTCxRQUFRLEVBQUUsRUFBRSxHQUFHLFFBQVEsRUFBRSxPQUFPLEVBQUU7UUFDbEMsYUFBYTtRQUNiLFFBQVE7UUFDUixPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUMifQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZV9wcm90b2NvbF9jb250cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWtlX3Byb3RvY29sX2NvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBNkIsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2SDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLG9CQUFvQixDQUN4QyxJQUEwQixFQUMxQixRQUEwQjtJQUUxQixNQUFNLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxNQUFNLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QywrRUFBK0U7SUFDL0UsTUFBTSxhQUFhLEdBQUcsTUFBTSw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRSxNQUFNLFFBQVEsR0FBRyxNQUFNLG1DQUFtQyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0UsT0FBTztRQUNMLFFBQVEsRUFBRSxFQUFFLEdBQUcsUUFBUSxFQUFFLE9BQU8sRUFBRTtRQUNsQyxhQUFhO1FBQ2IsUUFBUTtRQUNSLE9BQU87S0FDUixDQUFDO0FBQ0osQ0FBQyJ9
@@ -25,14 +25,14 @@ export const ProtocolContractAddress = {
25
25
  Router: AztecAddress.fromBigInt(6n),
26
26
  };
27
27
  export const ProtocolContractLeaf = {
28
- AuthRegistry: Fr.fromHexString('0x1a20ef72c5c43c74e02cc7c2b56eb36864d0f8825e4fa6320d7e0bbc50594de0'),
29
- ContractInstanceDeployer: Fr.fromHexString('0x12ae40a5f831652697445f897e440b97326efbb501100935b0e10caeef6e1bb7'),
30
- ContractClassRegisterer: Fr.fromHexString('0x1dff27c33f85c4c1a8f4af2b64d00ffb5f25cc0c76a4705fefa0771cc3a4ceef'),
31
- MultiCallEntrypoint: Fr.fromHexString('0x2702bf6bd87e05e1675763669a6c50827632fbb1466d3a75edf03c00ddece2ce'),
32
- FeeJuice: Fr.fromHexString('0x169cb47f8124429cecc1bf69ddd168f624409a292f2ceab8e488e6ab23792869'),
33
- Router: Fr.fromHexString('0x0d24083b07c95816a15dac8f69533e79893617ec950dafb26dff540627e99dd4'),
28
+ AuthRegistry: Fr.fromHexString('0x201c850dedc42fce3a3b21643a576749faced7416d6596bc67c8698c39f632ef'),
29
+ ContractInstanceDeployer: Fr.fromHexString('0x0cb48d40036c52d8871eb0702e89c2eae4e9fd6e22aeff97339613aedf7ad1b3'),
30
+ ContractClassRegisterer: Fr.fromHexString('0x20ba518f194f175b4d4aaeafb612b6ede29fddbb3a825a912caf9ba247be565f'),
31
+ MultiCallEntrypoint: Fr.fromHexString('0x07935de08f0d1151559980b0fb2b53c7fdd87f7a81da975c43ce38183cc3b1a0'),
32
+ FeeJuice: Fr.fromHexString('0x2e52c28298a428169cd04083df8eed1217e92d0e0afb7694d2937da4655feaa7'),
33
+ Router: Fr.fromHexString('0x010803e687047aeafce98a4929c00576314b4f55540e14cad36b1e7a468e66c5'),
34
34
  };
35
- export const protocolContractTreeRoot = Fr.fromHexString('0x16053f1708c11c3addddc3b2cc6eb4db86b51e4c5713cce923c72eedeed14394');
35
+ export const protocolContractTreeRoot = Fr.fromHexString('0x2a22cd0a794cac972cdb72767be4c8375625d1de577ffdde150b685809f19423');
36
36
  export const REGISTERER_CONTRACT_CLASS_REGISTERED_TAG = new Fr(11121068431693264234253912047066709627593769337094408533543930778360n);
37
37
  export const REGISTERER_PRIVATE_FUNCTION_BROADCASTED_TAG = new Fr(2889881020989534926461066592611988634597302675057895885580456197069n);
38
38
  export const REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_TAG = new Fr(24399338136397901754495080759185489776044879232766421623673792970137n);
@@ -1,3 +1,3 @@
1
1
  import { type AztecAddress, Fr } from '@aztec/circuits.js';
2
- export declare function getProtocolContractSiblingPath(address: AztecAddress): [Fr, Fr, Fr];
2
+ export declare function getProtocolContractSiblingPath(address: AztecAddress): Promise<[Fr, Fr, Fr]>;
3
3
  //# sourceMappingURL=protocol_contract_tree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol_contract_tree.d.ts","sourceRoot":"","sources":["../src/protocol_contract_tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,EAAE,EAAkD,MAAM,oBAAoB,CAAC;AAmB3G,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,YAAY,gBAOnE"}
1
+ {"version":3,"file":"protocol_contract_tree.d.ts","sourceRoot":"","sources":["../src/protocol_contract_tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,EAAE,EAAkD,MAAM,oBAAoB,CAAC;AAmB3G,wBAAsB,8BAA8B,CAAC,OAAO,EAAE,YAAY,yBAOzE"}
@@ -3,19 +3,19 @@ import { assertLength } from '@aztec/foundation/serialize';
3
3
  import { buildProtocolContractTree } from './build_protocol_contract_tree.js';
4
4
  import { ProtocolContractAddress, ProtocolContractLeaf, protocolContractNames } from './protocol_contract_data.js';
5
5
  let protocolContractTree;
6
- function getTree() {
6
+ async function getTree() {
7
7
  if (!protocolContractTree) {
8
8
  const leaves = protocolContractNames.map(name => ({
9
9
  address: ProtocolContractAddress[name],
10
10
  leaf: ProtocolContractLeaf[name],
11
11
  }));
12
- protocolContractTree = buildProtocolContractTree(leaves);
12
+ protocolContractTree = await buildProtocolContractTree(leaves);
13
13
  }
14
14
  return protocolContractTree;
15
15
  }
16
- export function getProtocolContractSiblingPath(address) {
17
- const tree = getTree();
16
+ export async function getProtocolContractSiblingPath(address) {
17
+ const tree = await getTree();
18
18
  const index = address.toField().toNumber();
19
19
  return assertLength(tree.getSiblingPath(index).map(buf => new Fr(buf)), PROTOCOL_CONTRACT_TREE_HEIGHT);
20
20
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RfdHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm90b2NvbF9jb250cmFjdF90cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsRUFBRSxFQUFtQiw2QkFBNkIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVuSCxJQUFJLG9CQUE0QyxDQUFDO0FBRWpELFNBQVMsT0FBTztJQUNkLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzFCLE1BQU0sTUFBTSxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEQsT0FBTyxFQUFFLHVCQUF1QixDQUFDLElBQUksQ0FBQztZQUN0QyxJQUFJLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDO1NBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0osb0JBQW9CLEdBQUcseUJBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELE9BQU8sb0JBQW9CLENBQUM7QUFDOUIsQ0FBQztBQUVELE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxPQUFxQjtJQUNsRSxNQUFNLElBQUksR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUN2QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0MsT0FBTyxZQUFZLENBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDbEQsNkJBQTZCLENBQzlCLENBQUM7QUFDSixDQUFDIn0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RfdHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm90b2NvbF9jb250cmFjdF90cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsRUFBRSxFQUFtQiw2QkFBNkIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVuSCxJQUFJLG9CQUE0QyxDQUFDO0FBRWpELEtBQUssVUFBVSxPQUFPO0lBQ3BCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzFCLE1BQU0sTUFBTSxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEQsT0FBTyxFQUFFLHVCQUF1QixDQUFDLElBQUksQ0FBQztZQUN0QyxJQUFJLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDO1NBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0osb0JBQW9CLEdBQUcsTUFBTSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsT0FBTyxvQkFBb0IsQ0FBQztBQUM5QixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSw4QkFBOEIsQ0FBQyxPQUFxQjtJQUN4RSxNQUFNLElBQUksR0FBRyxNQUFNLE9BQU8sRUFBRSxDQUFDO0lBQzdCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQyxPQUFPLFlBQVksQ0FDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUNsRCw2QkFBNkIsQ0FDOUIsQ0FBQztBQUNKLENBQUMifQ==
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": "0.72.1",
5
+ "version": "0.73.0",
6
6
  "type": "module",
7
7
  "exports": {
8
8
  ".": "./dest/index.js",
@@ -69,9 +69,9 @@
69
69
  ]
70
70
  },
71
71
  "dependencies": {
72
- "@aztec/circuits.js": "0.72.1",
73
- "@aztec/foundation": "0.72.1",
74
- "@aztec/types": "0.72.1",
72
+ "@aztec/circuits.js": "0.73.0",
73
+ "@aztec/foundation": "0.73.0",
74
+ "@aztec/types": "0.73.0",
75
75
  "lodash.chunk": "^4.2.0",
76
76
  "lodash.omit": "^4.5.0",
77
77
  "tslib": "^2.4.0"
@@ -7,9 +7,9 @@ import {
7
7
  } from '@aztec/circuits.js';
8
8
  import { poseidon2Hash } from '@aztec/foundation/crypto';
9
9
 
10
- export function buildProtocolContractTree(contracts: { address: AztecAddress; leaf: Fr }[]): MerkleTree {
11
- const calculator = new MerkleTreeCalculator(PROTOCOL_CONTRACT_TREE_HEIGHT, Buffer.alloc(32), (a, b) =>
12
- poseidon2Hash([a, b]).toBuffer(),
10
+ export async function buildProtocolContractTree(contracts: { address: AztecAddress; leaf: Fr }[]): Promise<MerkleTree> {
11
+ const calculator = await MerkleTreeCalculator.create(PROTOCOL_CONTRACT_TREE_HEIGHT, Buffer.alloc(32), async (a, b) =>
12
+ (await poseidon2Hash([a, b])).toBuffer(),
13
13
  );
14
14
 
15
15
  const leaves = new Array(2 ** PROTOCOL_CONTRACT_TREE_HEIGHT).fill(Buffer.alloc(32));
@@ -16,7 +16,7 @@ export async function getCanonicalProtocolContract(name: ProtocolContractName):
16
16
  const address = ProtocolContractAddress[name];
17
17
  const salt = ProtocolContractSalt[name];
18
18
  // TODO(@spalladino): This computes the contract class from the artifact twice.
19
- const contractClass = getContractClassFromArtifact(artifact);
19
+ const contractClass = await getContractClassFromArtifact(artifact);
20
20
  const instance = await getContractInstanceFromDeployParams(artifact, { salt });
21
21
  return {
22
22
  instance: { ...instance, address },
@@ -46,11 +46,11 @@ export class ContractClassRegisteredEvent {
46
46
  );
47
47
  }
48
48
 
49
- toContractClassPublic(): ContractClassPublic {
50
- const computedClassId = computeContractClassId({
49
+ async toContractClassPublic(): Promise<ContractClassPublic> {
50
+ const computedClassId = await computeContractClassId({
51
51
  artifactHash: this.artifactHash,
52
52
  privateFunctionsRoot: this.privateFunctionsRoot,
53
- publicBytecodeCommitment: computePublicBytecodeCommitment(this.packedPublicBytecode),
53
+ publicBytecodeCommitment: await computePublicBytecodeCommitment(this.packedPublicBytecode),
54
54
  });
55
55
 
56
56
  if (!computedClassId.equals(this.contractClassId)) {
@@ -15,7 +15,7 @@ export async function makeProtocolContract(
15
15
  const address = ProtocolContractAddress[name];
16
16
  const salt = ProtocolContractSalt[name];
17
17
  // TODO(@spalladino): This computes the contract class from the artifact twice.
18
- const contractClass = getContractClassFromArtifact(artifact);
18
+ const contractClass = await getContractClassFromArtifact(artifact);
19
19
  const instance = await getContractInstanceFromDeployParams(artifact, { salt });
20
20
  return {
21
21
  instance: { ...instance, address },
@@ -31,16 +31,16 @@ export const ProtocolContractAddress: Record<ProtocolContractName, AztecAddress>
31
31
  };
32
32
 
33
33
  export const ProtocolContractLeaf = {
34
- AuthRegistry: Fr.fromHexString('0x1a20ef72c5c43c74e02cc7c2b56eb36864d0f8825e4fa6320d7e0bbc50594de0'),
35
- ContractInstanceDeployer: Fr.fromHexString('0x12ae40a5f831652697445f897e440b97326efbb501100935b0e10caeef6e1bb7'),
36
- ContractClassRegisterer: Fr.fromHexString('0x1dff27c33f85c4c1a8f4af2b64d00ffb5f25cc0c76a4705fefa0771cc3a4ceef'),
37
- MultiCallEntrypoint: Fr.fromHexString('0x2702bf6bd87e05e1675763669a6c50827632fbb1466d3a75edf03c00ddece2ce'),
38
- FeeJuice: Fr.fromHexString('0x169cb47f8124429cecc1bf69ddd168f624409a292f2ceab8e488e6ab23792869'),
39
- Router: Fr.fromHexString('0x0d24083b07c95816a15dac8f69533e79893617ec950dafb26dff540627e99dd4'),
34
+ AuthRegistry: Fr.fromHexString('0x201c850dedc42fce3a3b21643a576749faced7416d6596bc67c8698c39f632ef'),
35
+ ContractInstanceDeployer: Fr.fromHexString('0x0cb48d40036c52d8871eb0702e89c2eae4e9fd6e22aeff97339613aedf7ad1b3'),
36
+ ContractClassRegisterer: Fr.fromHexString('0x20ba518f194f175b4d4aaeafb612b6ede29fddbb3a825a912caf9ba247be565f'),
37
+ MultiCallEntrypoint: Fr.fromHexString('0x07935de08f0d1151559980b0fb2b53c7fdd87f7a81da975c43ce38183cc3b1a0'),
38
+ FeeJuice: Fr.fromHexString('0x2e52c28298a428169cd04083df8eed1217e92d0e0afb7694d2937da4655feaa7'),
39
+ Router: Fr.fromHexString('0x010803e687047aeafce98a4929c00576314b4f55540e14cad36b1e7a468e66c5'),
40
40
  };
41
41
 
42
42
  export const protocolContractTreeRoot = Fr.fromHexString(
43
- '0x16053f1708c11c3addddc3b2cc6eb4db86b51e4c5713cce923c72eedeed14394',
43
+ '0x2a22cd0a794cac972cdb72767be4c8375625d1de577ffdde150b685809f19423',
44
44
  );
45
45
 
46
46
  export const REGISTERER_CONTRACT_CLASS_REGISTERED_TAG = new Fr(
@@ -6,19 +6,19 @@ import { ProtocolContractAddress, ProtocolContractLeaf, protocolContractNames }
6
6
 
7
7
  let protocolContractTree: MerkleTree | undefined;
8
8
 
9
- function getTree() {
9
+ async function getTree() {
10
10
  if (!protocolContractTree) {
11
11
  const leaves = protocolContractNames.map(name => ({
12
12
  address: ProtocolContractAddress[name],
13
13
  leaf: ProtocolContractLeaf[name],
14
14
  }));
15
- protocolContractTree = buildProtocolContractTree(leaves);
15
+ protocolContractTree = await buildProtocolContractTree(leaves);
16
16
  }
17
17
  return protocolContractTree;
18
18
  }
19
19
 
20
- export function getProtocolContractSiblingPath(address: AztecAddress) {
21
- const tree = getTree();
20
+ export async function getProtocolContractSiblingPath(address: AztecAddress) {
21
+ const tree = await getTree();
22
22
  const index = address.toField().toNumber();
23
23
  return assertLength<Fr, typeof PROTOCOL_CONTRACT_TREE_HEIGHT>(
24
24
  tree.getSiblingPath(index).map(buf => new Fr(buf)),