@aztec/protocol-contracts 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.75.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.
Files changed (64) hide show
  1. package/artifacts/AuthRegistry.json +432 -432
  2. package/artifacts/ContractClassRegisterer.json +279 -279
  3. package/artifacts/ContractInstanceDeployer.json +166 -166
  4. package/artifacts/FeeJuice.json +458 -433
  5. package/artifacts/MultiCallEntrypoint.json +242 -242
  6. package/artifacts/Router.json +210 -210
  7. package/dest/auth-registry/index.d.ts +5 -0
  8. package/dest/auth-registry/index.d.ts.map +1 -0
  9. package/dest/auth-registry/index.js +4 -4
  10. package/dest/build_protocol_contract_tree.d.ts +6 -0
  11. package/dest/build_protocol_contract_tree.d.ts.map +1 -0
  12. package/dest/build_protocol_contract_tree.js +4 -6
  13. package/dest/bundle/index.d.ts +7 -0
  14. package/dest/bundle/index.d.ts.map +1 -0
  15. package/dest/bundle/index.js +7 -10
  16. package/dest/class-registerer/contract_class_registered_event.d.ts +17 -0
  17. package/dest/class-registerer/contract_class_registered_event.d.ts.map +1 -0
  18. package/dest/class-registerer/contract_class_registered_event.js +8 -11
  19. package/dest/class-registerer/index.d.ts +8 -0
  20. package/dest/class-registerer/index.d.ts.map +1 -0
  21. package/dest/class-registerer/index.js +4 -4
  22. package/dest/class-registerer/private_function_broadcasted_event.d.ts +43 -0
  23. package/dest/class-registerer/private_function_broadcasted_event.d.ts.map +1 -0
  24. package/dest/class-registerer/private_function_broadcasted_event.js +19 -19
  25. package/dest/class-registerer/unconstrained_function_broadcasted_event.d.ts +37 -0
  26. package/dest/class-registerer/unconstrained_function_broadcasted_event.d.ts.map +1 -0
  27. package/dest/class-registerer/unconstrained_function_broadcasted_event.js +16 -15
  28. package/dest/fee-juice/index.d.ts +5 -0
  29. package/dest/fee-juice/index.d.ts.map +1 -0
  30. package/dest/fee-juice/index.js +4 -4
  31. package/dest/index.d.ts +4 -0
  32. package/dest/index.d.ts.map +1 -0
  33. package/dest/index.js +1 -0
  34. package/dest/instance-deployer/contract_instance_deployed_event.d.ts +18 -0
  35. package/dest/instance-deployer/contract_instance_deployed_event.d.ts.map +1 -0
  36. package/dest/instance-deployer/contract_instance_deployed_event.js +5 -10
  37. package/dest/instance-deployer/index.d.ts +6 -0
  38. package/dest/instance-deployer/index.d.ts.map +1 -0
  39. package/dest/instance-deployer/index.js +4 -4
  40. package/dest/make_protocol_contract.d.ts +9 -0
  41. package/dest/make_protocol_contract.d.ts.map +1 -0
  42. package/dest/make_protocol_contract.js +6 -9
  43. package/dest/multi-call-entrypoint/index.d.ts +5 -0
  44. package/dest/multi-call-entrypoint/index.d.ts.map +1 -0
  45. package/dest/multi-call-entrypoint/index.js +4 -4
  46. package/dest/protocol_contract.d.ts +15 -0
  47. package/dest/protocol_contract.d.ts.map +1 -0
  48. package/dest/protocol_contract.js +2 -1
  49. package/dest/protocol_contract_data.d.ts +19 -0
  50. package/dest/protocol_contract_data.d.ts.map +1 -0
  51. package/dest/protocol_contract_data.js +11 -10
  52. package/dest/protocol_contract_tree.d.ts +3 -0
  53. package/dest/protocol_contract_tree.d.ts.map +1 -0
  54. package/dest/protocol_contract_tree.js +6 -5
  55. package/dest/router/index.d.ts +5 -0
  56. package/dest/router/index.d.ts.map +1 -0
  57. package/dest/router/index.js +4 -4
  58. package/dest/tests/fixtures.d.ts +8 -0
  59. package/dest/tests/fixtures.d.ts.map +1 -0
  60. package/dest/tests/fixtures.js +1 -0
  61. package/package.json +7 -7
  62. package/src/protocol_contract_data.ts +57 -61
  63. package/dest/scripts/cleanup_artifacts.js +0 -16
  64. package/dest/scripts/generate_data.js +0 -157
@@ -1,14 +1,14 @@
1
1
  import { loadContractArtifact } from '@aztec/types/abi';
2
- import ContractInstanceDeployerJson from '../../artifacts/ContractInstanceDeployer.json' assert {
3
- type: 'json'
4
- };
2
+ import ContractInstanceDeployerJson from '../../artifacts/ContractInstanceDeployer.json' assert { type: 'json' };
5
3
  import { makeProtocolContract } from '../make_protocol_contract.js';
6
4
  export * from './contract_instance_deployed_event.js';
7
5
  export const ContractInstanceDeployerArtifact = loadContractArtifact(ContractInstanceDeployerJson);
8
6
  let protocolContract;
