@aztec/pxe 0.74.0 → 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2

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 (101) hide show
  1. package/dest/bin/index.js +3 -5
  2. package/dest/config/index.js +18 -21
  3. package/dest/config/package_info.js +4 -2
  4. package/dest/contract_data_oracle/index.js +69 -79
  5. package/dest/contract_data_oracle/private_functions_tree.js +44 -50
  6. package/dest/database/contracts/contract_artifact_db.js +3 -2
  7. package/dest/database/contracts/contract_instance_db.js +3 -2
  8. package/dest/database/index.js +0 -1
  9. package/dest/database/kv_pxe_database.js +243 -259
  10. package/dest/database/note_dao.js +28 -43
  11. package/dest/database/outgoing_note_dao.js +20 -34
  12. package/dest/database/pxe_database.js +4 -2
  13. package/dest/database/pxe_database_test_suite.js +296 -151
  14. package/dest/index.js +0 -1
  15. package/dest/kernel_oracle/index.js +9 -6
  16. package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.js +68 -66
  17. package/dest/kernel_prover/hints/index.js +0 -1
  18. package/dest/kernel_prover/index.js +0 -1
  19. package/dest/kernel_prover/kernel_prover.js +60 -65
  20. package/dest/kernel_prover/proving_data_oracle.js +4 -2
  21. package/dest/note_decryption_utils/add_public_values_to_payload.js +8 -9
  22. package/dest/pxe_http/index.js +0 -1
  23. package/dest/pxe_http/pxe_http_server.js +8 -6
  24. package/dest/pxe_service/error_enriching.js +10 -13
  25. package/dest/pxe_service/index.js +0 -1
  26. package/dest/pxe_service/pxe_service.js +282 -290
  27. package/dest/pxe_service/test/pxe_test_suite.js +40 -27
  28. package/dest/simulator/index.js +1 -3
  29. package/dest/simulator_oracle/index.js +266 -231
  30. package/dest/simulator_oracle/tagging_utils.js +4 -6
  31. package/dest/synchronizer/index.js +0 -1
  32. package/dest/synchronizer/synchronizer.js +42 -42
  33. package/dest/utils/create_pxe_service.js +9 -9
  34. package/package.json +15 -15
  35. package/src/pxe_service/pxe_service.ts +6 -11
  36. package/dest/bin/index.d.ts +0 -3
  37. package/dest/bin/index.d.ts.map +0 -1
  38. package/dest/config/index.d.ts +0 -46
  39. package/dest/config/index.d.ts.map +0 -1
  40. package/dest/config/package_info.d.ts +0 -5
  41. package/dest/config/package_info.d.ts.map +0 -1
  42. package/dest/contract_data_oracle/index.d.ts +0 -104
  43. package/dest/contract_data_oracle/index.d.ts.map +0 -1
  44. package/dest/contract_data_oracle/private_functions_tree.d.ts +0 -65
  45. package/dest/contract_data_oracle/private_functions_tree.d.ts.map +0 -1
  46. package/dest/database/contracts/contract_artifact_db.d.ts +0 -20
  47. package/dest/database/contracts/contract_artifact_db.d.ts.map +0 -1
  48. package/dest/database/contracts/contract_instance_db.d.ts +0 -19
  49. package/dest/database/contracts/contract_instance_db.d.ts.map +0 -1
  50. package/dest/database/index.d.ts +0 -3
  51. package/dest/database/index.d.ts.map +0 -1
  52. package/dest/database/kv_pxe_database.d.ts +0 -55
  53. package/dest/database/kv_pxe_database.d.ts.map +0 -1
  54. package/dest/database/note_dao.d.ts +0 -103
  55. package/dest/database/note_dao.d.ts.map +0 -1
  56. package/dest/database/outgoing_note_dao.d.ts +0 -73
  57. package/dest/database/outgoing_note_dao.d.ts.map +0 -1
  58. package/dest/database/pxe_database.d.ts +0 -216
  59. package/dest/database/pxe_database.d.ts.map +0 -1
  60. package/dest/database/pxe_database_test_suite.d.ts +0 -7
  61. package/dest/database/pxe_database_test_suite.d.ts.map +0 -1
  62. package/dest/index.d.ts +0 -15
  63. package/dest/index.d.ts.map +0 -1
  64. package/dest/kernel_oracle/index.d.ts +0 -34
  65. package/dest/kernel_oracle/index.d.ts.map +0 -1
  66. package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
  67. package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
  68. package/dest/kernel_prover/hints/index.d.ts +0 -2
  69. package/dest/kernel_prover/hints/index.d.ts.map +0 -1
  70. package/dest/kernel_prover/index.d.ts +0 -3
  71. package/dest/kernel_prover/index.d.ts.map +0 -1
  72. package/dest/kernel_prover/kernel_prover.d.ts +0 -38
  73. package/dest/kernel_prover/kernel_prover.d.ts.map +0 -1
  74. package/dest/kernel_prover/proving_data_oracle.d.ts +0 -65
  75. package/dest/kernel_prover/proving_data_oracle.d.ts.map +0 -1
  76. package/dest/note_decryption_utils/add_public_values_to_payload.d.ts +0 -10
  77. package/dest/note_decryption_utils/add_public_values_to_payload.d.ts.map +0 -1
  78. package/dest/pxe_http/index.d.ts +0 -2
  79. package/dest/pxe_http/index.d.ts.map +0 -1
  80. package/dest/pxe_http/pxe_http_server.d.ts +0 -16
  81. package/dest/pxe_http/pxe_http_server.d.ts.map +0 -1
  82. package/dest/pxe_service/error_enriching.d.ts +0 -11
  83. package/dest/pxe_service/error_enriching.d.ts.map +0 -1
  84. package/dest/pxe_service/index.d.ts +0 -4
  85. package/dest/pxe_service/index.d.ts.map +0 -1
  86. package/dest/pxe_service/pxe_service.d.ts +0 -98
  87. package/dest/pxe_service/pxe_service.d.ts.map +0 -1
  88. package/dest/pxe_service/test/pxe_test_suite.d.ts +0 -3
  89. package/dest/pxe_service/test/pxe_test_suite.d.ts.map +0 -1
  90. package/dest/simulator/index.d.ts +0 -10
  91. package/dest/simulator/index.d.ts.map +0 -1
  92. package/dest/simulator_oracle/index.d.ts +0 -129
  93. package/dest/simulator_oracle/index.d.ts.map +0 -1
  94. package/dest/simulator_oracle/tagging_utils.d.ts +0 -16
  95. package/dest/simulator_oracle/tagging_utils.d.ts.map +0 -1
  96. package/dest/synchronizer/index.d.ts +0 -2
  97. package/dest/synchronizer/index.d.ts.map +0 -1
  98. package/dest/synchronizer/synchronizer.d.ts +0 -30
  99. package/dest/synchronizer/synchronizer.d.ts.map +0 -1
  100. package/dest/utils/create_pxe_service.d.ts +0 -16
  101. package/dest/utils/create_pxe_service.d.ts.map +0 -1
