@aztec/pxe 0.47.1 → 0.48.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 (66) hide show
  1. package/dest/config/index.d.ts +17 -0
  2. package/dest/config/index.d.ts.map +1 -1
  3. package/dest/config/index.js +67 -8
  4. package/dest/database/incoming_note_dao.d.ts +4 -4
  5. package/dest/database/incoming_note_dao.d.ts.map +1 -1
  6. package/dest/database/incoming_note_dao.js +7 -7
  7. package/dest/database/kv_pxe_database.d.ts +3 -3
  8. package/dest/database/kv_pxe_database.d.ts.map +1 -1
  9. package/dest/database/kv_pxe_database.js +64 -31
  10. package/dest/database/outgoing_note_dao.d.ts +6 -6
  11. package/dest/database/outgoing_note_dao.d.ts.map +1 -1
  12. package/dest/database/outgoing_note_dao.js +8 -8
  13. package/dest/database/pxe_database.d.ts +6 -2
  14. package/dest/database/pxe_database.d.ts.map +1 -1
  15. package/dest/database/pxe_database_test_suite.d.ts.map +1 -1
  16. package/dest/database/pxe_database_test_suite.js +43 -4
  17. package/dest/kernel_prover/{private_inputs_builders → hints}/build_private_kernel_reset_hints.d.ts +1 -1
  18. package/dest/kernel_prover/hints/build_private_kernel_reset_hints.d.ts.map +1 -0
  19. package/dest/kernel_prover/hints/build_private_kernel_reset_hints.js +77 -0
  20. package/dest/kernel_prover/hints/index.d.ts +3 -0
  21. package/dest/kernel_prover/hints/index.d.ts.map +1 -0
  22. package/dest/kernel_prover/hints/index.js +3 -0
  23. package/dest/kernel_prover/hints/needs_reset.d.ts +5 -0
  24. package/dest/kernel_prover/hints/needs_reset.d.ts.map +1 -0
  25. package/dest/kernel_prover/hints/needs_reset.js +35 -0
  26. package/dest/kernel_prover/kernel_prover.d.ts +0 -2
  27. package/dest/kernel_prover/kernel_prover.d.ts.map +1 -1
  28. package/dest/kernel_prover/kernel_prover.js +14 -38
  29. package/dest/note_processor/note_processor.js +2 -2
  30. package/dest/note_processor/produce_note_dao.js +15 -15
  31. package/dest/pxe_http/pxe_http_server.d.ts.map +1 -1
  32. package/dest/pxe_http/pxe_http_server.js +3 -1
  33. package/dest/pxe_service/create_pxe_service.js +2 -2
  34. package/dest/pxe_service/pxe_service.d.ts +4 -4
  35. package/dest/pxe_service/pxe_service.d.ts.map +1 -1
  36. package/dest/pxe_service/pxe_service.js +23 -30
  37. package/dest/simulator_oracle/index.d.ts +2 -2
  38. package/dest/simulator_oracle/index.d.ts.map +1 -1
  39. package/dest/simulator_oracle/index.js +5 -4
  40. package/dest/synchronizer/synchronizer.d.ts +1 -1
  41. package/dest/synchronizer/synchronizer.d.ts.map +1 -1
  42. package/dest/synchronizer/synchronizer.js +8 -10
  43. package/package.json +14 -14
  44. package/src/config/index.ts +84 -14
  45. package/src/database/incoming_note_dao.ts +5 -5
  46. package/src/database/kv_pxe_database.ts +86 -31
  47. package/src/database/outgoing_note_dao.ts +6 -6
  48. package/src/database/pxe_database.ts +6 -2
  49. package/src/database/pxe_database_test_suite.ts +70 -3
  50. package/src/kernel_prover/{private_inputs_builders → hints}/build_private_kernel_reset_hints.ts +2 -0
  51. package/src/kernel_prover/hints/index.ts +2 -0
  52. package/src/kernel_prover/hints/needs_reset.ts +51 -0
  53. package/src/kernel_prover/kernel_prover.ts +20 -48
  54. package/src/note_processor/note_processor.ts +1 -1
  55. package/src/note_processor/produce_note_dao.ts +14 -14
  56. package/src/pxe_http/pxe_http_server.ts +2 -0
  57. package/src/pxe_service/create_pxe_service.ts +2 -2
  58. package/src/pxe_service/pxe_service.ts +41 -51
  59. package/src/simulator_oracle/index.ts +4 -3
  60. package/src/synchronizer/synchronizer.ts +19 -19
  61. package/dest/kernel_prover/private_inputs_builders/build_private_kernel_reset_hints.d.ts.map +0 -1
  62. package/dest/kernel_prover/private_inputs_builders/build_private_kernel_reset_hints.js +0 -77
  63. package/dest/kernel_prover/private_inputs_builders/index.d.ts +0 -2
  64. package/dest/kernel_prover/private_inputs_builders/index.d.ts.map +0 -1
  65. package/dest/kernel_prover/private_inputs_builders/index.js +0 -2
  66. package/src/kernel_prover/private_inputs_builders/index.ts +0 -1
@@ -1,3 +1,5 @@
1
+ import { type ConfigMappingsType } from '@aztec/foundation/config';
2
+ import { type Network } from '@aztec/types/network';
1
3
  /**
2
4
  * Temporary configuration until WASM can be used instead of native
3
5
  */
@@ -24,10 +26,25 @@ export interface PXEConfig {
24
26
  dataDirectory?: string;
25
27
  }
26
28
  export type PXEServiceConfig = PXEConfig & KernelProverConfig & BBProverConfig;
29
+ export type CliPXEOptions = {
30
+ /** External Aztec network to connect to. e.g. devnet */
31
+ network?: Network;
32
+ /** API Key required by the external network's node */
33
+ apiKey?: string;
34
+ /** Custom Aztec Node URL to connect to */
35
+ nodeUrl?: string;
36
+ };
37
+ export declare const pxeConfigMappings: ConfigMappingsType<PXEServiceConfig>;
27
38
  /**
28
39
  * Creates an instance of PXEServiceConfig out of environment variables using sensible defaults for integration testing if not set.
29
40
  */
30
41
  export declare function getPXEServiceConfig(): PXEServiceConfig;