9
- /** Returns the canonical deployment of the contract. */ export async function getCanonicalInstanceDeployer() {
7
+ /** Returns the canonical deployment of the contract. */
8
+ export async function getCanonicalInstanceDeployer() {
10
9
  if (!protocolContract) {
11
10
  protocolContract = await makeProtocolContract('ContractInstanceDeployer', ContractInstanceDeployerArtifact);
12
11
  }
13
12
  return protocolContract;
14
13
  }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5zdGFuY2UtZGVwbG95ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHeEQsT0FBTyw0QkFBNEIsTUFBTSwrQ0FBK0MsQ0FBQyxTQUFTLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdwRSxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLG9CQUFvQixDQUNsRSw0QkFBb0QsQ0FDckQsQ0FBQztBQUVGLElBQUksZ0JBQWtDLENBQUM7QUFFdkMsd0RBQXdEO0FBQ3hELE1BQU0sQ0FBQyxLQUFLLFVBQVUsNEJBQTRCO0lBQ2hELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3RCLGdCQUFnQixHQUFHLE1BQU0sb0JBQW9CLENBQUMsMEJBQTBCLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBQ0QsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDIn0=
@@ -0,0 +1,9 @@
1
+ import { type ContractArtifact } from '@aztec/foundation/abi';
2
+ import { type ProtocolContract } from './protocol_contract.js';
3
+ import { type ProtocolContractName } from './protocol_contract_data.js';
4
+ /**
5
+ * Returns the canonical deployment given its name and artifact.
6
+ * To be used internally within the protocol-contracts package.
7
+ */
8
+ export declare function makeProtocolContract(name: ProtocolContractName, artifact: ContractArtifact): Promise<ProtocolContract>;
9
+ //# sourceMappingURL=make_protocol_contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make_protocol_contract.d.ts","sourceRoot":"","sources":["../src/make_protocol_contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAA2B,KAAK,oBAAoB,EAAwB,MAAM,6BAA6B,CAAC;AAEvH;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAY3B"}
@@ -3,21 +3,18 @@ import { ProtocolContractAddress, ProtocolContractSalt } from './protocol_contra
3
3
  /**
4
4
  * Returns the canonical deployment given its name and artifact.
5
5
  * To be used internally within the protocol-contracts package.
6
- */ export async function makeProtocolContract(name, artifact) {
6
+ */
7
+ export async function makeProtocolContract(name, artifact) {
7
8
  const address = ProtocolContractAddress[name];
8
9
  const salt = ProtocolContractSalt[name];
9
10
  // TODO(@spalladino): This computes the contract class from the artifact twice.
10
11
  const contractClass = await getContractClassFromArtifact(artifact);
11
- const instance = await getContractInstanceFromDeployParams(artifact, {
12
- salt
13
- });
12
+ const instance = await getContractInstanceFromDeployParams(artifact, { salt });
14
13
  return {
15
- instance: {
16
- ...instance,
17
- address
18
- },
14
+ instance: { ...instance, address },
19
15
  contractClass,
20
16
  artifact,
21
- address
17
+ address,
22
18
  };
23
19
  }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZV9wcm90b2NvbF9jb250cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWtlX3Byb3RvY29sX2NvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBNkIsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2SDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLG9CQUFvQixDQUN4QyxJQUEwQixFQUMxQixRQUEwQjtJQUUxQixNQUFNLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxNQUFNLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QywrRUFBK0U7SUFDL0UsTUFBTSxhQUFhLEdBQUcsTUFBTSw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRSxNQUFNLFFBQVEsR0FBRyxNQUFNLG1DQUFtQyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0UsT0FBTztRQUNMLFFBQVEsRUFBRSxFQUFFLEdBQUcsUUFBUSxFQUFFLE9BQU8sRUFBRTtRQUNsQyxhQUFhO1FBQ2IsUUFBUTtRQUNSLE9BQU87S0FDUixDQUFDO0FBQ0osQ0FBQyJ9
@@ -0,0 +1,5 @@
1
+ import { type ProtocolContract } from '../protocol_contract.js';
2
+ export declare const MultiCallEntrypointArtifact: import("@aztec/foundation/abi").ContractArtifact;
3
+ /** Returns the canonical deployment of the contract. */
4
+ export declare function getCanonicalMultiCallEntrypoint(): Promise<ProtocolContract>;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/multi-call-entrypoint/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,eAAO,MAAM,2BAA2B,kDAAwE,CAAC;AAIjH,wDAAwD;AACxD,wBAAsB,+BAA+B,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAKjF"}
@@ -1,13 +1,13 @@
1
1
  import { loadContractArtifact } from '@aztec/types/abi';
2
- import MultiCallEntrypointJson from '../../artifacts/MultiCallEntrypoint.json' assert {
3
- type: 'json'
4
- };
2
+ import MultiCallEntrypointJson from '../../artifacts/MultiCallEntrypoint.json' assert { type: 'json' };
5
3
  import { makeProtocolContract } from '../make_protocol_contract.js';
6
4
  export const MultiCallEntrypointArtifact = loadContractArtifact(MultiCallEntrypointJson);
7
5
  let protocolContract;
8
- /** Returns the canonical deployment of the contract. */ export async function getCanonicalMultiCallEntrypoint() {
6
+ /** Returns the canonical deployment of the contract. */
7
+ export async function getCanonicalMultiCallEntrypoint() {
9
8
  if (!protocolContract) {
10
9
  protocolContract = await makeProtocolContract('MultiCallEntrypoint', MultiCallEntrypointArtifact);
11
10
  }
12
11
  return protocolContract;
13
12
  }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbXVsdGktY2FsbC1lbnRyeXBvaW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3hELE9BQU8sdUJBQXVCLE1BQU0sMENBQTBDLENBQUMsU0FBUyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7QUFDdkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHcEUsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsb0JBQW9CLENBQUMsdUJBQStDLENBQUMsQ0FBQztBQUVqSCxJQUFJLGdCQUFrQyxDQUFDO0FBRXZDLHdEQUF3RDtBQUN4RCxNQUFNLENBQUMsS0FBSyxVQUFVLCtCQUErQjtJQUNuRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN0QixnQkFBZ0IsR0FBRyxNQUFNLG9CQUFvQixDQUFDLHFCQUFxQixFQUFFLDJCQUEyQixDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUNELE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQyJ9
@@ -0,0 +1,15 @@
1
+ import { type AztecAddress, type ContractClassIdPreimage, type ContractClassWithId, type ContractInstanceWithAddress } from '@aztec/circuits.js';
2
+ import { type ContractArtifact } from '@aztec/foundation/abi';
3
+ /** Represents a canonical contract in the protocol. */
4
+ export interface ProtocolContract {
5
+ /** Canonical deployed instance. */
6
+ instance: ContractInstanceWithAddress;
7
+ /** Contract class of this contract. */
8
+ contractClass: ContractClassWithId & ContractClassIdPreimage;
9
+ /** Complete contract artifact. */
10
+ artifact: ContractArtifact;
11
+ /** Deployment address for the canonical instance. */
12
+ address: AztecAddress;
13
+ }
14
+ export declare function isProtocolContract(address: AztecAddress): boolean;
15
+ //# sourceMappingURL=protocol_contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol_contract.d.ts","sourceRoot":"","sources":["../src/protocol_contract.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EACjC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,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"}
@@ -1,4 +1,5 @@
1
1
  import { ProtocolContractAddress } from './protocol_contract_data.js';
2
2
  export function isProtocolContract(address) {
3
- return Object.values(ProtocolContractAddress).some((a)=>a.equals(address));
3
+ return Object.values(ProtocolContractAddress).some(a => a.equals(address));
4
4
  }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvdG9jb2xfY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFjdEUsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE9BQXFCO0lBQ3RELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUM3RSxDQUFDIn0=
@@ -0,0 +1,19 @@
1
+ import { AztecAddress, Fr } from '@aztec/circuits.js';
2
+ export declare const protocolContractNames: readonly ["AuthRegistry", "ContractInstanceDeployer", "ContractClassRegisterer", "MultiCallEntrypoint", "FeeJuice", "Router"];
3
+ export type ProtocolContractName = (typeof protocolContractNames)[number];
4
+ export declare const ProtocolContractSalt: Record<ProtocolContractName, Fr>;
5
+ export declare const ProtocolContractAddress: Record<ProtocolContractName, AztecAddress>;
6
+ export declare const ProtocolContractLeaf: {
7
+ AuthRegistry: Fr;
8
+ ContractInstanceDeployer: Fr;
9
+ ContractClassRegisterer: Fr;
10
+ MultiCallEntrypoint: Fr;
11
+ FeeJuice: Fr;
12
+ Router: Fr;
13
+ };
14
+ export declare const protocolContractTreeRoot: Fr;
15
+ export declare const REGISTERER_CONTRACT_CLASS_REGISTERED_TAG: Fr;
16
+ export declare const REGISTERER_PRIVATE_FUNCTION_BROADCASTED_TAG: Fr;
17
+ export declare const REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_TAG: Fr;
18
+ export declare const DEPLOYER_CONTRACT_INSTANCE_DEPLOYED_TAG: Fr;
19
+ //# sourceMappingURL=protocol_contract_data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol_contract_data.d.ts","sourceRoot":"","sources":["../src/protocol_contract_data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAEtD,eAAO,MAAM,qBAAqB,+HAOxB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAOjE,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,oBAAoB,EAAE,YAAY,CAO9E,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;CAOhC,CAAC;AAEF,eAAO,MAAM,wBAAwB,IAEpC,CAAC;AAEF,eAAO,MAAM,wCAAwC,IAEpD,CAAC;AACF,eAAO,MAAM,2CAA2C,IAEvD,CAAC;AACF,eAAO,MAAM,iDAAiD,IAE7D,CAAC;AACF,eAAO,MAAM,uCAAuC,IAEnD,CAAC"}
@@ -6,7 +6,7 @@ export const protocolContractNames = [
6
6
  'ContractClassRegisterer',
7
7
  'MultiCallEntrypoint',
8
8
  'FeeJuice',
9
- 'Router'
9
+ 'Router',
10
10
  ];
11
11
  export const ProtocolContractSalt = {
12
12
  AuthRegistry: new Fr(1),
@@ -14,7 +14,7 @@ export const ProtocolContractSalt = {
14
14
  ContractClassRegisterer: new Fr(1),
15
15
  MultiCallEntrypoint: new Fr(1),
16
16
  FeeJuice: new Fr(1),
17
- Router: new Fr(1)
17
+ Router: new Fr(1),
18
18
  };
19
19
  export const ProtocolContractAddress = {
20
20
  AuthRegistry: AztecAddress.fromBigInt(1n),
@@ -22,18 +22,19 @@ export const ProtocolContractAddress = {
22
22
  ContractClassRegisterer: AztecAddress.fromBigInt(3n),
23
23
  MultiCallEntrypoint: AztecAddress.fromBigInt(4n),
24
24
  FeeJuice: AztecAddress.fromBigInt(5n),
25
- Router: AztecAddress.fromBigInt(6n)
25
+ Router: AztecAddress.fromBigInt(6n),
26
26
  };
27
27
  export const ProtocolContractLeaf = {
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')
28
+ AuthRegistry: Fr.fromHexString('0x2e9b53693d0b765a2b3ba243a294d01280ad7cd80014562779c0e3fa7769c6c0'),
29
+ ContractInstanceDeployer: Fr.fromHexString('0x1665c5fbc1e58ba19c82f64c0402d29e8bbf94b1fde1a056280d081c15b0dac1'),
30
+ ContractClassRegisterer: Fr.fromHexString('0x07083a7fc6507827b7f6b0277b320fd0b81ea10d9ee3f6222e7efb4d6a5ab6f8'),
31
+ MultiCallEntrypoint: Fr.fromHexString('0x237a0bac451ebac796b96dbe27ccfda5230e8c962b391b84b0304c3775e9e0c0'),
32
+ FeeJuice: Fr.fromHexString('0x2946115660107c3ca9bea1e486452595999c3677e7aaeaa9ca898e0fbba0051a'),
33
+ Router: Fr.fromHexString('0x1281e0c1842212e79fa2249877524dda4f07f3d42cb502097302737bd3177550'),
34
34
  };
35
- export const protocolContractTreeRoot = Fr.fromHexString('0x2a22cd0a794cac972cdb72767be4c8375625d1de577ffdde150b685809f19423');
35
+ export const protocolContractTreeRoot = Fr.fromHexString('0x0ce4f4afb5f14f68255ed5d6fdf1f78601278fac5968390d10126056db695537');
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);
39
39
  export const DEPLOYER_CONTRACT_INSTANCE_DEPLOYED_TAG = Fr.fromHexString('0x2ec28b91a5f838506d6042915005ff55cf7a0a5f889a83b11faed33a31b486f2');
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RfZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm90b2NvbF9jb250cmFjdF9kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRFQUE0RTtBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25DLGNBQWM7SUFDZCwwQkFBMEI7SUFDMUIseUJBQXlCO0lBQ3pCLHFCQUFxQjtJQUNyQixVQUFVO0lBQ1YsUUFBUTtDQUNBLENBQUM7QUFJWCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBcUM7SUFDcEUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2Qix3QkFBd0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkMsdUJBQXVCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLG1CQUFtQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM5QixRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25CLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7Q0FDbEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUErQztJQUNqRixZQUFZLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDekMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDckQsdUJBQXVCLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDcEQsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDaEQsUUFBUSxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO0lBQ3JDLE1BQU0sRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztDQUNwQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7SUFDbEMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsb0VBQW9FLENBQUM7SUFDcEcsd0JBQXdCLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxvRUFBb0UsQ0FBQztJQUNoSCx1QkFBdUIsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLG9FQUFvRSxDQUFDO0lBQy9HLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsb0VBQW9FLENBQUM7SUFDM0csUUFBUSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsb0VBQW9FLENBQUM7SUFDaEcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsb0VBQW9FLENBQUM7Q0FDL0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQ3RELG9FQUFvRSxDQUNyRSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQUcsSUFBSSxFQUFFLENBQzVELHFFQUFxRSxDQUN0RSxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sMkNBQTJDLEdBQUcsSUFBSSxFQUFFLENBQy9ELG9FQUFvRSxDQUNyRSxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0saURBQWlELEdBQUcsSUFBSSxFQUFFLENBQ3JFLHFFQUFxRSxDQUN0RSxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FDckUsb0VBQW9FLENBQ3JFLENBQUMifQ==
@@ -0,0 +1,3 @@
1
+ import { type AztecAddress, Fr } from '@aztec/circuits.js';
2
+ export declare function getProtocolContractSiblingPath(address: AztecAddress): Promise<[Fr, Fr, Fr]>;
3
+ //# sourceMappingURL=protocol_contract_tree.d.ts.map
@@ -0,0 +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,wBAAsB,8BAA8B,CAAC,OAAO,EAAE,YAAY,yBAOzE"}
@@ -5,10 +5,10 @@ import { ProtocolContractAddress, ProtocolContractLeaf, protocolContractNames }
5
5
  let protocolContractTree;
6
6
  async function getTree() {
7
7
  if (!protocolContractTree) {
8
- const leaves = protocolContractNames.map((name)=>({
9
- address: ProtocolContractAddress[name],
10
- leaf: ProtocolContractLeaf[name]
11
- }));
8
+ const leaves = protocolContractNames.map(name => ({
9
+ address: ProtocolContractAddress[name],
10
+ leaf: ProtocolContractLeaf[name],
11
+ }));
12
12
  protocolContractTree = await buildProtocolContractTree(leaves);
13
13
  }
14
14
  return protocolContractTree;
@@ -16,5 +16,6 @@ async function getTree() {
16
16
  export async function getProtocolContractSiblingPath(address) {
17
17
  const tree = await getTree();
18
18
  const index = address.toField().toNumber();
19
- return assertLength(tree.getSiblingPath(index).map((buf)=>new Fr(buf)), PROTOCOL_CONTRACT_TREE_HEIGHT);
19
+ return assertLength(tree.getSiblingPath(index).map(buf => new Fr(buf)), PROTOCOL_CONTRACT_TREE_HEIGHT);
20
20
  }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RfdHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm90b2NvbF9jb250cmFjdF90cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsRUFBRSxFQUFtQiw2QkFBNkIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVuSCxJQUFJLG9CQUE0QyxDQUFDO0FBRWpELEtBQUssVUFBVSxPQUFPO0lBQ3BCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzFCLE1BQU0sTUFBTSxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEQsT0FBTyxFQUFFLHVCQUF1QixDQUFDLElBQUksQ0FBQztZQUN0QyxJQUFJLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDO1NBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0osb0JBQW9CLEdBQUcsTUFBTSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsT0FBTyxvQkFBb0IsQ0FBQztBQUM5QixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSw4QkFBOEIsQ0FBQyxPQUFxQjtJQUN4RSxNQUFNLElBQUksR0FBRyxNQUFNLE9BQU8sRUFBRSxDQUFDO0lBQzdCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQyxPQUFPLFlBQVksQ0FDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUNsRCw2QkFBNkIsQ0FDOUIsQ0FBQztBQUNKLENBQUMifQ==
@@ -0,0 +1,5 @@
1
+ import { type ProtocolContract } from '../protocol_contract.js';
2
+ export declare const RouterArtifact: import("@aztec/foundation/abi").ContractArtifact;
3
+ /** Returns the canonical deployment of the contract. */
4
+ export declare function getCanonicalRouter(): Promise<ProtocolContract>;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,eAAO,MAAM,cAAc,kDAA2D,CAAC;AAIvF,wDAAwD;AACxD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAKpE"}
@@ -1,13 +1,13 @@
1
1
  import { loadContractArtifact } from '@aztec/types/abi';
2
- import RouterJson from '../../artifacts/Router.json' assert {
3
- type: 'json'
4
- };
2
+ import RouterJson from '../../artifacts/Router.json' assert { type: 'json' };
5
3
  import { makeProtocolContract } from '../make_protocol_contract.js';
6
4
  export const RouterArtifact = loadContractArtifact(RouterJson);
7
5
  let protocolContract;
8
- /** Returns the canonical deployment of the contract. */ export async function getCanonicalRouter() {
6
+ /** Returns the canonical deployment of the contract. */
7
+ export async function getCanonicalRouter() {
9
8
  if (!protocolContract) {
10
9
  protocolContract = await makeProtocolContract('Router', RouterArtifact);
11
10
  }
12
11
  return protocolContract;
13
12
  }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm91dGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3hELE9BQU8sVUFBVSxNQUFNLDZCQUE2QixDQUFDLFNBQVMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3BFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxVQUFrQyxDQUFDLENBQUM7QUFFdkYsSUFBSSxnQkFBa0MsQ0FBQztBQUV2Qyx3REFBd0Q7QUFDeEQsTUFBTSxDQUFDLEtBQUssVUFBVSxrQkFBa0I7SUFDdEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdEIsZ0JBQWdCLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUNELE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQyJ9
@@ -0,0 +1,8 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ export declare function getSampleContractClassRegisteredEventPayload(): Buffer;
4
+ export declare function getSamplePrivateFunctionBroadcastedEventPayload(): Buffer;
5
+ export declare function getSampleUnconstrainedFunctionBroadcastedEventPayload(): Buffer;
6
+ export declare function getSampleContractInstanceDeployedEventPayload(): Buffer;
7
+ export declare function getPathToFixture(name: string): string;
8
+ //# sourceMappingURL=fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/tests/fixtures.ts"],"names":[],"mappings":";;AAKA,wBAAgB,4CAA4C,IAAI,MAAM,CAGrE;AAGD,wBAAgB,+CAA+C,IAAI,MAAM,CAGxE;AAGD,wBAAgB,qDAAqD,IAAI,MAAM,CAG9E;AAGD,wBAAgB,6CAA6C,IAAI,MAAM,CAGtE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,UAE5C"}
@@ -24,3 +24,4 @@ export function getSampleContractInstanceDeployedEventPayload() {
24
24
  export function getPathToFixture(name) {
25
25
  return resolve(dirname(fileURLToPath(import.meta.url)), `../../fixtures/${name}`);
26
26
  }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdHMvZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLElBQUksQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXBDLHdIQUF3SDtBQUN4SCxNQUFNLFVBQVUsNENBQTRDO0lBQzFELE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDdEUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBRUQsd0hBQXdIO0FBQ3hILE1BQU0sVUFBVSwrQ0FBK0M7SUFDN0QsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMseUNBQXlDLENBQUMsQ0FBQztJQUN6RSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFFRCx3SEFBd0g7QUFDeEgsTUFBTSxVQUFVLHFEQUFxRDtJQUNuRSxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO0lBQy9FLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQUVELHdIQUF3SDtBQUN4SCxNQUFNLFVBQVUsNkNBQTZDO0lBQzNELE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLHVDQUF1QyxDQUFDLENBQUM7SUFDdkUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQVk7SUFDM0MsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLElBQUksRUFBRSxDQUFDLENBQUM7QUFDcEYsQ0FBQyJ9
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.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
5
+ "version": "0.75.0",
6
6
  "type": "module",
7
7
  "exports": {
8
8
  ".": "./dest/index.js",
@@ -22,14 +22,14 @@
22
22
  "build": "yarn clean && yarn generate && yarn generate:cleanup-artifacts && tsc -b",
23
23
  "build:keep-debug-symbols": "yarn clean && yarn generate && tsc -b",
24
24
  "generate": "yarn generate:data",
25
- "generate:cleanup-artifacts": "node --no-warnings --loader @swc-node/register/esm src/scripts/cleanup_artifacts.ts",
26
- "generate:data": "node --no-warnings --loader @swc-node/register/esm src/scripts/generate_data.ts",
25
+ "generate:cleanup-artifacts": "node --no-warnings --loader ts-node/esm src/scripts/cleanup_artifacts.ts",
26
+ "generate:data": "node --no-warnings --loader ts-node/esm src/scripts/generate_data.ts && run -T prettier -w src/protocol_contract_data.ts",
27
27
  "build:dev": "tsc -b --watch",
28
28
  "build:ts": "tsc -b",
29
29
  "clean": "rm -rf ./dest .tsbuildinfo ./artifacts",
30
30
  "formatting": "run -T prettier --check ./src && run -T eslint ./src",
31
31
  "formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
32
- "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
32
+ "test": "HARDWARE_CONCURRENCY=${HARDWARE_CONCURRENCY:-16} RAYON_NUM_THREADS=${RAYON_NUM_THREADS:-4} NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
33
33
  },
34
34
  "inherits": [
35
35
  "../package.common.json",
@@ -69,9 +69,9 @@
69
69
  ]
70
70
  },
71
71
  "dependencies": {
72
- "@aztec/circuits.js": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
73
- "@aztec/foundation": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
74
- "@aztec/types": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
72
+ "@aztec/circuits.js": "0.75.0",
73
+ "@aztec/foundation": "0.75.0",
74
+ "@aztec/types": "0.75.0",
75
75
  "lodash.chunk": "^4.2.0",
76
76
  "lodash.omit": "^4.5.0",
77
77
  "tslib": "^2.4.0"
@@ -1,61 +1,57 @@
1
-
2
- // GENERATED FILE - DO NOT EDIT. RUN `yarn generate` or `yarn generate:data`
3
- import { AztecAddress, Fr } from '@aztec/circuits.js';
4
-
5
-
6
- export const protocolContractNames = [
7
- 'AuthRegistry',
8
- 'ContractInstanceDeployer',
9
- 'ContractClassRegisterer',
10
- 'MultiCallEntrypoint',
11
- 'FeeJuice',
12
- 'Router'
13
- ] as const;
14
-
15
- export type ProtocolContractName = typeof protocolContractNames[number];
16
-
17
-
18
-
19
- export const ProtocolContractSalt: Record<ProtocolContractName, Fr> = {
20
- AuthRegistry: new Fr(1),
21
- ContractInstanceDeployer: new Fr(1),
22
- ContractClassRegisterer: new Fr(1),
23
- MultiCallEntrypoint: new Fr(1),
24
- FeeJuice: new Fr(1),
25
- Router: new Fr(1)
26
- };
27
-
28
-
29
-
30
- export const ProtocolContractAddress: Record<ProtocolContractName, AztecAddress> = {
31
- AuthRegistry: AztecAddress.fromBigInt(1n),
32
- ContractInstanceDeployer: AztecAddress.fromBigInt(2n),
33
- ContractClassRegisterer: AztecAddress.fromBigInt(3n),
34
- MultiCallEntrypoint: AztecAddress.fromBigInt(4n),
35
- FeeJuice: AztecAddress.fromBigInt(5n),
36
- Router: AztecAddress.fromBigInt(6n)
37
- };
38
-
39
-
40
-
41
- export const ProtocolContractLeaf = {
42
- AuthRegistry: Fr.fromHexString('0x201c850dedc42fce3a3b21643a576749faced7416d6596bc67c8698c39f632ef'),
43
- ContractInstanceDeployer: Fr.fromHexString('0x0cb48d40036c52d8871eb0702e89c2eae4e9fd6e22aeff97339613aedf7ad1b3'),
44
- ContractClassRegisterer: Fr.fromHexString('0x20ba518f194f175b4d4aaeafb612b6ede29fddbb3a825a912caf9ba247be565f'),
45
- MultiCallEntrypoint: Fr.fromHexString('0x07935de08f0d1151559980b0fb2b53c7fdd87f7a81da975c43ce38183cc3b1a0'),
46
- FeeJuice: Fr.fromHexString('0x2e52c28298a428169cd04083df8eed1217e92d0e0afb7694d2937da4655feaa7'),
47
- Router: Fr.fromHexString('0x010803e687047aeafce98a4929c00576314b4f55540e14cad36b1e7a468e66c5')
48
- };
49
-
50
-
51
-
52
- export const protocolContractTreeRoot = Fr.fromHexString('0x2a22cd0a794cac972cdb72767be4c8375625d1de577ffdde150b685809f19423');
53
-
54
-
55
-
56
- export const REGISTERER_CONTRACT_CLASS_REGISTERED_TAG = new Fr(11121068431693264234253912047066709627593769337094408533543930778360n);
57
- export const REGISTERER_PRIVATE_FUNCTION_BROADCASTED_TAG = new Fr(2889881020989534926461066592611988634597302675057895885580456197069n);
58
- export const REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_TAG = new Fr(24399338136397901754495080759185489776044879232766421623673792970137n);
59
- export const DEPLOYER_CONTRACT_INSTANCE_DEPLOYED_TAG = Fr.fromHexString('0x2ec28b91a5f838506d6042915005ff55cf7a0a5f889a83b11faed33a31b486f2');
60
-
61
-
1
+ // GENERATED FILE - DO NOT EDIT. RUN `yarn generate` or `yarn generate:data`
2
+ import { AztecAddress, Fr } from '@aztec/circuits.js';
3
+
4
+ export const protocolContractNames = [
5
+ 'AuthRegistry',
6
+ 'ContractInstanceDeployer',
7
+ 'ContractClassRegisterer',
8
+ 'MultiCallEntrypoint',
9
+ 'FeeJuice',
10
+ 'Router',
11
+ ] as const;
12
+
13
+ export type ProtocolContractName = (typeof protocolContractNames)[number];
14
+
15
+ export const ProtocolContractSalt: Record<ProtocolContractName, Fr> = {
16
+ AuthRegistry: new Fr(1),
17
+ ContractInstanceDeployer: new Fr(1),
18
+ ContractClassRegisterer: new Fr(1),
19
+ MultiCallEntrypoint: new Fr(1),
20
+ FeeJuice: new Fr(1),
21
+ Router: new Fr(1),
22
+ };
23
+
24
+ export const ProtocolContractAddress: Record<ProtocolContractName, AztecAddress> = {
25
+ AuthRegistry: AztecAddress.fromBigInt(1n),
26
+ ContractInstanceDeployer: AztecAddress.fromBigInt(2n),
27
+ ContractClassRegisterer: AztecAddress.fromBigInt(3n),
28
+ MultiCallEntrypoint: AztecAddress.fromBigInt(4n),
29
+ FeeJuice: AztecAddress.fromBigInt(5n),
30
+ Router: AztecAddress.fromBigInt(6n),
31
+ };
32
+
33
+ export const ProtocolContractLeaf = {
34
+ AuthRegistry: Fr.fromHexString('0x2e9b53693d0b765a2b3ba243a294d01280ad7cd80014562779c0e3fa7769c6c0'),
35
+ ContractInstanceDeployer: Fr.fromHexString('0x1665c5fbc1e58ba19c82f64c0402d29e8bbf94b1fde1a056280d081c15b0dac1'),
36
+ ContractClassRegisterer: Fr.fromHexString('0x07083a7fc6507827b7f6b0277b320fd0b81ea10d9ee3f6222e7efb4d6a5ab6f8'),
37
+ MultiCallEntrypoint: Fr.fromHexString('0x237a0bac451ebac796b96dbe27ccfda5230e8c962b391b84b0304c3775e9e0c0'),
38
+ FeeJuice: Fr.fromHexString('0x2946115660107c3ca9bea1e486452595999c3677e7aaeaa9ca898e0fbba0051a'),
39
+ Router: Fr.fromHexString('0x1281e0c1842212e79fa2249877524dda4f07f3d42cb502097302737bd3177550'),
40
+ };
41
+
42
+ export const protocolContractTreeRoot = Fr.fromHexString(
43
+ '0x0ce4f4afb5f14f68255ed5d6fdf1f78601278fac5968390d10126056db695537',
44
+ );
45
+
46
+ export const REGISTERER_CONTRACT_CLASS_REGISTERED_TAG = new Fr(
47
+ 11121068431693264234253912047066709627593769337094408533543930778360n,
48
+ );
49
+ export const REGISTERER_PRIVATE_FUNCTION_BROADCASTED_TAG = new Fr(
50
+ 2889881020989534926461066592611988634597302675057895885580456197069n,
51
+ );
52
+ export const REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_TAG = new Fr(
53
+ 24399338136397901754495080759185489776044879232766421623673792970137n,
54
+ );
55
+ export const DEPLOYER_CONTRACT_INSTANCE_DEPLOYED_TAG = Fr.fromHexString(
56
+ '0x2ec28b91a5f838506d6042915005ff55cf7a0a5f889a83b11faed33a31b486f2',
57
+ );
@@ -1,16 +0,0 @@
1
- import { fileURLToPath } from '@aztec/foundation/url';
2
- import { readFile, readdir, writeFile } from 'fs/promises';
3
- import { join } from 'path';
4
- async function cleanupArtifacts(target) {
5
- const files = await readdir(target);
6
- for (const file of files){
7
- if (!file.endsWith('.json')) {
8
- continue;
9
- }
10
- const fileData = JSON.parse((await readFile(join(target, file), 'utf8')).toString());
11
- fileData.file_map = {};
12
- fileData.debug_symbols = {};
13
- await writeFile(join(target, file), JSON.stringify(fileData));
14
- }
15
- }
16
- await cleanupArtifacts(fileURLToPath(new URL('../../artifacts', import.meta.url).href));
@@ -1,157 +0,0 @@
1
- import { AztecAddress, CANONICAL_AUTH_REGISTRY_ADDRESS, DEPLOYER_CONTRACT_ADDRESS, DEPLOYER_CONTRACT_INSTANCE_DEPLOYED_MAGIC_VALUE, FEE_JUICE_ADDRESS, Fr, MULTI_CALL_ENTRYPOINT_ADDRESS, REGISTERER_CONTRACT_ADDRESS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE, REGISTERER_PRIVATE_FUNCTION_BROADCASTED_MAGIC_VALUE, REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_MAGIC_VALUE, ROUTER_ADDRESS, getContractInstanceFromDeployParams } from '@aztec/circuits.js';
2
- import { poseidon2Hash } from '@aztec/foundation/crypto';
3
- import { createConsoleLogger } from '@aztec/foundation/log';
4
- import { loadContractArtifact } from '@aztec/types/abi';
5
- import { promises as fs } from 'fs';
6
- import path from 'path';
7
- import { buildProtocolContractTree } from '../build_protocol_contract_tree.js';
8
- const log = createConsoleLogger('autogenerate');
9
- const noirContractsRoot = '../../noir-projects/noir-contracts';
10
- const srcPath = path.join(noirContractsRoot, './target');
11
- const destArtifactsDir = './artifacts';
12
- const outputFilePath = './src/protocol_contract_data.ts';
13
- const salt = new Fr(1);
14
- const contractAddressMapping = {
15
- AuthRegistry: CANONICAL_AUTH_REGISTRY_ADDRESS,
16
- ContractInstanceDeployer: DEPLOYER_CONTRACT_ADDRESS,
17
- ContractClassRegisterer: REGISTERER_CONTRACT_ADDRESS,
18
- MultiCallEntrypoint: MULTI_CALL_ENTRYPOINT_ADDRESS,
19
- FeeJuice: FEE_JUICE_ADDRESS,
20
- Router: ROUTER_ADDRESS
21
- };
22
- async function clearDestDir() {
23
- try {
24
- await fs.access(destArtifactsDir);
25
- // If the directory exists, remove it recursively.
26
- await fs.rm(destArtifactsDir, {
27
- recursive: true,
28
- force: true
29
- });
30
- } catch (err) {
31
- if (err.code === 'ENOENT') {
32
- // If the directory does not exist, do nothing.
33
- } else {
34
- log(`Error removing dest directory: ${err}`);
35
- }
36
- }
37
- await fs.mkdir(destArtifactsDir, {
38
- recursive: true
39
- });
40
- }
41
- async function copyArtifact(srcName, destName) {
42
- const src = path.join(srcPath, `${srcName}.json`);
43
- const artifact = JSON.parse(await fs.readFile(src, 'utf8'));
44
- const dest = path.join(destArtifactsDir, `${destName}.json`);
45
- await fs.copyFile(src, dest);
46
- return artifact;
47
- }
48
- async function computeContractLeaf(artifact) {
49
- const instance = await getContractInstanceFromDeployParams(loadContractArtifact(artifact), {
50
- salt
51
- });
52
- return instance.address;
53
- }
54
- async function computeRoot(names, leaves) {
55
- const data = names.map((name, i)=>({
56
- address: new AztecAddress(new Fr(contractAddressMapping[name])),
57
- leaf: leaves[i]
58
- }));
59
- const tree = await buildProtocolContractTree(data);
60
- return Fr.fromBuffer(tree.root);
61
- }
62
- async function generateDeclarationFile(destName) {
63
- const content = `
64
- import { type NoirCompiledContract } from '@aztec/types/noir';
65
- const circuit: NoirCompiledContract;
66
- export = circuit;
67
- `;
68
- await fs.writeFile(path.join(destArtifactsDir, `${destName}.d.json.ts`), content);
69
- }
70
- function generateNames(names) {
71
- return `
72
- export const protocolContractNames = [
73
- ${names.map((name)=>`'${name}'`).join(',\n')}
74
- ] as const;
75
-
76
- export type ProtocolContractName = typeof protocolContractNames[number];
77
- `;
78
- }
79
- function generateSalts(names) {
80
- return `
81
- export const ProtocolContractSalt: Record<ProtocolContractName, Fr> = {
82
- ${names.map((name)=>`${name}: new Fr(${salt.toNumber()})`).join(',\n')}
83
- };
84
- `;
85
- }
86
- function generateContractAddresses(names) {
87
- const addresses = names.map((name)=>`${name}: AztecAddress.fromBigInt(${contractAddressMapping[name]}n)`).join(',\n');
88
- return `
89
- export const ProtocolContractAddress: Record<ProtocolContractName, AztecAddress> = {
90
- ${addresses}
91
- };
92
- `;
93
- }
94
- function generateContractLeaves(names, leaves) {
95
- return `
96
- export const ProtocolContractLeaf = {
97
- ${leaves.map((leaf, i)=>`${names[i]}: Fr.fromHexString('${leaf.toString()}')`).join(',\n')}
98
- };
99
- `;
100
- }
101
- async function generateRoot(names, leaves) {
102
- const root = await computeRoot(names, leaves);
103
- return `
104
- export const protocolContractTreeRoot = Fr.fromHexString('${root.toString()}');
105
- `;
106
- }
107
- async function generateLogTags() {
108
- return `
109
- export const REGISTERER_CONTRACT_CLASS_REGISTERED_TAG = new Fr(${REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE}n);
110
- export const REGISTERER_PRIVATE_FUNCTION_BROADCASTED_TAG = new Fr(${REGISTERER_PRIVATE_FUNCTION_BROADCASTED_MAGIC_VALUE}n);
111
- export const REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_TAG = new Fr(${REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_MAGIC_VALUE}n);
112
- export const DEPLOYER_CONTRACT_INSTANCE_DEPLOYED_TAG = Fr.fromHexString('${await poseidon2Hash([
113
- DEPLOYER_CONTRACT_ADDRESS,
114
- DEPLOYER_CONTRACT_INSTANCE_DEPLOYED_MAGIC_VALUE
115
- ])}');
116
- `;
117
- }
118
- async function generateOutputFile(names, leaves) {
119
- const content = `
120
- // GENERATED FILE - DO NOT EDIT. RUN \`yarn generate\` or \`yarn generate:data\`
121
- import { AztecAddress, Fr } from '@aztec/circuits.js';
122
-
123
- ${generateNames(names)}
124
-
125
- ${generateSalts(names)}
126
-
127
- ${generateContractAddresses(names)}
128
-
129
- ${generateContractLeaves(names, leaves)}
130
-
131
- ${await generateRoot(names, leaves)}
132
-
133
- ${await generateLogTags()}
134
- `;
135
- await fs.writeFile(outputFilePath, content);
136
- }
137
- async function main() {
138
- await clearDestDir();
139
- const srcNames = JSON.parse(await fs.readFile(path.join(noirContractsRoot, 'protocol_contracts.json'), 'utf8'));
140
- const leaves = [];
141
- const destNames = srcNames.map((n)=>n.split('-')[1]);
142
- for(let i = 0; i < srcNames.length; i++){
143
- const srcName = srcNames[i];
144
- const destName = destNames[i];
145
- const artifact = await copyArtifact(srcName, destName);
146
- await generateDeclarationFile(destName);
147
- const contractLeaf = await computeContractLeaf(artifact);
148
- leaves.push(contractLeaf.toField());
149
- }
150
- await generateOutputFile(destNames, leaves);
151
- }
152
- try {
153
- await main();
154
- } catch (err) {
155
- log(`Error copying protocol contract artifacts: ${err}`);
156
- process.exit(1);
157
- }