package/dest/bin/index.js CHANGED
@@ -8,13 +8,12 @@ const { PXE_PORT = 8080, AZTEC_NODE_URL = 'http://localhost:8079' } = process.en
8
8
  const logger = createLogger('pxe:service');
9
9
  /**
10
10
  * Create and start a new PXE HTTP Server
11
- */
12
- async function main() {
11
+ */ async function main() {
13
12
  logger.info(`Setting up PXE...`);
14
13
  const pxeConfig = getPXEServiceConfig();
15
14
  const nodeRpcClient = createAztecNodeClient(AZTEC_NODE_URL);
16
15
  const pxeService = await createPXEService(nodeRpcClient, pxeConfig);
17
- const shutdown = () => {
16
+ const shutdown = ()=>{
18
17
  logger.info('Shutting down...');
19
18
  process.exit(0);
20
19
  };
@@ -23,8 +22,7 @@ async function main() {
23
22
  startPXEHttpServer(pxeService, PXE_PORT);
24
23
  logger.info(`PXE listening on port ${PXE_PORT}`);
25
24
  }
26
- main().catch(err => {
25
+ main().catch((err)=>{
27
26
  logger.error(err);
28
27
  process.exit(1);
29
28
  });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbEUsTUFBTSxFQUFFLFFBQVEsR0FBRyxJQUFJLEVBQUUsY0FBYyxHQUFHLHVCQUF1QixFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztBQUVsRixNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFM0M7O0dBRUc7QUFDSCxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFakMsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQztJQUN4QyxNQUFNLGFBQWEsR0FBRyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1RCxNQUFNLFVBQVUsR0FBRyxNQUFNLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUVwRSxNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUU7UUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDakMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFbEMsa0JBQWtCLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtJQUNqQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMifQ==
@@ -1,52 +1,51 @@
1
1
  import { INITIAL_L2_BLOCK_NUM } from '@aztec/circuits.js/constants';
2
- import { booleanConfigHelper, getConfigFromMappings, numberConfigHelper, parseBooleanEnv, } from '@aztec/foundation/config';
2
+ import { booleanConfigHelper, getConfigFromMappings, numberConfigHelper, parseBooleanEnv } from '@aztec/foundation/config';
3
3
  import { dataConfigMappings } from '@aztec/kv-store/config';
4
4
  export const pxeConfigMappings = {
5
5
  ...dataConfigMappings,
6
6
  l2StartingBlock: {
7
7
  env: 'PXE_L2_STARTING_BLOCK',
8
8
  ...numberConfigHelper(INITIAL_L2_BLOCK_NUM),
9
- description: 'L2 block to start scanning from for new accounts',
9
+ description: 'L2 block to start scanning from for new accounts'
10
10
  },
11
11
  bbBinaryPath: {
12
12
  env: 'BB_BINARY_PATH',
13
- description: 'Path to the BB binary',
13
+ description: 'Path to the BB binary'
14
14
  },
15
15
  bbWorkingDirectory: {
16
16
  env: 'BB_WORKING_DIRECTORY',
17
- description: 'Working directory for the BB binary',
17
+ description: 'Working directory for the BB binary'
18
18
  },
19
19
  bbSkipCleanup: {
20
20
  env: 'BB_SKIP_CLEANUP',
21
21
  description: 'True to skip cleanup of temporary files for debugging purposes',
22
- ...booleanConfigHelper(),
22
+ ...booleanConfigHelper()
23
23
  },
24
24
  proverEnabled: {
25
25
  env: 'PXE_PROVER_ENABLED',
26
26
  description: 'Enable real proofs',
27
- ...booleanConfigHelper(),
28
- },
27
+ ...booleanConfigHelper()
28
+ }
29
29
  };
30
30
  /**
31
31
  * Creates an instance of PXEServiceConfig out of environment variables using sensible defaults for integration testing if not set.
32
- */
33
- export function getPXEServiceConfig() {
32
+ */ export function getPXEServiceConfig() {
34
33
  return getConfigFromMappings(pxeConfigMappings);
35
34
  }
36
35
  export const pxeCliConfigMappings = {
37
36
  network: {
38
37
  env: 'NETWORK',
39
- parseEnv: (val) => val,
40
- description: 'External Aztec network to connect to. e.g. devnet',
38
+ parseEnv: (val)=>val,
39
+ description: 'External Aztec network to connect to. e.g. devnet'
41
40
  },
42
41
  apiKey: {
43
42
  env: 'API_KEY',
44
- description: "API Key required by the external network's node",
43
+ description: "API Key required by the external network's node"
45
44
  },
46
45
  nodeUrl: {
47
46
  env: 'AZTEC_NODE_URL',
48
- description: 'Custom Aztec Node URL to connect to',
49
- },
47
+ description: 'Custom Aztec Node URL to connect to'
48
+ }
50
49
  };
51
50
  export const allPxeConfigMappings = {
52
51
  ...pxeConfigMappings,
@@ -54,21 +53,19 @@ export const allPxeConfigMappings = {
54
53
  ...dataConfigMappings,
55
54
  proverEnabled: {
56
55
  env: 'PXE_PROVER_ENABLED',
57
- parseEnv: (val) => parseBooleanEnv(val) || !!process.env.NETWORK,
56
+ parseEnv: (val)=>parseBooleanEnv(val) || !!process.env.NETWORK,
58
57
  description: 'Enable real proofs',
59
- isBoolean: true,
60
- },
58
+ isBoolean: true
59
+ }
61
60
  };
62
61
  /**
63
62
  * Creates an instance of CliPxeOptions out of environment variables
64
- */
65
- export function getCliPXEOptions() {
63
+ */ export function getCliPXEOptions() {
66
64
  const pxeConfig = getPXEServiceConfig();
67
65
  const cliOptions = getConfigFromMappings(pxeCliConfigMappings);
68
66
  return {
69
67
  ...pxeConfig,
70
68
  ...cliOptions,
71
- proverEnabled: pxeConfig.proverEnabled || !!cliOptions.network,
69
+ proverEnabled: pxeConfig.proverEnabled || !!cliOptions.network
72
70
  };
73
71
  }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFFTCxtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixlQUFlLEdBQ2hCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUF3QixrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBc0NsRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBeUM7SUFDckUsR0FBRyxrQkFBa0I7SUFDckIsZUFBZSxFQUFFO1FBQ2YsR0FBRyxFQUFFLHVCQUF1QjtRQUM1QixHQUFHLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO1FBQzNDLFdBQVcsRUFBRSxrREFBa0Q7S0FDaEU7SUFDRCxZQUFZLEVBQUU7UUFDWixHQUFHLEVBQUUsZ0JBQWdCO1FBQ3JCLFdBQVcsRUFBRSx1QkFBdUI7S0FDckM7SUFDRCxrQkFBa0IsRUFBRTtRQUNsQixHQUFHLEVBQUUsc0JBQXNCO1FBQzNCLFdBQVcsRUFBRSxxQ0FBcUM7S0FDbkQ7SUFDRCxhQUFhLEVBQUU7UUFDYixHQUFHLEVBQUUsaUJBQWlCO1FBQ3RCLFdBQVcsRUFBRSxnRUFBZ0U7UUFDN0UsR0FBRyxtQkFBbUIsRUFBRTtLQUN6QjtJQUNELGFBQWEsRUFBRTtRQUNiLEdBQUcsRUFBRSxvQkFBb0I7UUFDekIsV0FBVyxFQUFFLG9CQUFvQjtRQUNqQyxHQUFHLG1CQUFtQixFQUFFO0tBQ3pCO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxPQUFPLHFCQUFxQixDQUFtQixpQkFBaUIsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBc0M7SUFDckUsT0FBTyxFQUFFO1FBQ1AsR0FBRyxFQUFFLFNBQVM7UUFDZCxRQUFRLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLEdBQWM7UUFDekMsV0FBVyxFQUFFLG1EQUFtRDtLQUNqRTtJQUNELE1BQU0sRUFBRTtRQUNOLEdBQUcsRUFBRSxTQUFTO1FBQ2QsV0FBVyxFQUFFLGlEQUFpRDtLQUMvRDtJQUNELE9BQU8sRUFBRTtRQUNQLEdBQUcsRUFBRSxnQkFBZ0I7UUFDckIsV0FBVyxFQUFFLHFDQUFxQztLQUNuRDtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBeUQ7SUFDeEYsR0FBRyxpQkFBaUI7SUFDcEIsR0FBRyxvQkFBb0I7SUFDdkIsR0FBRyxrQkFBa0I7SUFDckIsYUFBYSxFQUFFO1FBQ2IsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixRQUFRLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPO1FBQ3hFLFdBQVcsRUFBRSxvQkFBb0I7UUFDakMsU0FBUyxFQUFFLElBQUk7S0FDaEI7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixFQUFFLENBQUM7SUFDeEMsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQWdCLG9CQUFvQixDQUFDLENBQUM7SUFDOUUsT0FBTztRQUNMLEdBQUcsU0FBUztRQUNaLEdBQUcsVUFBVTtRQUNiLGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTztLQUMvRCxDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,4 +1,6 @@
1
1
  export function getPackageInfo() {
2
- return { version: '0.1.0', name: '@aztec/pxe' };
2
+ return {
3
+ version: '0.1.0',
4
+ name: '@aztec/pxe'
5
+ };
3
6
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZV9pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9wYWNrYWdlX2luZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGNBQWM7SUFDNUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQ2xELENBQUMifQ==
@@ -1,4 +1,4 @@
1
- import { getFunctionDebugMetadata, } from '@aztec/foundation/abi';
1
+ import { getFunctionDebugMetadata } from '@aztec/foundation/abi';
2
2
  import { ContractClassNotFoundError, ContractNotFoundError } from '@aztec/simulator/client';
3
3
  import { PrivateFunctionsTree } from './private_functions_tree.js';
4
4
  /**
@@ -7,17 +7,16 @@ import { PrivateFunctionsTree } from './private_functions_tree.js';
7
7
  * from a given contract address and function selector. The class maintains a cache of ContractTree instances
8
8
  * to efficiently serve the requested data. It interacts with the ContractDatabase and AztecNode to fetch
9
9
  * the required information and facilitate cryptographic proof generation.
10
- */
11
- export class ContractDataOracle {
12
- constructor(db) {
10
+ */ export class ContractDataOracle {
11
+ db;
12
+ /** Map from contract class id to private function tree. */ contractClasses;
13
+ /** Map from address to contract instance. */ contractInstances;
14
+ constructor(db){
13
15
  this.db = db;
14
- /** Map from contract class id to private function tree. */
15
16
  this.contractClasses = new Map();
16
- /** Map from address to contract instance. */
17
17
  this.contractInstances = new Map();
18
18
  }
19
- /** Returns a contract instance for a given address. Throws if not found. */
20
- async getContractInstance(contractAddress) {
19
+ /** Returns a contract instance for a given address. Throws if not found. */ async getContractInstance(contractAddress) {
21
20
  if (!this.contractInstances.has(contractAddress.toString())) {
22
21
  const instance = await this.db.getContractInstance(contractAddress);
23
22
  if (!instance) {
@@ -27,8 +26,7 @@ export class ContractDataOracle {
27
26
  }
28
27
  return this.contractInstances.get(contractAddress.toString());
29
28
  }
30
- /** Returns a contract class for a given class id. Throws if not found. */
31
- async getContractClass(contractClassId) {
29
+ /** Returns a contract class for a given class id. Throws if not found. */ async getContractClass(contractClassId) {
32
30
  const tree = await this.getTreeForClassId(contractClassId);
33
31
  return tree.getContractClass();
34
32
  }
@@ -37,70 +35,65 @@ export class ContractDataOracle {
37
35
  return tree.getArtifact();
38
36
  }
39
37
  /**
40
- * Retrieves the artifact of a specified function within a given contract.
41
- * The function is identified by its selector, which is a unique code generated from the function's signature.
42
- * Throws an error if the contract address or function selector are invalid or not found.
43
- *
44
- * @param contractAddress - The AztecAddress representing the contract containing the function.
45
- * @param selector - The function selector.
46
- * @returns The corresponding function's artifact as an object.
47
- */
48
- async getFunctionArtifact(contractAddress, selector) {
38
+ * Retrieves the artifact of a specified function within a given contract.
39
+ * The function is identified by its selector, which is a unique code generated from the function's signature.
40
+ * Throws an error if the contract address or function selector are invalid or not found.
41
+ *
42
+ * @param contractAddress - The AztecAddress representing the contract containing the function.
43
+ * @param selector - The function selector.
44
+ * @returns The corresponding function's artifact as an object.
45
+ */ async getFunctionArtifact(contractAddress, selector) {
49
46
  const tree = await this.getTreeForAddress(contractAddress);
50
47
  return tree.getFunctionArtifact(selector);
51
48
  }
52
49
  /**
53
- * Retrieves the artifact of a specified function within a given contract.
54
- * The function is identified by its name, which is unique within a contract.
55
- * Throws if the contract has not been added to the database.
56
- *
57
- * @param contractAddress - The AztecAddress representing the contract containing the function.
58
- * @param functionName - The name of the function.
59
- * @returns The corresponding function's artifact as an object
60
- */
61
- async getFunctionArtifactByName(contractAddress, functionName) {
50
+ * Retrieves the artifact of a specified function within a given contract.
51
+ * The function is identified by its name, which is unique within a contract.
52
+ * Throws if the contract has not been added to the database.
53
+ *
54
+ * @param contractAddress - The AztecAddress representing the contract containing the function.
55
+ * @param functionName - The name of the function.
56
+ * @returns The corresponding function's artifact as an object
57
+ */ async getFunctionArtifactByName(contractAddress, functionName) {
62
58
  const tree = await this.getTreeForAddress(contractAddress);
63
- return tree.getArtifact().functions.find(f => f.name === functionName);
59
+ return tree.getArtifact().functions.find((f)=>f.name === functionName);
64
60
  }
65
61
  /**
66
- * Retrieves the debug metadata of a specified function within a given contract.
67
- * The function is identified by its selector, which is a unique code generated from the function's signature.
68
- * Returns undefined if the debug metadata for the given function is not found.
69
- * Throws if the contract has not been added to the database.
70
- *
71
- * @param contractAddress - The AztecAddress representing the contract containing the function.
72
- * @param selector - The function selector.
73
- * @returns The corresponding function's artifact as an object.
74
- */
75
- async getFunctionDebugMetadata(contractAddress, selector) {
62
+ * Retrieves the debug metadata of a specified function within a given contract.
63
+ * The function is identified by its selector, which is a unique code generated from the function's signature.
64
+ * Returns undefined if the debug metadata for the given function is not found.
65
+ * Throws if the contract has not been added to the database.
66
+ *
67
+ * @param contractAddress - The AztecAddress representing the contract containing the function.
68
+ * @param selector - The function selector.
69
+ * @returns The corresponding function's artifact as an object.
70
+ */ async getFunctionDebugMetadata(contractAddress, selector) {
76
71
  const tree = await this.getTreeForAddress(contractAddress);
77
72
  const artifact = await tree.getFunctionArtifact(selector);
78
73
  return getFunctionDebugMetadata(tree.getArtifact(), artifact);
79
74
  }
80
75
  /**
81
- * Retrieve the bytecode of a specific function in a contract at the given address.
82
- * The returned bytecode is required for executing and verifying the function's behavior
83
- * in the Aztec network. Throws an error if the contract or function cannot be found.
84
- *
85
- * @param contractAddress - The contract's address.
86
- * @param selector - The function selector.
87
- * @returns A Promise that resolves to a Buffer containing the bytecode of the specified function.
88
- * @throws Error if the contract address is unknown or not found.
89
- */
90
- async getBytecode(contractAddress, selector) {
76
+ * Retrieve the bytecode of a specific function in a contract at the given address.
77
+ * The returned bytecode is required for executing and verifying the function's behavior
78
+ * in the Aztec network. Throws an error if the contract or function cannot be found.
79
+ *
80
+ * @param contractAddress - The contract's address.
81
+ * @param selector - The function selector.
82
+ * @returns A Promise that resolves to a Buffer containing the bytecode of the specified function.
83
+ * @throws Error if the contract address is unknown or not found.
84
+ */ async getBytecode(contractAddress, selector) {
91
85
  const tree = await this.getTreeForAddress(contractAddress);
92
86
  return tree.getBytecode(selector);
93
87
  }
94
88
  /**
95
- * Retrieve the function membership witness for the given contract address and function selector.
96
- * The function membership witness represents a proof that the function belongs to the specified contract.
97
- * Throws an error if the contract address or function selector is unknown.
98
- *
99
- * @param contractAddress - The contract address.
100
- * @param selector - The function selector.
101
- * @returns A promise that resolves with the MembershipWitness instance for the specified contract's function.
102
- */
103
- async getFunctionMembershipWitness(contractAddress, selector) {
89
+ * Retrieve the function membership witness for the given contract address and function selector.
90
+ * The function membership witness represents a proof that the function belongs to the specified contract.
91
+ * Throws an error if the contract address or function selector is unknown.
92
+ *
93
+ * @param contractAddress - The contract address.
94
+ * @param selector - The function selector.
95
+ * @returns A promise that resolves with the MembershipWitness instance for the specified contract's function.
96
+ */ async getFunctionMembershipWitness(contractAddress, selector) {
104
97
  const tree = await this.getTreeForAddress(contractAddress);
105
98
  return tree.getFunctionMembershipWitness(selector);
106
99
  }
@@ -115,16 +108,15 @@ export class ContractDataOracle {
115
108
  return `${contractName}:${functionName}`;
116
109
  }
117
110
  /**
118
- * Retrieve or create a ContractTree instance based on the provided class id.
119
- * If an existing tree with the same class id is found in the cache, it will be returned.
120
- * Otherwise, a new ContractTree instance will be created using the contract data from the database
121
- * and added to the cache before returning.
122
- *
123
- * @param classId - The class id of the contract for which the ContractTree is required.
124
- * @returns A ContractTree instance associated with the specified contract address.
125
- * @throws An Error if the contract is not found in the ContractDatabase.
126
- */
127
- async getTreeForClassId(classId) {
111
+ * Retrieve or create a ContractTree instance based on the provided class id.
112
+ * If an existing tree with the same class id is found in the cache, it will be returned.
113
+ * Otherwise, a new ContractTree instance will be created using the contract data from the database
114
+ * and added to the cache before returning.
115
+ *
116
+ * @param classId - The class id of the contract for which the ContractTree is required.
117
+ * @returns A ContractTree instance associated with the specified contract address.
118
+ * @throws An Error if the contract is not found in the ContractDatabase.
119
+ */ async getTreeForClassId(classId) {
128
120
  if (!this.contractClasses.has(classId.toString())) {
129
121
  const artifact = await this.db.getContractArtifact(classId);
130
122
  if (!artifact) {
@@ -136,18 +128,16 @@ export class ContractDataOracle {
136
128
  return this.contractClasses.get(classId.toString());
137
129
  }
138
130
  /**
139
- * Retrieve or create a ContractTree instance based on the provided AztecAddress.
140
- * If an existing tree with the same contract address is found in the cache, it will be returned.
141
- * Otherwise, a new ContractTree instance will be created using the contract data from the database
142
- * and added to the cache before returning.
143
- *
144
- * @param contractAddress - The AztecAddress of the contract for which the ContractTree is required.
145
- * @returns A ContractTree instance associated with the specified contract address.
146
- * @throws An Error if the contract is not found in the ContractDatabase.
147
- */
148
- async getTreeForAddress(contractAddress) {
131
+ * Retrieve or create a ContractTree instance based on the provided AztecAddress.
132
+ * If an existing tree with the same contract address is found in the cache, it will be returned.
133
+ * Otherwise, a new ContractTree instance will be created using the contract data from the database
134
+ * and added to the cache before returning.
135
+ *
136
+ * @param contractAddress - The AztecAddress of the contract for which the ContractTree is required.
137
+ * @returns A ContractTree instance associated with the specified contract address.
138
+ * @throws An Error if the contract is not found in the ContractDatabase.
139
+ */ async getTreeForAddress(contractAddress) {
149
140
  const instance = await this.getContractInstance(contractAddress);
150
141
  return this.getTreeForClassId(instance.contractClassId);
151
142
  }
152
143
  }
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfZGF0YV9vcmFjbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUtMLHdCQUF3QixHQUN6QixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSTVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRW5FOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFNN0IsWUFBb0IsRUFBdUQ7UUFBdkQsT0FBRSxHQUFGLEVBQUUsQ0FBcUQ7UUFMM0UsMkRBQTJEO1FBQ25ELG9CQUFlLEdBQXNDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdkUsNkNBQTZDO1FBQ3JDLHNCQUFpQixHQUFrQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRVMsQ0FBQztJQUUvRSw0RUFBNEU7SUFDckUsS0FBSyxDQUFDLG1CQUFtQixDQUFDLGVBQTZCO1FBQzVELElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDNUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDZCxNQUFNLElBQUkscUJBQXFCLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDOUQsQ0FBQztZQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFFLENBQUM7SUFDakUsQ0FBQztJQUVELDBFQUEwRTtJQUNuRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsZUFBbUI7UUFDL0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sS0FBSyxDQUFDLG1CQUFtQixDQUFDLGVBQW1CO1FBQ2xELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxlQUE2QixFQUFFLFFBQTBCO1FBQ3hGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLEtBQUssQ0FBQyx5QkFBeUIsQ0FDcEMsZUFBNkIsRUFDN0IsWUFBb0I7UUFFcEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0QsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLEtBQUssQ0FBQyx3QkFBd0IsQ0FDbkMsZUFBNkIsRUFDN0IsUUFBMEI7UUFFMUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUQsT0FBTyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLEtBQUssQ0FBQyxXQUFXLENBQUMsZUFBNkIsRUFBRSxRQUEwQjtRQUNoRixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksS0FBSyxDQUFDLDRCQUE0QixDQUFDLGVBQTZCLEVBQUUsUUFBMEI7UUFDakcsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0QsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVNLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxlQUE2QjtRQUM3RCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDakMsQ0FBQztJQUVNLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxlQUE2QixFQUFFLFFBQTBCO1FBQ3pGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNELE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xELE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEUsT0FBTyxHQUFHLFlBQVksSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ssS0FBSyxDQUFDLGlCQUFpQixDQUFDLE9BQVc7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDZCxNQUFNLElBQUksMEJBQTBCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDM0QsQ0FBQztZQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sb0JBQW9CLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ssS0FBSyxDQUFDLGlCQUFpQixDQUFDLGVBQTZCO1FBQzNELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMxRCxDQUFDO0NBQ0YifQ==
@@ -1,4 +1,4 @@
1
- import { FUNCTION_TREE_HEIGHT, MembershipWitness, computePrivateFunctionLeaf, computePrivateFunctionsTree, getContractClassFromArtifact, } from '@aztec/circuits.js';
1
+ import { FUNCTION_TREE_HEIGHT, MembershipWitness, computePrivateFunctionLeaf, computePrivateFunctionsTree, getContractClassFromArtifact } from '@aztec/circuits.js';
2
2
  import { FunctionSelector } from '@aztec/foundation/abi';
3
3
  import { Fr } from '@aztec/foundation/fields';
4
4
  import { assertLength } from '@aztec/foundation/serialize';
@@ -7,9 +7,11 @@ import { assertLength } from '@aztec/foundation/serialize';
7
7
  * It manages the construction of the function tree, computes its root, and generates membership witnesses
8
8
  * for constrained functions. This class also enables lookup of specific function artifact using selectors.
9
9
  * It is used in combination with the AztecNode to compute various data for executing private transactions.
10
- */
11
- export class PrivateFunctionsTree {
12
- constructor(artifact, contractClass) {
10
+ */ export class PrivateFunctionsTree {
11
+ artifact;
12
+ contractClass;
13
+ tree;
14
+ constructor(artifact, contractClass){
13
15
  this.artifact = artifact;
14
16
  this.contractClass = contractClass;
15
17
  }
@@ -18,71 +20,64 @@ export class PrivateFunctionsTree {
18
20
  return new PrivateFunctionsTree(artifact, contractClass);
19
21
  }
20
22
  /**
21
- * Retrieve the artifact of a given function.
22
- * The function is identified by its selector, which represents a unique identifier for the function's signature.
23
- * Throws an error if the function with the provided selector is not found in the contract.
24
- *
25
- * @param selector - The function selector.
26
- * @returns The artifact object containing relevant information about the targeted function.
27
- */
28
- async getFunctionArtifact(selector) {
29
- const functionsAndSelectors = await Promise.all(this.artifact.functions.map(async (f) => ({
30
- f,
31
- selector: await FunctionSelector.fromNameAndParameters(f.name, f.parameters),
32
- })));
33
- const artifact = functionsAndSelectors.find(f => selector.equals(f.selector))?.f;
23
+ * Retrieve the artifact of a given function.
24
+ * The function is identified by its selector, which represents a unique identifier for the function's signature.
25
+ * Throws an error if the function with the provided selector is not found in the contract.
26
+ *
27
+ * @param selector - The function selector.
28
+ * @returns The artifact object containing relevant information about the targeted function.
29
+ */ async getFunctionArtifact(selector) {
30
+ const functionsAndSelectors = await Promise.all(this.artifact.functions.map(async (f)=>({
31
+ f,
32
+ selector: await FunctionSelector.fromNameAndParameters(f.name, f.parameters)
33
+ })));
34
+ const artifact = functionsAndSelectors.find((f)=>selector.equals(f.selector))?.f;
34
35
  if (!artifact) {
35
36
  throw new Error(`Unknown function. Selector ${selector.toString()} not found in the artifact ${this.artifact.name} with class ${this.getContractClassId().toString()}.`);
36
37
  }
37
38
  return artifact;
38
39
  }
39
40
  /**
40
- * Retrieve the bytecode of a function in the contract by its function selector.
41
- * The function selector is a unique identifier for each function in a contract.
42
- * Throws an error if the function with the given selector is not found in the contract.
43
- *
44
- * @param selector - The selector of a function to get bytecode for.
45
- * @returns The bytecode of the function as a string.
46
- */
47
- async getBytecode(selector) {
41
+ * Retrieve the bytecode of a function in the contract by its function selector.
42
+ * The function selector is a unique identifier for each function in a contract.
43
+ * Throws an error if the function with the given selector is not found in the contract.
44
+ *
45
+ * @param selector - The selector of a function to get bytecode for.
46
+ * @returns The bytecode of the function as a string.
47
+ */ async getBytecode(selector) {
48
48
  const artifact = await this.getFunctionArtifact(selector);
49
49
  return artifact.bytecode;
50
50
  }
51
51
  /**
52
- * Calculate and return the root of the function tree for the current contract.
53
- * This root is a cryptographic commitment to the set of constrained functions within the contract,
54
- * which is used in the Aztec node's proof system. The root will be cached after the first call.
55
- *
56
- * @returns A promise that resolves to the Fr (finite field element) representation of the function tree root.
57
- */
58
- getFunctionTreeRoot() {
52
+ * Calculate and return the root of the function tree for the current contract.
53
+ * This root is a cryptographic commitment to the set of constrained functions within the contract,
54
+ * which is used in the Aztec node's proof system. The root will be cached after the first call.
55
+ *
56
+ * @returns A promise that resolves to the Fr (finite field element) representation of the function tree root.
57
+ */ getFunctionTreeRoot() {
59
58
  return this.getTree();
60
59
  }
61
- /** Returns the contract class object. */
62
- getContractClass() {
60
+ /** Returns the contract class object. */ getContractClass() {
63
61
  return this.contractClass;
64
62
  }
65
- /** Returns the contract artifact. */
66
- getArtifact() {
63
+ /** Returns the contract artifact. */ getArtifact() {
67
64
  return this.artifact;
68
65
  }
69
66
  /**
70
- * Returns the contract class identifier for the given artifact.
71
- */
72
- getContractClassId() {
67
+ * Returns the contract class identifier for the given artifact.
68
+ */ getContractClassId() {
73
69
  return this.getContractClass().id;
74
70
  }
75
71
  /**
76
- * Retrieve the membership witness of a function within a contract's function tree.
77
- * A membership witness represents the position and authentication path of a target function
78
- * in the Merkle tree of constrained functions. It is required to prove the existence of the
79
- * function within the contract during execution. Throws if fn does not exist or is not private.
80
- *
81
- * @param selector - The function selector.
82
- * @returns A MembershipWitness instance representing the position and authentication path of the function in the function tree.
83
- */
84
- async getFunctionMembershipWitness(selector) {
85
- const fn = this.getContractClass().privateFunctions.find(f => f.selector.equals(selector));
72
+ * Retrieve the membership witness of a function within a contract's function tree.
73
+ * A membership witness represents the position and authentication path of a target function
74
+ * in the Merkle tree of constrained functions. It is required to prove the existence of the
75
+ * function within the contract during execution. Throws if fn does not exist or is not private.
76
+ *
77
+ * @param selector - The function selector.
78
+ * @returns A MembershipWitness instance representing the position and authentication path of the function in the function tree.
79
+ */ async getFunctionMembershipWitness(selector) {
80
+ const fn = this.getContractClass().privateFunctions.find((f)=>f.selector.equals(selector));
86
81
  if (!fn) {
87
82
  throw new Error(`Private function with selector ${selector.toString()} not found in contract class.`);
88
83
  }
@@ -100,4 +95,3 @@ export class PrivateFunctionsTree {
100
95
  return this.tree;
101
96
  }
102
97
  }
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9mdW5jdGlvbnNfdHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9kYXRhX29yYWNsZS9wcml2YXRlX2Z1bmN0aW9uc190cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsNEJBQTRCLEdBQzdCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUF5QixnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0Q7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQXFDLFFBQTBCLEVBQVUsYUFBa0M7UUFBdEUsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7SUFBRyxDQUFDO0lBRS9HLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQTBCO1FBQzVDLE1BQU0sYUFBYSxHQUFHLE1BQU0sNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkUsT0FBTyxJQUFJLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxRQUEwQjtRQUN6RCxNQUFNLHFCQUFxQixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLENBQUM7WUFDdEMsQ0FBQztZQUNELFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDLHFCQUFxQixD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
@@ -1,2 +1,3 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYXJ0aWZhY3RfZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YWJhc2UvY29udHJhY3RzL2NvbnRyYWN0X2FydGlmYWN0X2RiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
1
+ /**
2
+ * PXE database for managing contract artifacts.
3
+ */ export { };
@@ -1,2 +1,3 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2VfZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YWJhc2UvY29udHJhY3RzL2NvbnRyYWN0X2luc3RhbmNlX2RiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
1
+ /**
2
+ * PXE database for managing contract instances.
3
+ */ export { };
@@ -1,3 +1,2 @@
1
1
  export * from './pxe_database.js';
2
2
  export * from './kv_pxe_database.js';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDIn0=