42
+ export declare const pxeCliConfigMappings: ConfigMappingsType<CliPXEOptions>;
43
+ export declare const allPxeConfigMappings: ConfigMappingsType<CliPXEOptions & PXEServiceConfig>;
44
+ /**
45
+ * Creates an instance of CliPxeOptions out of environment variables
46
+ */
47
+ export declare function getCliPXEOptions(): CliPXEOptions & PXEServiceConfig;
31
48
  /**
32
49
  * Returns package name and version.
33
50
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AACD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,2DAA2D;IAC3D,wBAAwB,EAAE,MAAM,CAAC;IACjC,uDAAuD;IACvD,eAAe,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAE/E;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,CAkBtD;AAED;;GAEG;AACH,wBAAgB,cAAc;;;EAK7B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAMpD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AACD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,2DAA2D;IAC3D,wBAAwB,EAAE,MAAM,CAAC;IACjC,uDAAuD;IACvD,eAAe,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAE/E,MAAM,MAAM,aAAa,GAAG;IAC1B,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,CAAC,gBAAgB,CA4BlE,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,CAEtD;AAED,eAAO,MAAM,oBAAoB,EAAE,kBAAkB,CAAC,aAAa,CAclE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,kBAAkB,CAAC,aAAa,GAAG,gBAAgB,CASrF,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,gBAAgB,CAQnE;AAED;;GAEG;AACH,wBAAgB,cAAc;;;EAK7B"}
@@ -1,19 +1,78 @@
1
1
  import { INITIAL_L2_BLOCK_NUM } from '@aztec/circuits.js/constants';
2
+ import { booleanConfigHelper, getConfigFromMappings, numberConfigHelper, } from '@aztec/foundation/config';
2
3
  import { readFileSync } from 'fs';
3
4
  import { dirname, resolve } from 'path';
4
5
  import { fileURLToPath } from 'url';
6
+ export const pxeConfigMappings = {
7
+ l2BlockPollingIntervalMS: {
8
+ env: 'PXE_BLOCK_POLLING_INTERVAL_MS',
9
+ description: 'The interval to wait between polling for new blocks.',
10
+ ...numberConfigHelper(1000),
11
+ },
12
+ l2StartingBlock: {
13
+ env: 'PXE_L2_STARTING_BLOCK',
14
+ ...numberConfigHelper(INITIAL_L2_BLOCK_NUM),
15
+ description: 'L2 block to start scanning from for new accounts',
16
+ },
17
+ dataDirectory: {
18
+ env: 'PXE_DATA_DIRECTORY',
19
+ description: 'Where to store PXE data. If not set, will store in memory',
20
+ },
21
+ bbBinaryPath: {
22
+ env: 'BB_BINARY_PATH',
23
+ description: 'Path to the BB binary',
24
+ },
25
+ bbWorkingDirectory: {
26
+ env: 'BB_WORKING_DIRECTORY',
27
+ description: 'Working directory for the BB binary',
28
+ },
29
+ proverEnabled: {
30
+ env: 'PXE_PROVER_ENABLED',
31
+ description: 'Enable real proofs',
32
+ ...booleanConfigHelper(),
33
+ },
34
+ };
5
35
  /**
6
36
  * Creates an instance of PXEServiceConfig out of environment variables using sensible defaults for integration testing if not set.
7
37
  */
8
38
  export function getPXEServiceConfig() {
9
- const { PXE_BLOCK_POLLING_INTERVAL_MS, PXE_L2_STARTING_BLOCK, PXE_DATA_DIRECTORY, BB_BINARY_PATH, BB_WORKING_DIRECTORY, PXE_PROVER_ENABLED, } = process.env;
39
+ return getConfigFromMappings(pxeConfigMappings);
40
+ }
41
+ export const pxeCliConfigMappings = {
42
+ network: {
43
+ env: 'NETWORK',
44
+ parseEnv: (val) => val,
45
+ description: 'External Aztec network to connect to. e.g. devnet',
46
+ },
47
+ apiKey: {
48
+ env: 'API_KEY',
49
+ description: "API Key required by the external network's node",
50
+ },
51
+ nodeUrl: {
52
+ env: 'AZTEC_NODE_URL',
53
+ description: 'Custom Aztec Node URL to connect to',
54
+ },
55
+ };
56
+ export const allPxeConfigMappings = {
57
+ ...pxeConfigMappings,
58
+ ...pxeCliConfigMappings,
59
+ proverEnabled: {
60
+ env: 'PXE_PROVER_ENABLED',
61
+ parseEnv: (val) => ['1', 'true', 'TRUE'].includes(val) || !!process.env.NETWORK,
62
+ description: 'Enable real proofs',
63
+ isBoolean: true,
64
+ },
65
+ };
66
+ /**
67
+ * Creates an instance of CliPxeOptions out of environment variables
68
+ */
69
+ export function getCliPXEOptions() {
70
+ const pxeConfig = getPXEServiceConfig();
71
+ const cliOptions = getConfigFromMappings(pxeCliConfigMappings);
10
72
  return {
11
- l2BlockPollingIntervalMS: PXE_BLOCK_POLLING_INTERVAL_MS ? +PXE_BLOCK_POLLING_INTERVAL_MS : 1000,
12
- l2StartingBlock: PXE_L2_STARTING_BLOCK ? +PXE_L2_STARTING_BLOCK : INITIAL_L2_BLOCK_NUM,
13
- dataDirectory: PXE_DATA_DIRECTORY,
14
- bbBinaryPath: BB_BINARY_PATH,
15
- bbWorkingDirectory: BB_WORKING_DIRECTORY,
16
- proverEnabled: ['1', 'true'].includes(PXE_PROVER_ENABLED),
73
+ ...pxeConfig,
74
+ ...cliOptions,
75
+ proverEnabled: pxeConfig.proverEnabled || !!cliOptions.network,
17
76
  };
18
77
  }
19
78
  /**
@@ -24,4 +83,4 @@ export function getPackageInfo() {
24
83
  const { version, name } = JSON.parse(readFileSync(packageJsonPath).toString());
25
84
  return { version, name };
26
85
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXBFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEtBQUssQ0FBQztBQStCcEM7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CO0lBQ2pDLE1BQU0sRUFDSiw2QkFBNkIsRUFDN0IscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLGtCQUFrQixHQUNuQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFFaEIsT0FBTztRQUNMLHdCQUF3QixFQUFFLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQy9GLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsb0JBQW9CO1FBQ3RGLGFBQWEsRUFBRSxrQkFBa0I7UUFDakMsWUFBWSxFQUFFLGNBQWM7UUFDNUIsa0JBQWtCLEVBQUUsb0JBQW9CO1FBQ3hDLGFBQWEsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsa0JBQW1CLENBQUM7S0FDM0QsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjO0lBQzVCLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBQy9GLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUUvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQzNCLENBQUMifQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFFTCxtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLGtCQUFrQixHQUNuQixNQUFNLDBCQUEwQixDQUFDO0FBR2xDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEtBQUssQ0FBQztBQXdDcEMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQXlDO0lBQ3JFLHdCQUF3QixFQUFFO1FBQ3hCLEdBQUcsRUFBRSwrQkFBK0I7UUFDcEMsV0FBVyxFQUFFLHNEQUFzRDtRQUNuRSxHQUFHLGtCQUFrQixDQUFDLElBQUssQ0FBQztLQUM3QjtJQUNELGVBQWUsRUFBRTtRQUNmLEdBQUcsRUFBRSx1QkFBdUI7UUFDNUIsR0FBRyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztRQUMzQyxXQUFXLEVBQUUsa0RBQWtEO0tBQ2hFO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixXQUFXLEVBQUUsMkRBQTJEO0tBQ3pFO0lBQ0QsWUFBWSxFQUFFO1FBQ1osR0FBRyxFQUFFLGdCQUFnQjtRQUNyQixXQUFXLEVBQUUsdUJBQXVCO0tBQ3JDO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsR0FBRyxFQUFFLHNCQUFzQjtRQUMzQixXQUFXLEVBQUUscUNBQXFDO0tBQ25EO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixXQUFXLEVBQUUsb0JBQW9CO1FBQ2pDLEdBQUcsbUJBQW1CLEVBQUU7S0FDekI7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CO0lBQ2pDLE9BQU8scUJBQXFCLENBQW1CLGlCQUFpQixDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFzQztJQUNyRSxPQUFPLEVBQUU7UUFDUCxHQUFHLEVBQUUsU0FBUztRQUNkLFFBQVEsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsR0FBYztRQUN6QyxXQUFXLEVBQUUsbURBQW1EO0tBQ2pFO0lBQ0QsTUFBTSxFQUFFO1FBQ04sR0FBRyxFQUFFLFNBQVM7UUFDZCxXQUFXLEVBQUUsaURBQWlEO0tBQy9EO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsR0FBRyxFQUFFLGdCQUFnQjtRQUNyQixXQUFXLEVBQUUscUNBQXFDO0tBQ25EO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUF5RDtJQUN4RixHQUFHLGlCQUFpQjtJQUNwQixHQUFHLG9CQUFvQjtJQUN2QixhQUFhLEVBQUU7UUFDYixHQUFHLEVBQUUsb0JBQW9CO1FBQ3pCLFFBQVEsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPO1FBQ3ZGLFdBQVcsRUFBRSxvQkFBb0I7UUFDakMsU0FBUyxFQUFFLElBQUk7S0FDaEI7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixFQUFFLENBQUM7SUFDeEMsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQWdCLG9CQUFvQixDQUFDLENBQUM7SUFDOUUsT0FBTztRQUNMLEdBQUcsU0FBUztRQUNaLEdBQUcsVUFBVTtRQUNiLGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTztLQUMvRCxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWM7SUFDNUIsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDL0YsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBRS9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDM0IsQ0FBQyJ9
@@ -21,10 +21,10 @@ export declare class IncomingNoteDao implements NoteData {
21
21
  /** The nonce of the note. */
