@aztec/protocol-contracts 0.0.1-fake-ceab37513c → 0.0.2-commit.217f559981

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 (110) hide show
  1. package/artifacts/AuthRegistry.json +1625 -1630
  2. package/artifacts/ContractClassRegistry.json +897 -7230
  3. package/artifacts/ContractInstanceRegistry.json +1105 -1772
  4. package/artifacts/FeeJuice.json +2884 -1598
  5. package/artifacts/MultiCallEntrypoint.json +1190 -1129
  6. package/artifacts/PublicChecks.json +988 -0
  7. package/dest/auth-registry/index.d.ts +1 -1
  8. package/dest/auth-registry/index.d.ts.map +1 -1
  9. package/dest/auth-registry/index.js +3 -3
  10. package/dest/auth-registry/lazy.d.ts +1 -1
  11. package/dest/auth-registry/lazy.js +5 -5
  12. package/dest/class-registry/contract_class_published_event.d.ts +3 -2
  13. package/dest/class-registry/contract_class_published_event.d.ts.map +1 -1
  14. package/dest/class-registry/contract_class_published_event.js +4 -0
  15. package/dest/class-registry/index.d.ts +1 -1
  16. package/dest/class-registry/index.d.ts.map +1 -1
  17. package/dest/class-registry/index.js +3 -3
  18. package/dest/class-registry/lazy.d.ts +1 -1
  19. package/dest/class-registry/lazy.js +5 -5
  20. package/dest/class-registry/private_function_broadcasted_event.d.ts +2 -2
  21. package/dest/class-registry/private_function_broadcasted_event.d.ts.map +1 -1
  22. package/dest/class-registry/utility_function_broadcasted_event.d.ts +2 -2
  23. package/dest/class-registry/utility_function_broadcasted_event.d.ts.map +1 -1
  24. package/dest/class-registry/utility_function_broadcasted_event.js +1 -1
  25. package/dest/fee-juice/index.d.ts +2 -2
  26. package/dest/fee-juice/index.d.ts.map +1 -1
  27. package/dest/fee-juice/index.js +3 -3
  28. package/dest/fee-juice/lazy.d.ts +1 -1
  29. package/dest/fee-juice/lazy.js +5 -5
  30. package/dest/index.d.ts +1 -2
  31. package/dest/index.d.ts.map +1 -1
  32. package/dest/index.js +0 -1
  33. package/dest/instance-registry/contract_instance_published_event.d.ts +3 -2
  34. package/dest/instance-registry/contract_instance_published_event.d.ts.map +1 -1
  35. package/dest/instance-registry/contract_instance_published_event.js +4 -1
  36. package/dest/instance-registry/contract_instance_updated_event.d.ts +2 -2
  37. package/dest/instance-registry/contract_instance_updated_event.d.ts.map +1 -1
  38. package/dest/instance-registry/contract_instance_updated_event.js +5 -7
  39. package/dest/instance-registry/index.d.ts +1 -1
  40. package/dest/instance-registry/index.d.ts.map +1 -1
  41. package/dest/instance-registry/index.js +3 -3
  42. package/dest/instance-registry/lazy.d.ts +1 -1
  43. package/dest/instance-registry/lazy.js +5 -5
  44. package/dest/make_protocol_contract.d.ts +4 -4
  45. package/dest/make_protocol_contract.d.ts.map +1 -1
  46. package/dest/make_protocol_contract.js +28 -14
  47. package/dest/multi-call-entrypoint/index.d.ts +1 -1
  48. package/dest/multi-call-entrypoint/index.d.ts.map +1 -1
  49. package/dest/multi-call-entrypoint/index.js +3 -3
  50. package/dest/multi-call-entrypoint/lazy.d.ts +1 -1
  51. package/dest/multi-call-entrypoint/lazy.js +5 -5
  52. package/dest/protocol_contract.d.ts +1 -1
  53. package/dest/protocol_contract_data.d.ts +25 -11
  54. package/dest/protocol_contract_data.d.ts.map +1 -1
  55. package/dest/protocol_contract_data.js +113 -13
  56. package/dest/provider/bundle.d.ts +1 -1
  57. package/dest/provider/bundle.d.ts.map +1 -1
  58. package/dest/provider/bundle.js +3 -3
  59. package/dest/provider/lazy.d.ts +1 -1
  60. package/dest/provider/lazy.d.ts.map +1 -1
  61. package/dest/provider/lazy.js +3 -3
  62. package/dest/provider/protocol_contracts_provider.d.ts +1 -1
  63. package/dest/public-checks/index.d.ts +5 -0
  64. package/dest/public-checks/index.d.ts.map +1 -0
  65. package/dest/public-checks/index.js +13 -0
  66. package/dest/public-checks/lazy.d.ts +6 -0
  67. package/dest/public-checks/lazy.d.ts.map +1 -0
  68. package/dest/public-checks/lazy.js +23 -0
  69. package/dest/scripts/generate_data.js +88 -37
  70. package/dest/tests/fixtures.d.ts +1 -1
  71. package/package.json +9 -8
  72. package/src/auth-registry/index.ts +3 -3
  73. package/src/auth-registry/lazy.ts +5 -5
  74. package/src/class-registry/contract_class_published_event.ts +8 -1
  75. package/src/class-registry/index.ts +3 -3
  76. package/src/class-registry/lazy.ts +5 -5
  77. package/src/class-registry/private_function_broadcasted_event.ts +1 -1
  78. package/src/class-registry/utility_function_broadcasted_event.ts +1 -1
  79. package/src/fee-juice/index.ts +4 -4
  80. package/src/fee-juice/lazy.ts +5 -5
  81. package/src/index.ts +0 -1
  82. package/src/instance-registry/contract_instance_published_event.ts +7 -1
  83. package/src/instance-registry/contract_instance_updated_event.ts +6 -8
  84. package/src/instance-registry/index.ts +3 -3
  85. package/src/instance-registry/lazy.ts +5 -5
  86. package/src/make_protocol_contract.ts +37 -15
  87. package/src/multi-call-entrypoint/index.ts +3 -3
  88. package/src/multi-call-entrypoint/lazy.ts +5 -5
  89. package/src/protocol_contract_data.ts +91 -13
  90. package/src/provider/bundle.ts +3 -3
  91. package/src/provider/lazy.ts +3 -3
  92. package/src/{router → public-checks}/index.ts +5 -5
  93. package/src/public-checks/lazy.ts +29 -0
  94. package/artifacts/Router.json +0 -4629
  95. package/dest/build_protocol_contract_tree.d.ts +0 -10
  96. package/dest/build_protocol_contract_tree.d.ts.map +0 -1
  97. package/dest/build_protocol_contract_tree.js +0 -20
  98. package/dest/protocol_contract_tree.d.ts +0 -7
  99. package/dest/protocol_contract_tree.d.ts.map +0 -1
  100. package/dest/protocol_contract_tree.js +0 -34
  101. package/dest/router/index.d.ts +0 -5
  102. package/dest/router/index.d.ts.map +0 -1
  103. package/dest/router/index.js +0 -13
  104. package/dest/router/lazy.d.ts +0 -6
  105. package/dest/router/lazy.d.ts.map +0 -1
  106. package/dest/router/lazy.js +0 -23
  107. package/src/build_protocol_contract_tree.ts +0 -29
  108. package/src/protocol_contract_tree.ts +0 -44
  109. package/src/router/lazy.ts +0 -29
  110. /package/artifacts/{Router.d.json.ts → PublicChecks.d.json.ts} +0 -0