22
22
  nonce: Fr;
23
23
  /**
24
- * Inner note hash of the note. This is customizable by the app circuit.
24
+ * A hash of the note. This is customizable by the app circuit.
25
25
  * We can use this value to compute siloedNoteHash and uniqueSiloedNoteHash.
26
26
  */
27
- innerNoteHash: Fr;
27
+ noteHash: Fr;
28
28
  /**
29
29
  * The nullifier of the note (siloed by contract address).
30
30
  * Note: Might be set as 0 if the note was added to PXE as nullified.
@@ -48,10 +48,10 @@ export declare class IncomingNoteDao implements NoteData {
48
48
  /** The nonce of the note. */
49
49
  nonce: Fr,
50
50
  /**
51
- * Inner note hash of the note. This is customizable by the app circuit.
51
+ * A hash of the note. This is customizable by the app circuit.
52
52
  * We can use this value to compute siloedNoteHash and uniqueSiloedNoteHash.
53
53
  */
54
- innerNoteHash: Fr,
54
+ noteHash: Fr,
55
55
  /**
56
56
  * The nullifier of the note (siloed by contract address).
57
57
  * Note: Might be set as 0 if the note was added to PXE as nullified.
@@ -1 +1 @@
1
- {"version":3,"file":"incoming_note_dao.d.ts","sourceRoot":"","sources":["../../src/database/incoming_note_dao.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,EAAE,EAAS,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAE5C,kDAAkD;IAC3C,IAAI,EAAE,IAAI;IACjB,oDAAoD;IAC7C,eAAe,EAAE,YAAY;IACpC,iEAAiE;IAC1D,WAAW,EAAE,EAAE;IACtB,iDAAiD;IAC1C,UAAU,EAAE,YAAY;IAC/B,kDAAkD;IAC3C,MAAM,EAAE,MAAM;IACrB,6BAA6B;IACtB,KAAK,EAAE,EAAE;IAChB;;;OAGG;IACI,aAAa,EAAE,EAAE;IACxB;;;OAGG;IACI,eAAe,EAAE,EAAE;IAC1B,+DAA+D;IACxD,KAAK,EAAE,MAAM;IACpB,wDAAwD;IACjD,KAAK,EAAE,SAAS;;IAzBvB,kDAAkD;IAC3C,IAAI,EAAE,IAAI;IACjB,oDAAoD;IAC7C,eAAe,EAAE,YAAY;IACpC,iEAAiE;IAC1D,WAAW,EAAE,EAAE;IACtB,iDAAiD;IAC1C,UAAU,EAAE,YAAY;IAC/B,kDAAkD;IAC3C,MAAM,EAAE,MAAM;IACrB,6BAA6B;IACtB,KAAK,EAAE,EAAE;IAChB;;;OAGG;IACI,aAAa,EAAE,EAAE;IACxB;;;OAGG;IACI,eAAe,EAAE,EAAE;IAC1B,+DAA+D;IACxD,KAAK,EAAE,MAAM;IACpB,wDAAwD;IACjD,KAAK,EAAE,SAAS;IAGzB,QAAQ,IAAI,MAAM;IAclB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IA4B/C,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAK7B;;;OAGG;IACI,OAAO;CAKf"}
1
+ {"version":3,"file":"incoming_note_dao.d.ts","sourceRoot":"","sources":["../../src/database/incoming_note_dao.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,EAAE,EAAS,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAE5C,kDAAkD;IAC3C,IAAI,EAAE,IAAI;IACjB,oDAAoD;IAC7C,eAAe,EAAE,YAAY;IACpC,iEAAiE;IAC1D,WAAW,EAAE,EAAE;IACtB,iDAAiD;IAC1C,UAAU,EAAE,YAAY;IAC/B,kDAAkD;IAC3C,MAAM,EAAE,MAAM;IACrB,6BAA6B;IACtB,KAAK,EAAE,EAAE;IAChB;;;OAGG;IACI,QAAQ,EAAE,EAAE;IACnB;;;OAGG;IACI,eAAe,EAAE,EAAE;IAC1B,+DAA+D;IACxD,KAAK,EAAE,MAAM;IACpB,wDAAwD;IACjD,KAAK,EAAE,SAAS;;IAzBvB,kDAAkD;IAC3C,IAAI,EAAE,IAAI;IACjB,oDAAoD;IAC7C,eAAe,EAAE,YAAY;IACpC,iEAAiE;IAC1D,WAAW,EAAE,EAAE;IACtB,iDAAiD;IAC1C,UAAU,EAAE,YAAY;IAC/B,kDAAkD;IAC3C,MAAM,EAAE,MAAM;IACrB,6BAA6B;IACtB,KAAK,EAAE,EAAE;IAChB;;;OAGG;IACI,QAAQ,EAAE,EAAE;IACnB;;;OAGG;IACI,eAAe,EAAE,EAAE;IAC1B,+DAA+D;IACxD,KAAK,EAAE,MAAM;IACpB,wDAAwD;IACjD,KAAK,EAAE,SAAS;IAGzB,QAAQ,IAAI,MAAM;IAclB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IA4B/C,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAK7B;;;OAGG;IACI,OAAO;CAKf"}
@@ -21,10 +21,10 @@ export class IncomingNoteDao {
21
21
  /** The nonce of the note. */
22
22
  nonce,
23
23
  /**
24
- * Inner note hash of the note. This is customizable by the app circuit.
24
+ * A hash of the note. This is customizable by the app circuit.
25
25
  * We can use this value to compute siloedNoteHash and uniqueSiloedNoteHash.
26
26
  */
27
- innerNoteHash,
27
+ noteHash,
28
28
  /**
29
29
  * The nullifier of the note (siloed by contract address).
30
30
  * Note: Might be set as 0 if the note was added to PXE as nullified.
@@ -40,7 +40,7 @@ export class IncomingNoteDao {
40
40
  this.noteTypeId = noteTypeId;
41
41
  this.txHash = txHash;
42
42
  this.nonce = nonce;
43
- this.innerNoteHash = innerNoteHash;
43
+ this.noteHash = noteHash;
44
44
  this.siloedNullifier = siloedNullifier;
45
45
  this.index = index;
46
46
  this.ivpkM = ivpkM;
@@ -53,7 +53,7 @@ export class IncomingNoteDao {
53
53
  this.noteTypeId,
54
54
  this.txHash.buffer,
55
55
  this.nonce,
56
- this.innerNoteHash,
56
+ this.noteHash,
57
57
  this.siloedNullifier,
58
58
  this.index,
59
59
  this.ivpkM,
@@ -67,11 +67,11 @@ export class IncomingNoteDao {
67
67
  const noteTypeId = reader.readObject(NoteSelector);
68
68
  const txHash = reader.readObject(TxHash);
69
69
  const nonce = Fr.fromBuffer(reader);
70
- const innerNoteHash = Fr.fromBuffer(reader);
70
+ const noteHash = Fr.fromBuffer(reader);
71
71
  const siloedNullifier = Fr.fromBuffer(reader);
72
72
  const index = toBigIntBE(reader.readBytes(32));
73
73
  const publicKey = Point.fromBuffer(reader);
74
- return new IncomingNoteDao(note, contractAddress, storageSlot, noteTypeId, txHash, nonce, innerNoteHash, siloedNullifier, index, publicKey);
74
+ return new IncomingNoteDao(note, contractAddress, storageSlot, noteTypeId, txHash, nonce, noteHash, siloedNullifier, index, publicKey);
75
75
  }
76
76
  toString() {
77
77
  return '0x' + this.toBuffer().toString('hex');
@@ -90,4 +90,4 @@ export class IncomingNoteDao {
90
90
  return noteSize + AztecAddress.SIZE_IN_BYTES + Fr.SIZE_IN_BYTES * 4 + TxHash.SIZE + Point.SIZE_IN_BYTES + indexSize;
91
91
  }
92
92
  }
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jb21pbmdfbm90ZV9kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvaW5jb21pbmdfbm90ZV9kYW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQWtCLE1BQU0sb0JBQW9CLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHOUU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQUMxQjtJQUNFLGtEQUFrRDtJQUMzQyxJQUFVO0lBQ2pCLG9EQUFvRDtJQUM3QyxlQUE2QjtJQUNwQyxpRUFBaUU7SUFDMUQsV0FBZTtJQUN0QixpREFBaUQ7SUFDMUMsVUFBd0I7SUFDL0Isa0RBQWtEO0lBQzNDLE1BQWM7SUFDckIsNkJBQTZCO0lBQ3RCLEtBQVM7SUFDaEI7OztPQUdHO0lBQ0ksYUFBaUI7SUFDeEI7OztPQUdHO0lBQ0ksZUFBbUI7SUFDMUIsK0RBQStEO0lBQ3hELEtBQWE7SUFDcEIsd0RBQXdEO0lBQ2pELEtBQWdCO1FBeEJoQixTQUFJLEdBQUosSUFBSSxDQUFNO1FBRVYsb0JBQWUsR0FBZixlQUFlLENBQWM7UUFFN0IsZ0JBQVcsR0FBWCxXQUFXLENBQUk7UUFFZixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBRXhCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFZCxVQUFLLEdBQUwsS0FBSyxDQUFJO1FBS1Qsa0JBQWEsR0FBYixhQUFhLENBQUk7UUFLakIsb0JBQWUsR0FBZixlQUFlLENBQUk7UUFFbkIsVUFBSyxHQUFMLEtB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
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jb21pbmdfbm90ZV9kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvaW5jb21pbmdfbm90ZV9kYW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQWtCLE1BQU0sb0JBQW9CLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHOUU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQUMxQjtJQUNFLGtEQUFrRDtJQUMzQyxJQUFVO0lBQ2pCLG9EQUFvRDtJQUM3QyxlQUE2QjtJQUNwQyxpRUFBaUU7SUFDMUQsV0FBZTtJQUN0QixpREFBaUQ7SUFDMUMsVUFBd0I7SUFDL0Isa0RBQWtEO0lBQzNDLE1BQWM7SUFDckIsNkJBQTZCO0lBQ3RCLEtBQVM7SUFDaEI7OztPQUdHO0lBQ0ksUUFBWTtJQUNuQjs7O09BR0c7SUFDSSxlQUFtQjtJQUMxQiwrREFBK0Q7SUFDeEQsS0FBYTtJQUNwQix3REFBd0Q7SUFDakQsS0FBZ0I7UUF4QmhCLFNBQUksR0FBSixJQUFJLENBQU07UUFFVixvQkFBZSxHQUFmLGVBQWUsQ0FBYztRQUU3QixnQkFBVyxHQUFYLFdBQVcsQ0FBSTtRQUVmLGVBQVUsR0FBVixVQUFVLENBQWM7UUFFeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUVkLFVBQUssR0FBTCxLQUFLLENBQUk7UUFLVCxhQUFRLEdBQVIsUUFBUSxDQUFJO1FBS1osb0JBQWUsR0FBZixlQUFlLENBQUk7UUFFbkIsVUFBSyxHQUFMLEtBQUss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
@@ -25,8 +25,8 @@ export declare class KVPxeDatabase implements PxeDatabase {
25
25
  getAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
26
26
  addCapsule(capsule: Fr[]): Promise<void>;
27
27
  popCapsule(): Promise<Fr[] | undefined>;
28
- addNote(note: IncomingNoteDao): Promise<void>;
29
- addNotes(incomingNotes: IncomingNoteDao[], outgoingNotes: OutgoingNoteDao[]): Promise<void>;
28
+ addNote(note: IncomingNoteDao, scope?: AztecAddress): Promise<void>;
29
+ addNotes(incomingNotes: IncomingNoteDao[], outgoingNotes: OutgoingNoteDao[], scope?: AztecAddress): Promise<void>;
30
30
  addDeferredNotes(deferredNotes: DeferredNoteDao[]): Promise<void>;
31
31
  getDeferredNotesByContract(contractAddress: AztecAddress): Promise<DeferredNoteDao[]>;
32
32
  /**
@@ -37,7 +37,7 @@ export declare class KVPxeDatabase implements PxeDatabase {
37
37
  removeDeferredNotesByContract(contractAddress: AztecAddress): Promise<DeferredNoteDao[]>;
38
38
  getIncomingNotes(filter: IncomingNotesFilter): Promise<IncomingNoteDao[]>;
39
39
  getOutgoingNotes(filter: OutgoingNotesFilter): Promise<OutgoingNoteDao[]>;
40
- removeNullifiedNotes(nullifiers: Fr[], account: PublicKey): Promise<IncomingNoteDao[]>;
40
+ removeNullifiedNotes(nullifiers: Fr[], accountIvpkM: PublicKey): Promise<IncomingNoteDao[]>;
41
41
  addNullifiedNote(note: IncomingNoteDao): Promise<void>;
42
42
  setHeader(header: Header): Promise<void>;
43
43
  getBlockNumber(): number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"kv_pxe_database.d.ts","sourceRoot":"","sources":["../../src/database/kv_pxe_database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kv_pxe_database.d.ts","sourceRoot":"","sources":["../../src/database/kv_pxe_database.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- var _KVPxeDatabase_instances, _KVPxeDatabase_synchronizedBlock, _KVPxeDatabase_addresses, _KVPxeDatabase_addressIndex, _KVPxeDatabase_authWitnesses, _KVPxeDatabase_capsules, _KVPxeDatabase_notes, _KVPxeDatabase_nullifiedNotes, _KVPxeDatabase_nullifierToNoteId, _KVPxeDatabase_notesByContract, _KVPxeDatabase_notesByStorageSlot, _KVPxeDatabase_notesByTxHash, _KVPxeDatabase_notesByIvpkM, _KVPxeDatabase_nullifiedNotesByContract, _KVPxeDatabase_nullifiedNotesByStorageSlot, _KVPxeDatabase_nullifiedNotesByTxHash, _KVPxeDatabase_nullifiedNotesByIvpkM, _KVPxeDatabase_deferredNotes, _KVPxeDatabase_deferredNotesByContract, _KVPxeDatabase_syncedBlockPerPublicKey, _KVPxeDatabase_contractArtifacts, _KVPxeDatabase_contractInstances, _KVPxeDatabase_db, _KVPxeDatabase_outgoingNotes, _KVPxeDatabase_outgoingNotesByContract, _KVPxeDatabase_outgoingNotesByStorageSlot, _KVPxeDatabase_outgoingNotesByTxHash, _KVPxeDatabase_outgoingNotesByOvpkM, _KVPxeDatabase_getCompleteAddress;
1
+ var _KVPxeDatabase_instances, _KVPxeDatabase_synchronizedBlock, _KVPxeDatabase_addresses, _KVPxeDatabase_addressIndex, _KVPxeDatabase_authWitnesses, _KVPxeDatabase_capsules, _KVPxeDatabase_notes, _KVPxeDatabase_nullifiedNotes, _KVPxeDatabase_nullifierToNoteId, _KVPxeDatabase_nullifiedNotesByContract, _KVPxeDatabase_nullifiedNotesByStorageSlot, _KVPxeDatabase_nullifiedNotesByTxHash, _KVPxeDatabase_nullifiedNotesByIvpkM, _KVPxeDatabase_deferredNotes, _KVPxeDatabase_deferredNotesByContract, _KVPxeDatabase_syncedBlockPerPublicKey, _KVPxeDatabase_contractArtifacts, _KVPxeDatabase_contractInstances, _KVPxeDatabase_db, _KVPxeDatabase_outgoingNotes, _KVPxeDatabase_outgoingNotesByContract, _KVPxeDatabase_outgoingNotesByStorageSlot, _KVPxeDatabase_outgoingNotesByTxHash, _KVPxeDatabase_outgoingNotesByOvpkM, _KVPxeDatabase_scopes, _KVPxeDatabase_notesByContractAndScope, _KVPxeDatabase_notesByStorageSlotAndScope, _KVPxeDatabase_notesByTxHashAndScope, _KVPxeDatabase_notesByIvpkMAndScope, _KVPxeDatabase_addScope, _KVPxeDatabase_getCompleteAddress;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
3
  import { MerkleTreeId, NoteStatus, } from '@aztec/circuit-types';
4
4
  import { AztecAddress, CompleteAddress, Header } from '@aztec/circuits.js';
@@ -24,10 +24,6 @@ export class KVPxeDatabase {
24
24
  _KVPxeDatabase_notes.set(this, void 0);
25
25
  _KVPxeDatabase_nullifiedNotes.set(this, void 0);
26
26
  _KVPxeDatabase_nullifierToNoteId.set(this, void 0);
27
- _KVPxeDatabase_notesByContract.set(this, void 0);
28
- _KVPxeDatabase_notesByStorageSlot.set(this, void 0);
29
- _KVPxeDatabase_notesByTxHash.set(this, void 0);
30
- _KVPxeDatabase_notesByIvpkM.set(this, void 0);
31
27
  _KVPxeDatabase_nullifiedNotesByContract.set(this, void 0);
32
28
  _KVPxeDatabase_nullifiedNotesByStorageSlot.set(this, void 0);
33
29
  _KVPxeDatabase_nullifiedNotesByTxHash.set(this, void 0);
@@ -43,6 +39,11 @@ export class KVPxeDatabase {
43
39
  _KVPxeDatabase_outgoingNotesByStorageSlot.set(this, void 0);
44
40
  _KVPxeDatabase_outgoingNotesByTxHash.set(this, void 0);
45
41
  _KVPxeDatabase_outgoingNotesByOvpkM.set(this, void 0);
42
+ _KVPxeDatabase_scopes.set(this, void 0);
43
+ _KVPxeDatabase_notesByContractAndScope.set(this, void 0);
44
+ _KVPxeDatabase_notesByStorageSlotAndScope.set(this, void 0);
45
+ _KVPxeDatabase_notesByTxHashAndScope.set(this, void 0);
46
+ _KVPxeDatabase_notesByIvpkMAndScope.set(this, void 0);
46
47
  __classPrivateFieldSet(this, _KVPxeDatabase_db, db, "f");
47
48
  __classPrivateFieldSet(this, _KVPxeDatabase_addresses, db.openArray('addresses'), "f");
48
49
  __classPrivateFieldSet(this, _KVPxeDatabase_addressIndex, db.openMap('address_index'), "f");
@@ -55,10 +56,6 @@ export class KVPxeDatabase {
55
56
  __classPrivateFieldSet(this, _KVPxeDatabase_notes, db.openMap('notes'), "f");
56
57
  __classPrivateFieldSet(this, _KVPxeDatabase_nullifiedNotes, db.openMap('nullified_notes'), "f");
57
58
  __classPrivateFieldSet(this, _KVPxeDatabase_nullifierToNoteId, db.openMap('nullifier_to_note'), "f");
58
- __classPrivateFieldSet(this, _KVPxeDatabase_notesByContract, db.openMultiMap('notes_by_contract'), "f");
59
- __classPrivateFieldSet(this, _KVPxeDatabase_notesByStorageSlot, db.openMultiMap('notes_by_storage_slot'), "f");
60
- __classPrivateFieldSet(this, _KVPxeDatabase_notesByTxHash, db.openMultiMap('notes_by_tx_hash'), "f");
61
- __classPrivateFieldSet(this, _KVPxeDatabase_notesByIvpkM, db.openMultiMap('notes_by_ivpk_m'), "f");
62
59
  __classPrivateFieldSet(this, _KVPxeDatabase_nullifiedNotesByContract, db.openMultiMap('nullified_notes_by_contract'), "f");
63
60
  __classPrivateFieldSet(this, _KVPxeDatabase_nullifiedNotesByStorageSlot, db.openMultiMap('nullified_notes_by_storage_slot'), "f");
64
61
  __classPrivateFieldSet(this, _KVPxeDatabase_nullifiedNotesByTxHash, db.openMultiMap('nullified_notes_by_tx_hash'), "f");
@@ -70,6 +67,17 @@ export class KVPxeDatabase {
70
67
  __classPrivateFieldSet(this, _KVPxeDatabase_outgoingNotesByStorageSlot, db.openMultiMap('outgoing_notes_by_storage_slot'), "f");
71
68
  __classPrivateFieldSet(this, _KVPxeDatabase_outgoingNotesByTxHash, db.openMultiMap('outgoing_notes_by_tx_hash'), "f");
72
69
  __classPrivateFieldSet(this, _KVPxeDatabase_outgoingNotesByOvpkM, db.openMultiMap('outgoing_notes_by_ovpk_m'), "f");
70
+ __classPrivateFieldSet(this, _KVPxeDatabase_scopes, db.openSet('scopes'), "f");
71
+ __classPrivateFieldSet(this, _KVPxeDatabase_notesByContractAndScope, new Map(), "f");
72
+ __classPrivateFieldSet(this, _KVPxeDatabase_notesByStorageSlotAndScope, new Map(), "f");
73
+ __classPrivateFieldSet(this, _KVPxeDatabase_notesByTxHashAndScope, new Map(), "f");
74
+ __classPrivateFieldSet(this, _KVPxeDatabase_notesByIvpkMAndScope, new Map(), "f");
75
+ for (const scope of __classPrivateFieldGet(this, _KVPxeDatabase_scopes, "f").entries()) {
76
+ __classPrivateFieldGet(this, _KVPxeDatabase_notesByContractAndScope, "f").set(scope, db.openMultiMap(`${scope}:notes_by_contract`));
77
+ __classPrivateFieldGet(this, _KVPxeDatabase_notesByStorageSlotAndScope, "f").set(scope, db.openMultiMap(`${scope}:notes_by_storage_slot`));
78
+ __classPrivateFieldGet(this, _KVPxeDatabase_notesByTxHashAndScope, "f").set(scope, db.openMultiMap(`${scope}:notes_by_tx_hash`));
79
+ __classPrivateFieldGet(this, _KVPxeDatabase_notesByIvpkMAndScope, "f").set(scope, db.openMultiMap(`${scope}:notes_by_ivpk_m`));
80
+ }
73
81
  }
74
82
  async getContract(address) {
75
83
  const instance = await this.getContractInstance(address);
@@ -111,10 +119,13 @@ export class KVPxeDatabase {
111
119
  const val = await __classPrivateFieldGet(this, _KVPxeDatabase_capsules, "f").pop();
112
120
  return val?.map(b => Fr.fromBuffer(b));
113
121
  }
114
- async addNote(note) {
115
- await this.addNotes([note], []);
122
+ async addNote(note, scope) {
123
+ await this.addNotes([note], [], scope);
116
124
  }
117
- addNotes(incomingNotes, outgoingNotes) {
125
+ async addNotes(incomingNotes, outgoingNotes, scope = AztecAddress.ZERO) {
126
+ if (!__classPrivateFieldGet(this, _KVPxeDatabase_scopes, "f").has(scope.toString())) {
127
+ await __classPrivateFieldGet(this, _KVPxeDatabase_instances, "m", _KVPxeDatabase_addScope).call(this, scope);
128
+ }
118
129
  return this.db.transaction(() => {
119
130
  for (const dao of incomingNotes) {
120
131
  // store notes by their index in the notes hash tree
@@ -124,10 +135,10 @@ export class KVPxeDatabase {
124
135
  const noteIndex = toBufferBE(dao.index, 32).toString('hex');
125
136
  void __classPrivateFieldGet(this, _KVPxeDatabase_notes, "f").set(noteIndex, dao.toBuffer());
126
137
  void __classPrivateFieldGet(this, _KVPxeDatabase_nullifierToNoteId, "f").set(dao.siloedNullifier.toString(), noteIndex);
127
- void __classPrivateFieldGet(this, _KVPxeDatabase_notesByContract, "f").set(dao.contractAddress.toString(), noteIndex);
128
- void __classPrivateFieldGet(this, _KVPxeDatabase_notesByStorageSlot, "f").set(dao.storageSlot.toString(), noteIndex);
129
- void __classPrivateFieldGet(this, _KVPxeDatabase_notesByTxHash, "f").set(dao.txHash.toString(), noteIndex);
130
- void __classPrivateFieldGet(this, _KVPxeDatabase_notesByIvpkM, "f").set(dao.ivpkM.toString(), noteIndex);
138
+ void __classPrivateFieldGet(this, _KVPxeDatabase_notesByContractAndScope, "f").get(scope.toString()).set(dao.contractAddress.toString(), noteIndex);
139
+ void __classPrivateFieldGet(this, _KVPxeDatabase_notesByStorageSlotAndScope, "f").get(scope.toString()).set(dao.storageSlot.toString(), noteIndex);
140
+ void __classPrivateFieldGet(this, _KVPxeDatabase_notesByTxHashAndScope, "f").get(scope.toString()).set(dao.txHash.toString(), noteIndex);
141
+ void __classPrivateFieldGet(this, _KVPxeDatabase_notesByIvpkMAndScope, "f").get(scope.toString()).set(dao.ivpkM.toString(), noteIndex);
131
142
  }
132
143
  for (const dao of outgoingNotes) {
133
144
  const noteIndex = toBufferBE(dao.index, 32).toString('hex');
@@ -188,16 +199,25 @@ export class KVPxeDatabase {
188
199
  : undefined;
189
200
  filter.status = filter.status ?? NoteStatus.ACTIVE;
190
201
  const candidateNoteSources = [];
191
- candidateNoteSources.push({
192
- ids: publicKey
193
- ? __classPrivateFieldGet(this, _KVPxeDatabase_notesByIvpkM, "f").getValues(publicKey.toString())
202
+ filter.scopes ?? (filter.scopes = [...__classPrivateFieldGet(this, _KVPxeDatabase_scopes, "f").entries()].map(addressString => AztecAddress.fromString(addressString)));
203
+ const activeNoteIdsPerScope = [];
204
+ for (const scope of new Set(filter.scopes)) {
205
+ const formattedScopeString = scope.toString();
206
+ if (!__classPrivateFieldGet(this, _KVPxeDatabase_scopes, "f").has(formattedScopeString)) {
207
+ throw new Error('Trying to get incoming notes of an scope that is not in the PXE database');
208
+ }
209
+ activeNoteIdsPerScope.push(publicKey
210
+ ? __classPrivateFieldGet(this, _KVPxeDatabase_notesByIvpkMAndScope, "f").get(formattedScopeString).getValues(publicKey.toString())
194
211
  : filter.txHash
195
- ? __classPrivateFieldGet(this, _KVPxeDatabase_notesByTxHash, "f").getValues(filter.txHash.toString())
212
+ ? __classPrivateFieldGet(this, _KVPxeDatabase_notesByTxHashAndScope, "f").get(formattedScopeString).getValues(filter.txHash.toString())
196
213
  : filter.contractAddress
197
- ? __classPrivateFieldGet(this, _KVPxeDatabase_notesByContract, "f").getValues(filter.contractAddress.toString())
214
+ ? __classPrivateFieldGet(this, _KVPxeDatabase_notesByContractAndScope, "f").get(formattedScopeString).getValues(filter.contractAddress.toString())
198
215
  : filter.storageSlot
199
- ? __classPrivateFieldGet(this, _KVPxeDatabase_notesByStorageSlot, "f").getValues(filter.storageSlot.toString())
200
- : __classPrivateFieldGet(this, _KVPxeDatabase_notes, "f").keys(),
216
+ ? __classPrivateFieldGet(this, _KVPxeDatabase_notesByStorageSlotAndScope, "f").get(formattedScopeString).getValues(filter.storageSlot.toString())
217
+ : __classPrivateFieldGet(this, _KVPxeDatabase_notesByIvpkMAndScope, "f").get(formattedScopeString).values());
218
+ }
219
+ candidateNoteSources.push({
220
+ ids: new Set(activeNoteIdsPerScope.flatMap(iterableIterator => [...iterableIterator])),
201
221
  notes: __classPrivateFieldGet(this, _KVPxeDatabase_notes, "f"),
202
222
  });
203
223
  if (filter.status == NoteStatus.ACTIVE_OR_NULLIFIED) {
@@ -283,7 +303,7 @@ export class KVPxeDatabase {
283
303
  }
284
304
  return Promise.resolve(notes);
285
305
  }
286
- removeNullifiedNotes(nullifiers, account) {
306
+ removeNullifiedNotes(nullifiers, accountIvpkM) {
287
307
  if (nullifiers.length === 0) {
288
308
  return Promise.resolve([]);
289
309
  }
@@ -300,16 +320,18 @@ export class KVPxeDatabase {
300
320
  continue;
301
321
  }
302
322
  const note = IncomingNoteDao.fromBuffer(noteBuffer);
303
- if (!note.ivpkM.equals(account)) {
323
+ if (!note.ivpkM.equals(accountIvpkM)) {
304
324
  // tried to nullify someone else's note
305
325
  continue;
306
326
  }
307
327
  nullifiedNotes.push(note);
308
328
  void __classPrivateFieldGet(this, _KVPxeDatabase_notes, "f").delete(noteIndex);
309
- void __classPrivateFieldGet(this, _KVPxeDatabase_notesByIvpkM, "f").deleteValue(account.toString(), noteIndex);
310
- void __classPrivateFieldGet(this, _KVPxeDatabase_notesByTxHash, "f").deleteValue(note.txHash.toString(), noteIndex);
311
- void __classPrivateFieldGet(this, _KVPxeDatabase_notesByContract, "f").deleteValue(note.contractAddress.toString(), noteIndex);
312
- void __classPrivateFieldGet(this, _KVPxeDatabase_notesByStorageSlot, "f").deleteValue(note.storageSlot.toString(), noteIndex);
329
+ for (const scope in __classPrivateFieldGet(this, _KVPxeDatabase_scopes, "f").entries()) {
330
+ void __classPrivateFieldGet(this, _KVPxeDatabase_notesByIvpkMAndScope, "f").get(scope).deleteValue(accountIvpkM.toString(), noteIndex);
331
+ void __classPrivateFieldGet(this, _KVPxeDatabase_notesByTxHashAndScope, "f").get(scope).deleteValue(note.txHash.toString(), noteIndex);
332
+ void __classPrivateFieldGet(this, _KVPxeDatabase_notesByContractAndScope, "f").get(scope).deleteValue(note.contractAddress.toString(), noteIndex);
333
+ void __classPrivateFieldGet(this, _KVPxeDatabase_notesByStorageSlotAndScope, "f").get(scope).deleteValue(note.storageSlot.toString(), noteIndex);
334
+ }
313
335
  void __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotes, "f").set(noteIndex, note.toBuffer());
314
336
  void __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotesByContract, "f").set(note.contractAddress.toString(), noteIndex);
315
337
  void __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotesByStorageSlot, "f").set(note.storageSlot.toString(), noteIndex);
@@ -387,7 +409,18 @@ export class KVPxeDatabase {
387
409
  return incomingNotesSize + outgoingNotesSize + treeRootsSize + authWitsSize + addressesSize;
388
410
  }
389
411
  }
390
- _KVPxeDatabase_synchronizedBlock = new WeakMap(), _KVPxeDatabase_addresses = new WeakMap(), _KVPxeDatabase_addressIndex = new WeakMap(), _KVPxeDatabase_authWitnesses = new WeakMap(), _KVPxeDatabase_capsules = new WeakMap(), _KVPxeDatabase_notes = new WeakMap(), _KVPxeDatabase_nullifiedNotes = new WeakMap(), _KVPxeDatabase_nullifierToNoteId = new WeakMap(), _KVPxeDatabase_notesByContract = new WeakMap(), _KVPxeDatabase_notesByStorageSlot = new WeakMap(), _KVPxeDatabase_notesByTxHash = new WeakMap(), _KVPxeDatabase_notesByIvpkM = new WeakMap(), _KVPxeDatabase_nullifiedNotesByContract = new WeakMap(), _KVPxeDatabase_nullifiedNotesByStorageSlot = new WeakMap(), _KVPxeDatabase_nullifiedNotesByTxHash = new WeakMap(), _KVPxeDatabase_nullifiedNotesByIvpkM = new WeakMap(), _KVPxeDatabase_deferredNotes = new WeakMap(), _KVPxeDatabase_deferredNotesByContract = new WeakMap(), _KVPxeDatabase_syncedBlockPerPublicKey = new WeakMap(), _KVPxeDatabase_contractArtifacts = new WeakMap(), _KVPxeDatabase_contractInstances = new WeakMap(), _KVPxeDatabase_db = new WeakMap(), _KVPxeDatabase_outgoingNotes = new WeakMap(), _KVPxeDatabase_outgoingNotesByContract = new WeakMap(), _KVPxeDatabase_outgoingNotesByStorageSlot = new WeakMap(), _KVPxeDatabase_outgoingNotesByTxHash = new WeakMap(), _KVPxeDatabase_outgoingNotesByOvpkM = new WeakMap(), _KVPxeDatabase_instances = new WeakSet(), _KVPxeDatabase_getCompleteAddress = function _KVPxeDatabase_getCompleteAddress(address) {
412
+ _KVPxeDatabase_synchronizedBlock = new WeakMap(), _KVPxeDatabase_addresses = new WeakMap(), _KVPxeDatabase_addressIndex = new WeakMap(), _KVPxeDatabase_authWitnesses = new WeakMap(), _KVPxeDatabase_capsules = new WeakMap(), _KVPxeDatabase_notes = new WeakMap(), _KVPxeDatabase_nullifiedNotes = new WeakMap(), _KVPxeDatabase_nullifierToNoteId = new WeakMap(), _KVPxeDatabase_nullifiedNotesByContract = new WeakMap(), _KVPxeDatabase_nullifiedNotesByStorageSlot = new WeakMap(), _KVPxeDatabase_nullifiedNotesByTxHash = new WeakMap(), _KVPxeDatabase_nullifiedNotesByIvpkM = new WeakMap(), _KVPxeDatabase_deferredNotes = new WeakMap(), _KVPxeDatabase_deferredNotesByContract = new WeakMap(), _KVPxeDatabase_syncedBlockPerPublicKey = new WeakMap(), _KVPxeDatabase_contractArtifacts = new WeakMap(), _KVPxeDatabase_contractInstances = new WeakMap(), _KVPxeDatabase_db = new WeakMap(), _KVPxeDatabase_outgoingNotes = new WeakMap(), _KVPxeDatabase_outgoingNotesByContract = new WeakMap(), _KVPxeDatabase_outgoingNotesByStorageSlot = new WeakMap(), _KVPxeDatabase_outgoingNotesByTxHash = new WeakMap(), _KVPxeDatabase_outgoingNotesByOvpkM = new WeakMap(), _KVPxeDatabase_scopes = new WeakMap(), _KVPxeDatabase_notesByContractAndScope = new WeakMap(), _KVPxeDatabase_notesByStorageSlotAndScope = new WeakMap(), _KVPxeDatabase_notesByTxHashAndScope = new WeakMap(), _KVPxeDatabase_notesByIvpkMAndScope = new WeakMap(), _KVPxeDatabase_instances = new WeakSet(), _KVPxeDatabase_addScope = async function _KVPxeDatabase_addScope(scope) {
413
+ const scopeString = scope.toString();
414
+ if (__classPrivateFieldGet(this, _KVPxeDatabase_scopes, "f").has(scopeString)) {
415
+ return false;
416
+ }
417
+ await __classPrivateFieldGet(this, _KVPxeDatabase_scopes, "f").add(scopeString);
418
+ __classPrivateFieldGet(this, _KVPxeDatabase_notesByContractAndScope, "f").set(scopeString, __classPrivateFieldGet(this, _KVPxeDatabase_db, "f").openMultiMap(`${scopeString}:notes_by_contract`));
419
+ __classPrivateFieldGet(this, _KVPxeDatabase_notesByStorageSlotAndScope, "f").set(scopeString, __classPrivateFieldGet(this, _KVPxeDatabase_db, "f").openMultiMap(`${scopeString}:notes_by_storage_slot`));
420
+ __classPrivateFieldGet(this, _KVPxeDatabase_notesByTxHashAndScope, "f").set(scopeString, __classPrivateFieldGet(this, _KVPxeDatabase_db, "f").openMultiMap(`${scopeString}:notes_by_tx_hash`));
421
+ __classPrivateFieldGet(this, _KVPxeDatabase_notesByIvpkMAndScope, "f").set(scopeString, __classPrivateFieldGet(this, _KVPxeDatabase_db, "f").openMultiMap(`${scopeString}:notes_by_ivpk_m`));
422
+ return true;
423
+ }, _KVPxeDatabase_getCompleteAddress = function _KVPxeDatabase_getCompleteAddress(address) {
391
424
  const index = __classPrivateFieldGet(this, _KVPxeDatabase_addressIndex, "f").get(address.toString());
392
425
  if (typeof index === 'undefined') {
393
426
  return undefined;
@@ -395,4 +428,4 @@ _KVPxeDatabase_synchronizedBlock = new WeakMap(), _KVPxeDatabase_addresses = new
395
428
  const value = __classPrivateFieldGet(this, _KVPxeDatabase_addresses, "f").at(index);
396
429
  return value ? CompleteAddress.fromBuffer(value) : undefined;
397
430
  };
398
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ZfcHhlX2RhdGFiYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFiYXNlL2t2X3B4ZV9kYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFFTCxZQUFZLEVBQ1osVUFBVSxHQUdYLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxFQUFFLEVBQWMsTUFBTSwwQkFBMEIsQ0FBQztBQVExRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RixPQUFPLEVBQW9DLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHekQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQThCeEIsWUFBb0IsRUFBZ0I7O1FBQWhCLE9BQUUsR0FBRixFQUFFLENBQWM7UUE3QnBDLG1EQUEyQztRQUMzQywyQ0FBK0I7UUFDL0IsOENBQXdDO1FBQ3hDLCtDQUEyQztRQUMzQywwQ0FBZ0M7UUFDaEMsdUNBQWlDO1FBQ2pDLGdEQUEwQztRQUMxQyxtREFBNkM7UUFDN0MsaURBQWdEO1FBQ2hELG9EQUFtRDtRQUNuRCwrQ0FBOEM7UUFDOUMsOENBQTZDO1FBQzdDLDBEQUF5RDtRQUN6RCw2REFBNEQ7UUFDNUQsd0RBQXVEO1FBQ3ZELHVEQUFzRDtRQUN0RCwrQ0FBMEM7UUFDMUMseURBQXdEO1FBQ3hELHlEQUFtRDtRQUNuRCxt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
431
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ZfcHhlX2RhdGFiYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFiYXNlL2t2X3B4ZV9kYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFFTCxZQUFZLEVBQ1osVUFBVSxHQUdYLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxFQUFFLEVBQWMsTUFBTSwwQkFBMEIsQ0FBQztBQVMxRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RixPQUFPLEVBQW9DLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHekQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQWlDeEIsWUFBb0IsRUFBZ0I7O1FBQWhCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFoQ3BDLG1EQUEyQztRQUMzQywyQ0FBK0I7UUFDL0IsOENBQXdDO1FBQ3hDLCtDQUEyQztRQUMzQywwQ0FBZ0M7UUFDaEMsdUNBQWlDO1FBQ2pDLGdEQUEwQztRQUMxQyxtREFBNkM7UUFFN0MsMERBQXlEO1FBQ3pELDZEQUE0RDtRQUM1RCx3REFBdUQ7UUFDdkQsdURBQXNEO1FBQ3RELCtDQUEwQztRQUMxQyx5REFBd0Q7UUFDeEQseURBQW1EO1FBQ25ELG1EQUE2QztRQUM3QyxtREFBNkM7UUFDN0Msb0NBQWtCO1FBRWxCLCtDQUF5QztRQUN6Qyx5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
@@ -20,10 +20,10 @@ export declare class OutgoingNoteDao {
20
20
  /** The nonce of the note. */