@@ -4,10 +4,10 @@ let protocolContract;
4
4
  let protocolContractArtifact;
5
5
  export async function getMultiCallEntrypointArtifact() {
6
6
  if (!protocolContractArtifact) {
7
- // Cannot assert this import as it's incompatible with browsers
8
- // https://caniuse.com/mdn-javascript_statements_import_import_assertions_type_json
9
- // Use the new "with" syntax once supported by firefox
10
- // https://caniuse.com/mdn-javascript_statements_import_import_attributes_type_json
7
+ // Cannot assert this import as it's incompatible with bundlers like vite
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
10
+ // "text/javascript"
11
11
  // In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
12
12
  const { default: multiCallEntrypointJson } = await import('../../artifacts/MultiCallEntrypoint.json');
13
13
  protocolContractArtifact = loadContractArtifact(multiCallEntrypointJson);
@@ -17,7 +17,7 @@ export async function getMultiCallEntrypointArtifact() {
17
17
  /** Returns the canonical deployment of the auth registry. */ export async function getCanonicalMultiCallEntrypoint() {
18
18
  if (!protocolContract) {
19
19
  const multiCallEntrypointArtifact = await getMultiCallEntrypointArtifact();
20
- protocolContract = await makeProtocolContract('MultiCallEntrypoint', multiCallEntrypointArtifact);
20
+ protocolContract = makeProtocolContract('MultiCallEntrypoint', multiCallEntrypointArtifact);
21
21
  }
22
22
  return protocolContract;
23
23
  }
@@ -14,4 +14,4 @@ export interface ProtocolContract {
14
14
  }
15
15
  export declare function isProtocolContract(address: AztecAddress): boolean;
16
16
  export { type ProtocolContractsProvider } from './provider/protocol_contracts_provider.js';
17
- //# sourceMappingURL=protocol_contract.d.ts.map
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm90b2NvbF9jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJeEgsdURBQXVEO0FBQ3ZELE1BQU0sV0FBVyxnQkFBZ0I7SUFDL0IsbUNBQW1DO0lBQ25DLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQztJQUN0Qyx1Q0FBdUM7SUFDdkMsYUFBYSxFQUFFLG1CQUFtQixHQUFHLHVCQUF1QixDQUFDO0lBQzdELGtDQUFrQztJQUNsQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUM7SUFDM0Isc0RBQXNEO0lBQ3RELE9BQU8sRUFBRSxZQUFZLENBQUM7Q0FDdkI7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsT0FBTyxFQUFFLFlBQVksV0FFdkQ7QUFFRCxPQUFPLEVBQUUsS0FBSyx5QkFBeUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDIn0=
@@ -1,17 +1,31 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { FunctionSelector } from '@aztec/stdlib/abi';
2
3
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
- export declare const protocolContractNames: readonly ["AuthRegistry", "ContractInstanceRegistry", "ContractClassRegistry", "MultiCallEntrypoint", "FeeJuice", "Router"];
4
+ import { ProtocolContracts } from '@aztec/stdlib/tx';
5
+ export declare const protocolContractNames: readonly ["AuthRegistry", "ContractInstanceRegistry", "ContractClassRegistry", "MultiCallEntrypoint", "FeeJuice", "PublicChecks"];
4
6
  export type ProtocolContractName = typeof protocolContractNames[number];
5
7
  export declare const ProtocolContractSalt: Record<ProtocolContractName, Fr>;
6
8
  export declare const ProtocolContractAddress: Record<ProtocolContractName, AztecAddress>;
7
- export declare const ProtocolContractLeaves: {
8
- AuthRegistry: Fr;
9
- ContractInstanceRegistry: Fr;
10
- ContractClassRegistry: Fr;
11
- MultiCallEntrypoint: Fr;
12
- FeeJuice: Fr;
13
- Router: Fr;
9
+ export declare const ProtocolContractDerivedAddress: {
10
+ AuthRegistry: AztecAddress;
11
+ ContractInstanceRegistry: AztecAddress;
12
+ ContractClassRegistry: AztecAddress;
13
+ MultiCallEntrypoint: AztecAddress;
14
+ FeeJuice: AztecAddress;
15
+ PublicChecks: AztecAddress;
14
16
  };
15
- export declare const protocolContractTreeRoot: Fr;
17
+ export declare const ProtocolContractClassId: Record<ProtocolContractName, Fr>;
18
+ export declare const ProtocolContractClassIdPreimage: Record<ProtocolContractName, {
19
+ artifactHash: Fr;
20
+ privateFunctionsRoot: Fr;
21
+ publicBytecodeCommitment: Fr;
22
+ }>;
23
+ export declare const ProtocolContractInitializationHash: Record<ProtocolContractName, Fr>;
24
+ export declare const ProtocolContractPrivateFunctions: Record<ProtocolContractName, {
25
+ selector: FunctionSelector;
26
+ vkHash: Fr;
27
+ }[]>;
28
+ export declare const ProtocolContractsList: ProtocolContracts;
29
+ export declare const protocolContractsHash: Fr;
16
30
  export declare const CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG: Fr;
17
- //# sourceMappingURL=protocol_contract_data.d.ts.map
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RfZGF0YS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb3RvY29sX2NvbnRyYWN0X2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUksT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdyRCxlQUFPLE1BQU0scUJBQXFCLG1JQU94QixDQUFDO0FBRVgsTUFBTSxNQUFNLG9CQUFvQixHQUFHLE9BQU8scUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFJeEUsZUFBTyxNQUFNLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBT2pFLENBQUM7QUFJRixlQUFPLE1BQU0sdUJBQXVCLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixFQUFFLFlBQVksQ0FPOUUsQ0FBQztBQUlGLGVBQU8sTUFBTSw4QkFBOEI7Ozs7Ozs7Q0FPMUMsQ0FBQztBQUlGLGVBQU8sTUFBTSx1QkFBdUIsRUFBRSxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQU9wRSxDQUFDO0FBRUYsZUFBTyxNQUFNLCtCQUErQixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtJQUFFLFlBQVksRUFBRSxFQUFFLENBQUM7SUFBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7SUFBQyx3QkFBd0IsRUFBRSxFQUFFLENBQUE7Q0FBRSxDQStCdEosQ0FBQztBQUVGLGVBQU8sTUFBTSxrQ0FBa0MsRUFBRSxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQU8vRSxDQUFDO0FBRUYsZUFBTyxNQUFNLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtJQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQztJQUFDLE1BQU0sRUFBRSxFQUFFLENBQUE7Q0FBRSxFQUFFLENBT3ZILENBQUM7QUFJRixlQUFPLE1BQU0scUJBQXFCLG1CQVloQyxDQUFDO0FBRUgsZUFBTyxNQUFNLHFCQUFxQixJQUFzRixDQUFDO0FBSTNILGVBQU8sTUFBTSxxQ0FBcUMsSUFBeUYsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"protocol_contract_data.d.ts","sourceRoot":"","sources":["../src/protocol_contract_data.ts"],"names":[],"mappings":"AAEI,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D,eAAO,MAAM,qBAAqB,6HAOxB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAIxE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAOjE,CAAC;AAIF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,oBAAoB,EAAE,YAAY,CAO9E,CAAC;AAIF,eAAO,MAAM,sBAAsB;;;;;;;CAOlC,CAAC;AAIF,eAAO,MAAM,wBAAwB,IAAyF,CAAC;AAIjI,eAAO,MAAM,qCAAqC,IAAyF,CAAC"}
1
+ {"version":3,"file":"protocol_contract_data.d.ts","sourceRoot":"","sources":["../src/protocol_contract_data.ts"],"names":[],"mappings":"AAEI,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,eAAO,MAAM,qBAAqB,mIAOxB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAIxE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAOjE,CAAC;AAIF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,oBAAoB,EAAE,YAAY,CAO9E,CAAC;AAIF,eAAO,MAAM,8BAA8B;;;;;;;CAO1C,CAAC;AAIF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAOpE,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,oBAAoB,EAAE;IAAE,YAAY,EAAE,EAAE,CAAC;IAAC,oBAAoB,EAAE,EAAE,CAAC;IAAC,wBAAwB,EAAE,EAAE,CAAA;CAAE,CA+BtJ,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAO/E,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,oBAAoB,EAAE;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,EAAE,CAOvH,CAAC;AAIF,eAAO,MAAM,qBAAqB,mBAYhC,CAAC;AAEH,eAAO,MAAM,qBAAqB,IAAsF,CAAC;AAI3H,eAAO,MAAM,qCAAqC,IAAyF,CAAC"}
@@ -1,13 +1,15 @@
1
1
  // GENERATED FILE - DO NOT EDIT. RUN `yarn generate` or `yarn generate:data`
2
- import { Fr } from '@aztec/foundation/fields';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
+ import { FunctionSelector } from '@aztec/stdlib/abi';
3
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
+ import { ProtocolContracts } from '@aztec/stdlib/tx';
4
6
  export const protocolContractNames = [
5
7
  'AuthRegistry',
6
8
  'ContractInstanceRegistry',
7
9
  'ContractClassRegistry',
8
10
  'MultiCallEntrypoint',
9
11
  'FeeJuice',
10
- 'Router'
12
+ 'PublicChecks'
11
13
  ];
12
14
  export const ProtocolContractSalt = {
13
15
  AuthRegistry: new Fr(1),
@@ -15,7 +17,7 @@ export const ProtocolContractSalt = {
15
17
  ContractClassRegistry: new Fr(1),
16
18
  MultiCallEntrypoint: new Fr(1),
17
19
  FeeJuice: new Fr(1),
18
- Router: new Fr(1)
20
+ PublicChecks: new Fr(1)
19
21
  };
20
22
  export const ProtocolContractAddress = {
21
23
  AuthRegistry: AztecAddress.fromBigInt(1n),
@@ -23,15 +25,113 @@ export const ProtocolContractAddress = {
23
25
  ContractClassRegistry: AztecAddress.fromBigInt(3n),
24
26
  MultiCallEntrypoint: AztecAddress.fromBigInt(4n),
25
27
  FeeJuice: AztecAddress.fromBigInt(5n),
26
- Router: AztecAddress.fromBigInt(6n)
28
+ PublicChecks: AztecAddress.fromBigInt(6n)
27
29
  };
28
- export const ProtocolContractLeaves = {
29
- AuthRegistry: Fr.fromHexString('0x1c2474a77af3c756895867fa7622e5e9295121b35849e965f4614d51f00c62e2'),
30
- ContractInstanceRegistry: Fr.fromHexString('0x001e627e78063a4944f1331b4c59544f8ad6d6d478f2fc79b025e8240b94b816'),
31
- ContractClassRegistry: Fr.fromHexString('0x1bd2e13b35e2745e638132262e6642a86ac4219f1b7a95086bebe250f5d557ea'),
32
- MultiCallEntrypoint: Fr.fromHexString('0x27b35c8e0851d28c56846ce8977155ffbb5725c4e6b47a67f5d5c6639d1c1a1c'),
33
- FeeJuice: Fr.fromHexString('0x2ee34a2d304636f81114dffc8a2357e03e08345a008262eb36112f95aaa58eb1'),
34
- Router: Fr.fromHexString('0x180b58198cce7c0866a828841df6eca6369a71a6e884ca5cf08938301d7ad0ca')
30
+ export const ProtocolContractDerivedAddress = {
31
+ AuthRegistry: AztecAddress.fromString('0x05738188c145f5ae1f85ba32c2955df6cdadf5142a4a6db36c7bbf7919f07630'),
32
+ ContractInstanceRegistry: AztecAddress.fromString('0x0e0e44c7fd88f06c1a52e67137d92be96399a7d47ee5ca033bb306ec8d2b54f3'),
33
+ ContractClassRegistry: AztecAddress.fromString('0x14d670efa326a07b99777b01fb706427ca776095246569150f2a3f17a7d4dc66'),
34
+ MultiCallEntrypoint: AztecAddress.fromString('0x15bff1f94c1c820c5f9384e45114ae5b4c25489f816fdc5b80bfb5f54d852077'),
35
+ FeeJuice: AztecAddress.fromString('0x06ecf77d30887d7b701ad2235f560248e7c3d572e8640279f9d26d87312557ac'),
36
+ PublicChecks: AztecAddress.fromString('0x289c56a961e343e67f77ed2a9119fdf8b50f63034d598c5bba8ff280129e1579')
35
37
  };
36
- export const protocolContractTreeRoot = Fr.fromHexString('0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461');
37
- export const CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG = Fr.fromHexString('0x28da3fc471387d4e20b646b77abc8cdfc02a339a7507285a73d84f9b97b13486');
38
+ export const ProtocolContractClassId = {
39
+ AuthRegistry: Fr.fromString('0x07438c0ca498858064954149028e00a6038eb8ea5529373582574a77a0f913f1'),
40
+ ContractInstanceRegistry: Fr.fromString('0x2112df65cee9b5fc9d222613fc7df8d3e05dd542ad565c9f255ab7b728dd9cc0'),
41
+ ContractClassRegistry: Fr.fromString('0x013466b8a65dea98ad80c119cf236a0acf53acfede687769410cfd57876b8242'),
42
+ MultiCallEntrypoint: Fr.fromString('0x1f87f80a8331b63219e4b04f618b371c04b73b2246c058a0962d9848f15cf1d8'),
43
+ FeeJuice: Fr.fromString('0x0b0ee1791b48ea378c6aed2ccdc29c7a5e63a742d77871294174c6879509806f'),
44
+ PublicChecks: Fr.fromString('0x0f1f06f003dd2ccb739a1719b8dccc2800b4015e7387d1e6ab1126b480871c54')
45
+ };
46
+ export const ProtocolContractClassIdPreimage = {
47
+ AuthRegistry: {
48
+ artifactHash: Fr.fromString('0x2fcb5576b472becea02a1d5228473217bb2f63570d868abcf16205a23377ec70'),
49
+ privateFunctionsRoot: Fr.fromString('0x11900a485e3ffa03da98d89abb0c9419200644aaf17f5caa863953fccf1ed88f'),
50
+ publicBytecodeCommitment: Fr.fromString('0x2c9138ec76d2f7db9c313a411adb0855e334ba6bb1bbbe191fff14ee0799deea')
51
+ },
52
+ ContractInstanceRegistry: {
53
+ artifactHash: Fr.fromString('0x18601566bacdca7a5a40528f221b04ee7b74f382e6cd34fbdf69d31c50d5ee88'),
54
+ privateFunctionsRoot: Fr.fromString('0x136a6705c7ad1d47f65cb881a56909d4c78d3fa8944f5b103734cd91e654ed63'),
55
+ publicBytecodeCommitment: Fr.fromString('0x2ca33d0ab4d4cc2339aa7fa0788572ad32465cd461a222930e71b166aca83967')
56
+ },
57
+ ContractClassRegistry: {
58
+ artifactHash: Fr.fromString('0x232d868db8a4d1e0f013efa4bfe5c39d96e11f16a62e3e73abbbafc3028fc410'),
59
+ privateFunctionsRoot: Fr.fromString('0x2ac3bf890a7d534a768079aa86889caa1a86373c8e6fc2db48215b11bbb79106'),
60
+ publicBytecodeCommitment: Fr.fromString('0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e')
61
+ },
62
+ MultiCallEntrypoint: {
63
+ artifactHash: Fr.fromString('0x10292f802f1c5b7c6c813c003f6e068e4396892beeb195c9e031a841a4ce5800'),
64
+ privateFunctionsRoot: Fr.fromString('0x266505ecb7c02ce6e227227c0b6bdb44713c8ecd43164ee7bb00b8fb340e8b03'),
65
+ publicBytecodeCommitment: Fr.fromString('0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e')
66
+ },
67
+ FeeJuice: {
68
+ artifactHash: Fr.fromString('0x2eb476f12cce5207be118047fb7f603378b78aa619d6539a4d9eec4700ea2507'),
69
+ privateFunctionsRoot: Fr.fromString('0x0abef3cfc6ae314886c841b42dc33d3eed255ad3dee7773daabf05b229573759'),
70
+ publicBytecodeCommitment: Fr.fromString('0x140b663a54207869cc411e3731d38cd65ea323ac2fc6004d3d73b7f175bb0f33')
71
+ },
72
+ PublicChecks: {
73
+ artifactHash: Fr.fromString('0x003d3e0bff7456e270c38b0ae046cc77fa0b677df8d5bce6d7ff9bb7ecdfdbdd'),
74
+ privateFunctionsRoot: Fr.fromString('0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1'),
75
+ publicBytecodeCommitment: Fr.fromString('0x2d0834fc9468fd2092091852543a2fbd7b6b313c7e5e4defe8730c8065366a03')
76
+ }
77
+ };
78
+ export const ProtocolContractInitializationHash = {
79
+ AuthRegistry: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
80
+ ContractInstanceRegistry: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
81
+ ContractClassRegistry: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
82
+ MultiCallEntrypoint: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
83
+ FeeJuice: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
84
+ PublicChecks: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000')
85
+ };
86
+ export const ProtocolContractPrivateFunctions = {
87
+ AuthRegistry: [
88
+ {
89
+ selector: FunctionSelector.fromField(Fr.fromString('0x0000000000000000000000000000000000000000000000000000000079a3d418')),
90
+ vkHash: Fr.fromString('0x185a64e85b31ece67103f33ec67ddef374308c0a5dc2b7f37e016bca0dce63fb')
91
+ }
92
+ ],
93
+ ContractInstanceRegistry: [
94
+ {
95
+ selector: FunctionSelector.fromField(Fr.fromString('0x0000000000000000000000000000000000000000000000000000000016ec12aa')),
96
+ vkHash: Fr.fromString('0x262f7a90ecf055779001b67dad01a3add1e549f6c27931f0e71e463ce2142b57')
97
+ }
98
+ ],
99
+ ContractClassRegistry: [
100
+ {
101
+ selector: FunctionSelector.fromField(Fr.fromString('0x000000000000000000000000000000000000000000000000000000006934ed0d')),
102
+ vkHash: Fr.fromString('0x1163f31e191528254c877fce0c7f62dd738f5552bbd2dda97512fe4777377f5b')
103
+ }
104
+ ],
105
+ MultiCallEntrypoint: [
106
+ {
107
+ selector: FunctionSelector.fromField(Fr.fromString('0x00000000000000000000000000000000000000000000000000000000f04908a9')),
108
+ vkHash: Fr.fromString('0x21732ab3cecf633e4c31a030df62c93e35a005b89941fdab568d2818c1355192')
109
+ }
110
+ ],
111
+ FeeJuice: [
112
+ {
113
+ selector: FunctionSelector.fromField(Fr.fromString('0x00000000000000000000000000000000000000000000000000000000cbe67243')),
114
+ vkHash: Fr.fromString('0x2ad6083b4595f8076c014e5152191013167ab1b5a31ad0cbb06490054c7c59ae')
115
+ },
116
+ {
117
+ selector: FunctionSelector.fromField(Fr.fromString('0x00000000000000000000000000000000000000000000000000000000e8d374b6')),
118
+ vkHash: Fr.fromString('0x05aaffffdf797625ff24575d939339303775c5db77fb6bdcecbf955f726fd071')
119
+ }
120
+ ],
121
+ PublicChecks: []
122
+ };
123
+ export const ProtocolContractsList = new ProtocolContracts([
124
+ AztecAddress.fromString('0x05738188c145f5ae1f85ba32c2955df6cdadf5142a4a6db36c7bbf7919f07630'),
125
+ AztecAddress.fromString('0x0e0e44c7fd88f06c1a52e67137d92be96399a7d47ee5ca033bb306ec8d2b54f3'),
126
+ AztecAddress.fromString('0x14d670efa326a07b99777b01fb706427ca776095246569150f2a3f17a7d4dc66'),
127
+ AztecAddress.fromString('0x15bff1f94c1c820c5f9384e45114ae5b4c25489f816fdc5b80bfb5f54d852077'),
128
+ AztecAddress.fromString('0x06ecf77d30887d7b701ad2235f560248e7c3d572e8640279f9d26d87312557ac'),
129
+ AztecAddress.fromString('0x289c56a961e343e67f77ed2a9119fdf8b50f63034d598c5bba8ff280129e1579'),
130
+ AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
131
+ AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
132
+ AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
133
+ AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
134
+ AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000')
135
+ ]);
136
+ export const protocolContractsHash = Fr.fromString('0x1e13776ddffd17d2a72e97753ee4bdc8fa83f7c826e35421e3c0844ee732a82b');
137
+ export const CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG = Fr.fromHexString('0x1a7e1badb79abdd38c684b3c8306ffe7ecb33c69e3380d9855730aaaa83a21a8');
@@ -6,4 +6,4 @@ export declare const ProtocolContractArtifact: Record<ProtocolContractName, Cont
6
6
  export declare class BundledProtocolContractsProvider implements ProtocolContractsProvider {
7
7
  getProtocolContractArtifact(name: ProtocolContractName): Promise<ProtocolContract>;
8
8
  }
9
- //# sourceMappingURL=bundle.d.ts.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXIvYnVuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFRMUQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXpFLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbEYsZUFBTyxNQUFNLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxnQkFBZ0IsQ0FPbkYsQ0FBQztBQUVGLHFCQUFhLGdDQUFpQyxZQUFXLHlCQUF5QjtJQUNoRiwyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBRWpGO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/provider/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQ1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAOnF,CAAC;AAEF,qBAAa,gCAAiC,YAAW,yBAAyB;IAChF,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAGnF"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/provider/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQ1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAOnF,CAAC;AAEF,qBAAa,gCAAiC,YAAW,yBAAyB;IAChF,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEjF;CACF"}
@@ -4,17 +4,17 @@ import { FeeJuiceArtifact } from '../fee-juice/index.js';
4
4
  import { ContractInstanceRegistryArtifact } from '../instance-registry/index.js';
5
5
  import { makeProtocolContract } from '../make_protocol_contract.js';
6
6
  import { MultiCallEntrypointArtifact } from '../multi-call-entrypoint/index.js';
7
- import { RouterArtifact } from '../router/index.js';
7
+ import { PublicChecksArtifact } from '../public-checks/index.js';
8
8
  export const ProtocolContractArtifact = {
9
9
  AuthRegistry: AuthRegistryArtifact,
10
10
  ContractInstanceRegistry: ContractInstanceRegistryArtifact,
11
11
  ContractClassRegistry: ContractClassRegistryArtifact,
12
12
  MultiCallEntrypoint: MultiCallEntrypointArtifact,
13
13
  FeeJuice: FeeJuiceArtifact,
14
- Router: RouterArtifact
14
+ PublicChecks: PublicChecksArtifact
15
15
  };
16
16
  export class BundledProtocolContractsProvider {
17
17
  getProtocolContractArtifact(name) {
18
- return makeProtocolContract(name, ProtocolContractArtifact[name]);
18
+ return Promise.resolve(makeProtocolContract(name, ProtocolContractArtifact[name]));
19
19
  }
20
20
  }
@@ -4,4 +4,4 @@ import type { ProtocolContractsProvider } from './protocol_contracts_provider.js
4
4
  export declare class LazyProtocolContractsProvider implements ProtocolContractsProvider {
5
5
  getProtocolContractArtifact(name: ProtocolContractName): Promise<ProtocolContract>;
6
6
  }
7
- //# sourceMappingURL=lazy.d.ts.map
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVyL2xhenkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXpFLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbEYscUJBQWEsNkJBQThCLFlBQVcseUJBQXlCO0lBQzdFLDJCQUEyQixDQUFDLElBQUksRUFBRSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FpQmpGO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/provider/lazy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,qBAAa,6BAA8B,YAAW,yBAAyB;IAC7E,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAkBnF"}
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/provider/lazy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,qBAAa,6BAA8B,YAAW,yBAAyB;IAC7E,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiBjF;CACF"}
@@ -3,7 +3,7 @@ import { getCanonicalClassRegistry } from '../class-registry/lazy.js';
3
3
  import { getCanonicalFeeJuice } from '../fee-juice/lazy.js';
4
4
  import { getCanonicalInstanceRegistry } from '../instance-registry/lazy.js';
5
5
  import { getCanonicalMultiCallEntrypoint } from '../multi-call-entrypoint/lazy.js';
6
- import { getCanonicalRouter } from '../router/lazy.js';
6
+ import { getCanonicalPublicChecks } from '../public-checks/lazy.js';
7
7
  export class LazyProtocolContractsProvider {
8
8
  getProtocolContractArtifact(name) {
9
9
  switch(name){
@@ -17,8 +17,8 @@ export class LazyProtocolContractsProvider {
17
17
  return getCanonicalMultiCallEntrypoint();
18
18
  case 'FeeJuice':
19
19
  return getCanonicalFeeJuice();
20
- case 'Router':
21
- return getCanonicalRouter();
20
+ case 'PublicChecks':
21
+ return getCanonicalPublicChecks();
22
22
  default:
23
23
  throw new Error(`Unknown protocol contract name: ${name}`);
24
24
  }
@@ -4,4 +4,4 @@ import type { ProtocolContractName } from '../protocol_contract_data.js';
4
4
  export interface ProtocolContractsProvider {
5
5
  getProtocolContractArtifact(name: ProtocolContractName): Promise<ProtocolContract>;
6
6
  }
7
- //# sourceMappingURL=protocol_contracts_provider.d.ts.map
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RzX3Byb3ZpZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXIvcHJvdG9jb2xfY29udHJhY3RzX3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV6RSw0REFBNEQ7QUFDNUQsTUFBTSxXQUFXLHlCQUF5QjtJQUN4QywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Q0FDcEYifQ==
@@ -0,0 +1,5 @@
1
+ import type { ProtocolContract } from '../protocol_contract.js';
2
+ export declare const PublicChecksArtifact: import("@aztec/stdlib/abi").ContractArtifact;
3
+ /** Returns the canonical deployment of the contract. */
4
+ export declare function getCanonicalPublicChecks(): Promise<ProtocolContract>;
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtY2hlY2tzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsZUFBTyxNQUFNLG9CQUFvQiw4Q0FBaUUsQ0FBQztBQUluRyx3REFBd0Q7QUFDeEQsd0JBQWdCLHdCQUF3QixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUtwRSJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/public-checks/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,eAAO,MAAM,oBAAoB,8CAAiE,CAAC;AAInG,wDAAwD;AACxD,wBAAgB,wBAAwB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAKpE"}
@@ -0,0 +1,13 @@
1
+ import { loadContractArtifact } from '@aztec/stdlib/abi';
2
+ import PublicChecksJson from '../../artifacts/PublicChecks.json' with {
3
+ type: 'json'
4
+ };
5
+ import { makeProtocolContract } from '../make_protocol_contract.js';
6
+ export const PublicChecksArtifact = loadContractArtifact(PublicChecksJson);
7
+ let protocolContract;
8
+ /** Returns the canonical deployment of the contract. */ export function getCanonicalPublicChecks() {
9
+ if (!protocolContract) {
10
+ protocolContract = makeProtocolContract('PublicChecks', PublicChecksArtifact);
11
+ }
12
+ return Promise.resolve(protocolContract);
13
+ }
@@ -0,0 +1,6 @@
1
+ import { type ContractArtifact } from '@aztec/stdlib/abi';
2
+ import type { ProtocolContract } from '../protocol_contract.js';
3
+ export declare function getPublicChecksArtifact(): Promise<ContractArtifact>;
4
+ /** Returns the canonical deployment of the public checks contract. */
5
+ export declare function getCanonicalPublicChecks(): Promise<ProtocolContract>;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy1jaGVja3MvbGF6eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBd0IsTUFBTSxtQkFBbUIsQ0FBQztBQUdoRixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBS2hFLHdCQUFzQix1QkFBdUIsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FXekU7QUFFRCxzRUFBc0U7QUFDdEUsd0JBQXNCLHdCQUF3QixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQU0xRSJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/public-checks/lazy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAGhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKhE,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAWzE;AAED,sEAAsE;AACtE,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAM1E"}
@@ -0,0 +1,23 @@
1
+ import { loadContractArtifact } from '@aztec/stdlib/abi';
2
+ import { makeProtocolContract } from '../make_protocol_contract.js';
3
+ let protocolContract;
4
+ let protocolContractArtifact;
5
+ export async function getPublicChecksArtifact() {
6
+ if (!protocolContractArtifact) {
7
+ // Cannot assert this import as it's incompatible with bundlers like vite
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
10
+ // "text/javascript"
11
+ // In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
12
+ const { default: publicChecksJson } = await import('../../artifacts/PublicChecks.json');
13
+ protocolContractArtifact = loadContractArtifact(publicChecksJson);
14
+ }
15
+ return protocolContractArtifact;
16
+ }
17
+ /** Returns the canonical deployment of the public checks contract. */ export async function getCanonicalPublicChecks() {
18
+ if (!protocolContract) {
19
+ const publicChecksArtifact = await getPublicChecksArtifact();
20
+ protocolContract = makeProtocolContract('PublicChecks', publicChecksArtifact);
21
+ }
22
+ return protocolContract;
23
+ }
@@ -1,13 +1,15 @@
1
- import { CANONICAL_AUTH_REGISTRY_ADDRESS, CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS, CONTRACT_INSTANCE_PUBLISHED_MAGIC_VALUE, CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS, FEE_JUICE_ADDRESS, MULTI_CALL_ENTRYPOINT_ADDRESS, ROUTER_ADDRESS } from '@aztec/constants';
2
- import { poseidon2Hash } from '@aztec/foundation/crypto';
3
- import { Fr } from '@aztec/foundation/fields';
1
+ import { CANONICAL_AUTH_REGISTRY_ADDRESS, CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS, CONTRACT_INSTANCE_PUBLISHED_MAGIC_VALUE, CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS, FEE_JUICE_ADDRESS, MAX_PROTOCOL_CONTRACTS, MULTI_CALL_ENTRYPOINT_ADDRESS, PUBLIC_CHECKS_ADDRESS } from '@aztec/constants';
2
+ import { makeTuple } from '@aztec/foundation/array';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { createConsoleLogger } from '@aztec/foundation/log';
5
5
  import { loadContractArtifact } from '@aztec/stdlib/abi';
6
6
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
7
- import { getContractInstanceFromInstantiationParams } from '@aztec/stdlib/contract';
7
+ import { computeContractAddressFromInstance, computeInitializationHash, getContractClassFromArtifact } from '@aztec/stdlib/contract';
8
+ import { computeSiloedPrivateLogFirstField } from '@aztec/stdlib/hash';
9
+ import { PublicKeys } from '@aztec/stdlib/keys';
10
+ import { ProtocolContracts } from '@aztec/stdlib/tx';
8
11
  import { promises as fs } from 'fs';
9
12
  import path from 'path';
10
- import { buildProtocolContractTree } from '../build_protocol_contract_tree.js';
11
13
  const log = createConsoleLogger('autogenerate');
12
14
  const noirContractsRoot = '../../noir-projects/noir-contracts';
13
15
  const srcPath = path.join(noirContractsRoot, './target');
@@ -20,7 +22,7 @@ const contractAddressMapping = {
20
22
  ContractClassRegistry: CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS,
21
23
  MultiCallEntrypoint: MULTI_CALL_ENTRYPOINT_ADDRESS,
22
24
  FeeJuice: FEE_JUICE_ADDRESS,
23
- Router: ROUTER_ADDRESS
25
+ PublicChecks: PUBLIC_CHECKS_ADDRESS
24
26
  };
25
27
  async function clearDestDir() {
26
28
  try {
@@ -49,19 +51,32 @@ async function copyArtifact(srcName, destName) {
49
51
  await fs.copyFile(src, dest);
50
52
  return artifact;
51
53
  }
52
- async function computeContractLeaf(artifact) {
53
- const instance = await getContractInstanceFromInstantiationParams(loadContractArtifact(artifact), {
54
- salt
55
- });
56
- return instance.address;
57
- }
58
- async function computeRoot(names, leaves) {
59
- const data = names.map((name, i)=>({
60
- address: new AztecAddress(new Fr(contractAddressMapping[name])),
61
- leaf: leaves[i]
62
- }));
63
- const tree = await buildProtocolContractTree(data);
64
- return Fr.fromBuffer(tree.root);
54
+ // Precompute all the expensive contract data that can be obtained from the artifact, to avoid redundant computations in clients.
55
+ // Protocol contracts come from a trusted source, so no class verifications are needed.
56
+ async function computeContractData(artifact, deployer) {
57
+ const loaded = loadContractArtifact(artifact);
58
+ const contractClass = await getContractClassFromArtifact(loaded);
59
+ const constructorArtifact = loaded.functions.find((f)=>f.name === 'constructor');
60
+ const initializationHash = await computeInitializationHash(constructorArtifact, []);
61
+ const instance = {
62
+ version: 1,
63
+ currentContractClassId: contractClass.id,
64
+ originalContractClassId: contractClass.id,
65
+ initializationHash,
66
+ publicKeys: PublicKeys.default(),
67
+ salt,
68
+ deployer
69
+ };
70
+ const address = await computeContractAddressFromInstance(instance);
71
+ return {
72
+ address,
73
+ classId: contractClass.id,
74
+ artifactHash: contractClass.artifactHash,
75
+ privateFunctionsRoot: contractClass.privateFunctionsRoot,
76
+ publicBytecodeCommitment: contractClass.publicBytecodeCommitment,
77
+ initializationHash,
78
+ privateFunctions: contractClass.privateFunctions
79
+ };
65
80
  }
66
81
  async function generateDeclarationFile(destName) {
67
82
  const content = `
@@ -95,33 +110,68 @@ function generateContractAddresses(names) {
95
110
  };
96
111
  `;
97
112
  }
98
- function generateContractLeaves(names, leaves) {
113
+ function generateDerivedAddresses(names, contractData) {
99
114
  return `
100
- export const ProtocolContractLeaves = {
101
- ${leaves.map((leaf, i)=>`${names[i]}: Fr.fromHexString('${leaf.toString()}')`).join(',\n')}
115
+ export const ProtocolContractDerivedAddress = {
116
+ ${contractData.map((d, i)=>`${names[i]}: AztecAddress.fromString('${d.address.toString()}')`).join(',\n')}
117
+ };
118
+ `;
119
+ }
120
+ function generateClassIdPreimages(names, contractData) {
121
+ return `
122
+ export const ProtocolContractClassId: Record<ProtocolContractName, Fr> = {
123
+ ${contractData.map((d, i)=>`${names[i]}: Fr.fromString('${d.classId.toString()}')`).join(',\n')}
124
+ };
125
+
126
+ export const ProtocolContractClassIdPreimage: Record<ProtocolContractName, { artifactHash: Fr; privateFunctionsRoot: Fr; publicBytecodeCommitment: Fr }> = {
127
+ ${contractData.map((d, i)=>`${names[i]}: {
128
+ artifactHash: Fr.fromString('${d.artifactHash.toString()}'),
129
+ privateFunctionsRoot: Fr.fromString('${d.privateFunctionsRoot.toString()}'),
130
+ publicBytecodeCommitment: Fr.fromString('${d.publicBytecodeCommitment.toString()}'),
131
+ }`).join(',\n')}
132
+ };
133
+
134
+ export const ProtocolContractInitializationHash: Record<ProtocolContractName, Fr> = {
135
+ ${contractData.map((d, i)=>`${names[i]}: Fr.fromString('${d.initializationHash.toString()}')`).join(',\n')}
136
+ };
137
+
138
+ export const ProtocolContractPrivateFunctions: Record<ProtocolContractName, { selector: FunctionSelector; vkHash: Fr }[]> = {
139
+ ${contractData.map((d, i)=>`${names[i]}: [${d.privateFunctions.map((fn)=>`{ selector: FunctionSelector.fromField(Fr.fromString('${fn.selector.toField().toString()}')), vkHash: Fr.fromString('${fn.vkHash.toString()}') }`).join(', ')}]`).join(',\n')}
102
140
  };
103
141
  `;
104
142
  }
105
- async function generateRoot(names, leaves) {
106
- const root = await computeRoot(names, leaves);
143
+ async function generateProtocolContractsList(names, contractData) {
144
+ const list = makeTuple(MAX_PROTOCOL_CONTRACTS, ()=>AztecAddress.zero());
145
+ for(let i = 0; i < names.length; i++){
146
+ const name = names[i];
147
+ const address = contractAddressMapping[name];
148
+ const derivedAddressIndex = address - 1;
149
+ if (!list[derivedAddressIndex].equals(AztecAddress.zero())) {
150
+ throw new Error(`Duplicate protocol contract address: ${address.toString()}`);
151
+ }
152
+ list[derivedAddressIndex] = contractData[i].address;
153
+ }
107
154
  return `
108
- export const protocolContractTreeRoot = Fr.fromHexString('${root.toString()}');
155
+ export const ProtocolContractsList = new ProtocolContracts([
156
+ ${list.map((address)=>`AztecAddress.fromString('${address.toString()}')`).join(',\n')}
157
+ ]);
158
+
159
+ export const protocolContractsHash = Fr.fromString('${(await new ProtocolContracts(list).hash()).toString()}');
109
160
  `;
110
161
  }
111
162
  // Generate the siloed log tags for events emitted via private logs.
112
163
  async function generateLogTags() {
113
164
  return `
114
- export const CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG = Fr.fromHexString('${await poseidon2Hash([
115
- CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS,
116
- CONTRACT_INSTANCE_PUBLISHED_MAGIC_VALUE
117
- ])}');
165
+ export const CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG = Fr.fromHexString('${await computeSiloedPrivateLogFirstField(new AztecAddress(new Fr(CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS)), new Fr(CONTRACT_INSTANCE_PUBLISHED_MAGIC_VALUE))}');
118
166
  `;
119
167
  }
120
- async function generateOutputFile(names, leaves) {
168
+ async function generateOutputFile(names, contractData) {
121
169
  const content = `
122
170
  // GENERATED FILE - DO NOT EDIT. RUN \`yarn generate\` or \`yarn generate:data\`
123
- import { Fr } from '@aztec/foundation/fields';
171
+ import { Fr } from '@aztec/foundation/curves/bn254';
172
+ import { FunctionSelector } from '@aztec/stdlib/abi';
124
173
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
174
+ import { ProtocolContracts } from '@aztec/stdlib/tx';
125
175
 
126
176
  ${generateNames(names)}
127
177
 
@@ -129,9 +179,11 @@ async function generateOutputFile(names, leaves) {
129
179
 
130
180
  ${generateContractAddresses(names)}
131
181
 
132
- ${generateContractLeaves(names, leaves)}
182
+ ${generateDerivedAddresses(names, contractData)}
183
+
184
+ ${generateClassIdPreimages(names, contractData)}
133
185
 
134
- ${await generateRoot(names, leaves)}
186
+ ${await generateProtocolContractsList(names, contractData)}
135
187
 
136
188
  ${await generateLogTags()}
137
189
  `;
@@ -140,17 +192,16 @@ async function generateOutputFile(names, leaves) {
140
192
  async function main() {
141
193
  await clearDestDir();
142
194
  const srcNames = JSON.parse(await fs.readFile(path.join(noirContractsRoot, 'protocol_contracts.json'), 'utf8'));
143
- const leaves = [];
195
+ const contractDataList = [];
144
196
  const destNames = srcNames.map((n)=>n.split('-')[1]);
145
197
  for(let i = 0; i < srcNames.length; i++){
146
198
  const srcName = srcNames[i];
147
199
  const destName = destNames[i];
148
200
  const artifact = await copyArtifact(srcName, destName);
149
201
  await generateDeclarationFile(destName);
150
- const contractLeaf = await computeContractLeaf(artifact);
151
- leaves.push(contractLeaf.toField());
202
+ contractDataList.push(await computeContractData(artifact, AztecAddress.fromBigInt(BigInt(contractAddressMapping[destName]))));
152
203
  }
153
- await generateOutputFile(destNames, leaves);
204
+ await generateOutputFile(destNames, contractDataList);
154
205
  }
155
206
  try {
156
207
  await main();
@@ -3,4 +3,4 @@ export declare function getSamplePrivateFunctionBroadcastedEventPayload(): Buffe
3
3
  export declare function getSampleUtilityFunctionBroadcastedEventPayload(): Buffer;
4
4
  export declare function getSampleContractInstancePublishedEventPayload(): Buffer;
5
5
  export declare function getPathToFixture(name: string): string;
6
- //# sourceMappingURL=fixtures.d.ts.map
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy9maXh0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSx3QkFBZ0IsMkNBQTJDLElBQUksTUFBTSxDQUdwRTtBQUdELHdCQUFnQiwrQ0FBK0MsSUFBSSxNQUFNLENBR3hFO0FBR0Qsd0JBQWdCLCtDQUErQyxJQUFJLE1BQU0sQ0FHeEU7QUFHRCx3QkFBZ0IsOENBQThDLElBQUksTUFBTSxDQUd2RTtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxVQUU1QyJ9