21
21
  nonce: Fr;
22
22
  /**
23
- * Inner note hash of the note. This is customizable by the app circuit.
24
- * We can use this value to compute siloedNoteHash and uniqueSiloedNoteHash.
23
+ * A hash of the note. This is customizable by the app circuit.
24
+ * We can use this value to compute unique note hash and then siloed note hash.
25
25
  */
26
- innerNoteHash: Fr;
26
+ noteHash: Fr;
27
27
  /** The location of the relevant note in the note hash tree. */
28
28
  index: bigint;
29
29
  /** The public key with which the note was encrypted. */
@@ -42,10 +42,10 @@ export declare class OutgoingNoteDao {
42
42
  /** The nonce of the note. */
43
43
  nonce: Fr,
44
44
  /**
45
- * Inner note hash of the note. This is customizable by the app circuit.
46
- * We can use this value to compute siloedNoteHash and uniqueSiloedNoteHash.
45
+ * A hash of the note. This is customizable by the app circuit.
46
+ * We can use this value to compute unique note hash and then siloed note hash.
47
47
  */
48
- innerNoteHash: Fr,
48
+ noteHash: Fr,
49
49
  /** The location of the relevant note in the note hash tree. */
50
50
  index: bigint,
51
51
  /** The public key with which the note was encrypted. */